From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 14/24] radeon: moved HDMI color depth programming to a separate function Date: Tue, 13 Jan 2015 12:46:43 -0500 Message-ID: <1421171213-23977-15-git-send-email-alexander.deucher@amd.com> References: <1421171213-23977-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qa0-f42.google.com (mail-qa0-f42.google.com [209.85.216.42]) by gabe.freedesktop.org (Postfix) with ESMTP id 4C89E6E65A for ; Tue, 13 Jan 2015 09:47:10 -0800 (PST) Received: by mail-qa0-f42.google.com with SMTP id dc16so3149714qab.1 for ; Tue, 13 Jan 2015 09:47:09 -0800 (PST) In-Reply-To: <1421171213-23977-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Alex Deucher , slava.grigorev@amd.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogU2xhdmEgR3JpZ29yZXYgPHNsYXZhLmdyaWdvcmV2QGFtZC5jb20+CgpTaWduZWQtb2Zm LWJ5OiBTbGF2YSBHcmlnb3JldiA8c2xhdmEuZ3JpZ29yZXZAYW1kLmNvbT4KU2lnbmVkLW9mZi1i eTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQuYyAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9y YWRlb24vZXZlcmdyZWVuX2hkbWkuYyB8IDY5ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2hkbWkuYyAgICAgIHwgIDEgKwogZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyAgIHwgMjIgKysrKysrKysrKysKIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmggICB8ICAyICsKIDUgZmlsZXMgY2hh bmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9kY2UzXzFfYWZtdC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9kY2UzXzFfYWZtdC5jCmluZGV4IDczYWY1MTguLmYxMWNjMTUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL2RjZTNfMV9hZm10LmMKQEAgLTIzMCw2ICsyMzAsOCBAQCB2b2lkIGRjZTNfMV9oZG1pX3Nl dG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbQogCiAJV1JFRzMyKEhETUkwX0FVRElPX0NSQ19DT05UUk9MICsgb2Zmc2V0LCAweDEwMDAp OwogCisJcmFkZW9uX2hkbWlfc2V0X2NvbG9yX2RlcHRoKGVuY29kZXIpOworCiAJaWYgKEFTSUNf SVNfRENFMzIocmRldikpIHsKIAkJV1JFRzMyKEhETUkwX0FVRElPX1BBQ0tFVF9DT05UUk9MICsg b2Zmc2V0LAogCQkgICAgICAgSERNSTBfQVVESU9fREVMQVlfRU4oMSkgfCAvKiBkZWZhdWx0IGF1 ZGlvIGRlbGF5ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVl bl9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9oZG1pLmMKaW5kZXgg NWZmZmVjYy4uZDIxMzQ0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVy Z3JlZW5faGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuX2hkbWku YwpAQCAtMzAwLDQ1ICszMDAsMTIgQEAgdm9pZCBkY2U0X3NldF92YmlfcGFja2V0KHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwgdTMyIG9mZnNldCkKIAkJSERNSV9HQ19DT05UKTsJCS8qIHNl bmQgZ2VuZXJhbCBjb250cm9sIHBhY2tldHMgZXZlcnkgZnJhbWUgKi8KIH0KIAotLyoKLSAqIHVw ZGF0ZSB0aGUgaW5mbyBmcmFtZXMgd2l0aCB0aGUgZGF0YSBmcm9tIHRoZSBjdXJyZW50IGRpc3Bs YXkgbW9kZQotICovCi12b2lkIGV2ZXJncmVlbl9oZG1pX3NldG1vZGUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKK3ZvaWQgZGNlNF9o ZG1pX3NldF9jb2xvcl9kZXB0aChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHUzMiBvZmZz ZXQsIGludCBicGMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsK IAlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0 IHJhZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2RlciA9IHRvX3JhZGVvbl9lbmNvZGVyKGVuY29k ZXIpOwotCXN0cnVjdCByYWRlb25fZW5jb2Rlcl9hdG9tX2RpZyAqZGlnID0gcmFkZW9uX2VuY29k ZXItPmVuY19wcml2OwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSByYWRlb25f Z2V0X2Nvbm5lY3Rvcl9mb3JfZW5jb2RlcihlbmNvZGVyKTsKLQl1OCBidWZmZXJbSERNSV9JTkZP RlJBTUVfSEVBREVSX1NJWkUgKyBIRE1JX0FWSV9JTkZPRlJBTUVfU0laRV07Ci0Jc3RydWN0IGhk bWlfYXZpX2luZm9mcmFtZSBmcmFtZTsKLQl1aW50MzJfdCBvZmZzZXQ7Ci0Jc3NpemVfdCBlcnI7 CiAJdWludDMyX3QgdmFsOwotCWludCBicGMgPSA4OwotCi0JaWYgKCFkaWcgfHwgIWRpZy0+YWZt dCkKLQkJcmV0dXJuOwotCi0JLyogU2lsZW50LCByNjAwX2hkbWlfZW5hYmxlIHdpbGwgcmFpc2Ug V0FSTiBmb3IgdXMgKi8KLQlpZiAoIWRpZy0+YWZtdC0+ZW5hYmxlZCkKLQkJcmV0dXJuOwotCW9m ZnNldCA9IGRpZy0+YWZtdC0+b2Zmc2V0OwotCi0JLyogaGRtaSBkZWVwIGNvbG9yIG1vZGUgZ2Vu ZXJhbCBjb250cm9sIHBhY2tldHMgc2V0dXAsIGlmIGJwYyA+IDggKi8KLQlpZiAoZW5jb2Rlci0+ Y3J0YykgewotCQlzdHJ1Y3QgcmFkZW9uX2NydGMgKnJhZGVvbl9jcnRjID0gdG9fcmFkZW9uX2Ny dGMoZW5jb2Rlci0+Y3J0Yyk7Ci0JCWJwYyA9IHJhZGVvbl9jcnRjLT5icGM7Ci0JfQotCi0JLyog ZGlzYWJsZSBhdWRpbyBwcmlvciB0byBzZXR0aW5nIHVwIGh3ICovCi0JZGlnLT5hZm10LT5waW4g PSByYWRlb25fYXVkaW9fZ2V0X3BpbihlbmNvZGVyKTsKLQlyYWRlb25fYXVkaW9fZW5hYmxlKHJk ZXYsIGRpZy0+YWZtdC0+cGluLCAwKTsKLQotCXJhZGVvbl9hdWRpb19zZXRfZHRvKGVuY29kZXIs IG1vZGUtPmNsb2NrKTsKLQlyYWRlb25fYXVkaW9fc2V0X3ZiaV9wYWNrZXQoZW5jb2Rlcik7Ci0K LQlXUkVHMzIoQUZNVF9BVURJT19DUkNfQ09OVFJPTCArIG9mZnNldCwgMHgxMDAwKTsKIAogCXZh bCA9IFJSRUczMihIRE1JX0NPTlRST0wgKyBvZmZzZXQpOwogCXZhbCAmPSB+SERNSV9ERUVQX0NP TE9SX0VOQUJMRTsKQEAgLTM2OCw2ICszMzUsNDAgQEAgdm9pZCBldmVyZ3JlZW5faGRtaV9zZXRt b2RlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUK IAl9CiAKIAlXUkVHMzIoSERNSV9DT05UUk9MICsgb2Zmc2V0LCB2YWwpOworfQorCisvKgorICog dXBkYXRlIHRoZSBpbmZvIGZyYW1lcyB3aXRoIHRoZSBkYXRhIGZyb20gdGhlIGN1cnJlbnQgZGlz cGxheSBtb2RlCisgKi8KK3ZvaWQgZXZlcmdyZWVuX2hkbWlfc2V0bW9kZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQoreworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7CisJc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCByYWRlb25fZW5jb2RlciAqcmFkZW9u X2VuY29kZXIgPSB0b19yYWRlb25fZW5jb2RlcihlbmNvZGVyKTsKKwlzdHJ1Y3QgcmFkZW9uX2Vu Y29kZXJfYXRvbV9kaWcgKmRpZyA9IHJhZGVvbl9lbmNvZGVyLT5lbmNfcHJpdjsKKwl1OCBidWZm ZXJbSERNSV9JTkZPRlJBTUVfSEVBREVSX1NJWkUgKyBIRE1JX0FWSV9JTkZPRlJBTUVfU0laRV07 CisJc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSBmcmFtZTsKKwl1aW50MzJfdCBvZmZzZXQ7CisJ c3NpemVfdCBlcnI7CisKKwlpZiAoIWRpZyB8fCAhZGlnLT5hZm10KQorCQlyZXR1cm47CisKKwkv KiBTaWxlbnQsIHI2MDBfaGRtaV9lbmFibGUgd2lsbCByYWlzZSBXQVJOIGZvciB1cyAqLworCWlm ICghZGlnLT5hZm10LT5lbmFibGVkKQorCQlyZXR1cm47CisJb2Zmc2V0ID0gZGlnLT5hZm10LT5v ZmZzZXQ7CisKKwkvKiBkaXNhYmxlIGF1ZGlvIHByaW9yIHRvIHNldHRpbmcgdXAgaHcgKi8KKwlk aWctPmFmbXQtPnBpbiA9IHJhZGVvbl9hdWRpb19nZXRfcGluKGVuY29kZXIpOworCXJhZGVvbl9h dWRpb19lbmFibGUocmRldiwgZGlnLT5hZm10LT5waW4sIDApOworCisJcmFkZW9uX2F1ZGlvX3Nl dF9kdG8oZW5jb2RlciwgbW9kZS0+Y2xvY2spOworCXJhZGVvbl9hdWRpb19zZXRfdmJpX3BhY2tl dChlbmNvZGVyKTsKKworCVdSRUczMihBRk1UX0FVRElPX0NSQ19DT05UUk9MICsgb2Zmc2V0LCAw eDEwMDApOworCisJcmFkZW9uX2hkbWlfc2V0X2NvbG9yX2RlcHRoKGVuY29kZXIpOwogCiAJV1JF RzMyKEhETUlfSU5GT0ZSQU1FX0NPTlRST0wwICsgb2Zmc2V0LAogCSAgICAgICBIRE1JX0FVRElP X0lORk9fU0VORCB8IC8qIGVuYWJsZSBhdWRpbyBpbmZvIGZyYW1lcyAoZnJhbWVzIHdvbid0IGJl IHNldCB1bnRpbCBhdWRpbyBpcyBlbmFibGVkKSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yNjAwX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMF9oZG1p LmMKaW5kZXggN2RiN2U4OS4uODAzNjQxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yNjAwX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfaGRtaS5j CkBAIC0zNjgsNiArMzY4LDcgQEAgdm9pZCByNjAwX2hkbWlfc2V0bW9kZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2QKIAogCXJhZGVvbl9h dWRpb19zZXRfZHRvKGVuY29kZXIsIG1vZGUtPmNsb2NrKTsKIAlyYWRlb25fYXVkaW9fc2V0X3Zi aV9wYWNrZXQoZW5jb2Rlcik7CisJcmFkZW9uX2hkbWlfc2V0X2NvbG9yX2RlcHRoKGVuY29kZXIp OwogCiAJV1JFRzMyX1AoSERNSTBfQVVESU9fUEFDS0VUX0NPTlRST0wgKyBvZmZzZXQsCiAJCSBI RE1JMF9BVURJT19TQU1QTEVfU0VORCB8IC8qIHNlbmQgYXVkaW8gcGFja2V0cyAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKaW5kZXggOGE4Zjk4Yy4uYTdkMWJiZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCkBAIC04Nyw2ICs4Nyw4IEBAIHZvaWQgZXZl cmdyZWVuX2hkbWlfdXBkYXRlX2FjcihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIGxvbmcg b2Zmc2V0LAogCWNvbnN0IHN0cnVjdCByYWRlb25faGRtaV9hY3IgKmFjcik7CiB2b2lkIHI2MDBf c2V0X3ZiaV9wYWNrZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCB1MzIgb2Zmc2V0KTsK IHZvaWQgZGNlNF9zZXRfdmJpX3BhY2tldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHUz MiBvZmZzZXQpOwordm9pZCBkY2U0X2hkbWlfc2V0X2NvbG9yX2RlcHRoKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKKwl1MzIgb2Zmc2V0LCBpbnQgYnBjKTsKIAogc3RhdGljIGNvbnN0IHUz MiBwaW5fb2Zmc2V0c1s3XSA9CiB7CkBAIC0xNjksNiArMTcxLDcgQEAgc3RhdGljIHN0cnVjdCBy YWRlb25fYXVkaW9fZnVuY3MgZGNlNF9oZG1pX2Z1bmNzID0gewogCS5zZXRfZHRvID0gZGNlNF9o ZG1pX2F1ZGlvX3NldF9kdG8sCiAJLnVwZGF0ZV9hY3IgPSBldmVyZ3JlZW5faGRtaV91cGRhdGVf YWNyLAogCS5zZXRfdmJpX3BhY2tldCA9IGRjZTRfc2V0X3ZiaV9wYWNrZXQsCisJLnNldF9jb2xv cl9kZXB0aCA9IGRjZTRfaGRtaV9zZXRfY29sb3JfZGVwdGgsCiB9OwogCiBzdGF0aWMgc3RydWN0 IHJhZGVvbl9hdWRpb19mdW5jcyBkY2U0X2RwX2Z1bmNzID0gewpAQCAtMTg3LDYgKzE5MCw3IEBA IHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTZfaGRtaV9mdW5jcyA9IHsKIAku d3JpdGVfbGF0ZW5jeV9maWVsZHMgPSBkY2U2X2FmbXRfd3JpdGVfbGF0ZW5jeV9maWVsZHMsCiAJ LnNldF9kdG8gPSBkY2U2X2hkbWlfYXVkaW9fc2V0X2R0bywKIAkuc2V0X3ZiaV9wYWNrZXQgPSBk Y2U0X3NldF92YmlfcGFja2V0LAorCS5zZXRfY29sb3JfZGVwdGggPSBkY2U0X2hkbWlfc2V0X2Nv bG9yX2RlcHRoLAogfTsKIAogc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNl9k cF9mdW5jcyA9IHsKQEAgLTU3MywzICs1NzcsMjEgQEAgdm9pZCByYWRlb25fYXVkaW9fc2V0X3Zi aV9wYWNrZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCWlmIChyYWRlb25fZW5jb2Rl ci0+YXVkaW8gJiYgcmFkZW9uX2VuY29kZXItPmF1ZGlvLT5zZXRfdmJpX3BhY2tldCkKIAkJcmFk ZW9uX2VuY29kZXItPmF1ZGlvLT5zZXRfdmJpX3BhY2tldChlbmNvZGVyLCBkaWctPmFmbXQtPm9m ZnNldCk7CiB9CisKK3ZvaWQgcmFkZW9uX2hkbWlfc2V0X2NvbG9yX2RlcHRoKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKK3sKKwlpbnQgYnBjID0gODsKKwlzdHJ1Y3QgcmFkZW9uX2VuY29k ZXIgKnJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29kZXIoZW5jb2Rlcik7CisJc3RydWN0 IHJhZGVvbl9lbmNvZGVyX2F0b21fZGlnICpkaWcgPSByYWRlb25fZW5jb2Rlci0+ZW5jX3ByaXY7 CisKKwlpZiAoIWRpZyB8fCAhZGlnLT5hZm10KQorCQlyZXR1cm47CisKKwlpZiAoZW5jb2Rlci0+ Y3J0YykgeworCQlzdHJ1Y3QgcmFkZW9uX2NydGMgKnJhZGVvbl9jcnRjID0gdG9fcmFkZW9uX2Ny dGMoZW5jb2Rlci0+Y3J0Yyk7CisJCWJwYyA9IHJhZGVvbl9jcnRjLT5icGM7CisJfQorCisJaWYg KHJhZGVvbl9lbmNvZGVyLT5hdWRpbyAmJiByYWRlb25fZW5jb2Rlci0+YXVkaW8tPnNldF9jb2xv cl9kZXB0aCkKKwkJcmFkZW9uX2VuY29kZXItPmF1ZGlvLT5zZXRfY29sb3JfZGVwdGgoZW5jb2Rl ciwgZGlnLT5hZm10LT5vZmZzZXQsIGJwYyk7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9hdWRpby5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f YXVkaW8uaAppbmRleCA3Y2RiZDdmLi5mMTc5ZTU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9hdWRpby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2F1ZGlvLmgKQEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcwog CXZvaWQgKCp1cGRhdGVfYWNyKShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIGxvbmcgb2Zm c2V0LAogCQljb25zdCBzdHJ1Y3QgcmFkZW9uX2hkbWlfYWNyICphY3IpOwogCXZvaWQgKCpzZXRf dmJpX3BhY2tldCkoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCB1MzIgb2Zmc2V0KTsKKwl2 b2lkICgqc2V0X2NvbG9yX2RlcHRoKShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHUzMiBv ZmZzZXQsIGludCBicGMpOwogfTsKIAogaW50IHJhZGVvbl9hdWRpb19pbml0KHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2KTsKQEAgLTgxLDUgKzgyLDYgQEAgdm9pZCByYWRlb25fdXBkYXRlX2F2 aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCB2b2lkICpidWZmZXIsCiAJ c2l6ZV90IHNpemUpOwogdm9pZCByYWRlb25fYXVkaW9fdXBkYXRlX2FjcihzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsIHVuc2lnbmVkIGludCBjbG9jayk7CiB2b2lkIHJhZGVvbl9hdWRpb19z ZXRfdmJpX3BhY2tldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwordm9pZCByYWRlb25f aGRtaV9zZXRfY29sb3JfZGVwdGgoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKTsKIAogI2Vu ZGlmCi0tIAoxLjguMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=