From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v8 4/6] drm/edid: detect SCDC support in HF-VSDB Date: Wed, 8 Mar 2017 19:07:47 +0530 Message-ID: <1488980269-13046-5-git-send-email-shashank.sharma@intel.com> References: <1488980269-13046-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1488980269-13046-1-git-send-email-shashank.sharma@intel.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, intel-gfx@lists.freedesktop.org, ander.conselvan.de.oliveira@intel.com, ville.syrjala@linux.intel.com Cc: jose.abreu@synopsys.com, daniel.vetter@intel.com, treding@nvidia.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBkb2VzIGZvbGxvd2luZzoKLSBBZGRzIGEgbmV3IHN0cnVjdHVyZSAoZHJtX2hk bWlfaW5mbykgaW4gZHJtX2Rpc3BsYXlfaW5mby4KICBUaGlzIHN0cnVjdHVyZSB3aWxsIGJlIHVz ZWQgdG8gc2F2ZSBhbmQgaW5kaWNhdGUgaWYgc2luawogIHN1cHBvcnRzIGFkdmFuY2VkIEhETUkg Mi4wIGZlYXR1cmVzCi0gQWRkcyBhbm90aGVyIHN0cnVjdHVyZSBkcm1fc2NkYyB3aXRoaW4gZHJt X2hkbWlfaW5mbywgdG8KICByZWZsZWN0IHNjZGMgc3VwcG9ydCBhbmQgY2FwYWJpbGl0aWVzIGlu IGNvbm5lY3RlZCBIRE1JIDIuMCBzaW5rLgotIENoZWNrcyB0aGUgSEYtVlNEQiBibG9jayBmb3Ig cHJlc2VuY2Ugb2YgU0NEQywgYW5kIG1hcmtzIGl0CiAgaW4gc2NkYyBzdHJ1Y3R1cmUKLSBJZiBT Q0RDIGlzIHByZXNlbnQsIGNoZWNrcyBpZiBzaW5rIGlzIGNhcGFibGUgb2YgZ2VuZXJhdGluZwog IFNDREMgcmVhZCByZXF1ZXN0LCBhbmQgbWFya3MgaXQgaW4gc2NkYyBzdHJ1Y3R1cmUuCgpWMjog QWRkcmVzc2VkIHJldmlldyBjb21tZW50cwogIFRoaWVycnk6CiAgLSBGaXggdHlwb3MgaW4gY29t bWl0IG1lc3NhZ2UgYW5kIG1ha2UgYWJicmV2aWF0aW9uIGNvbnNpc3RlbnQKICAgIGFjcm9zcyB0 aGUgY29tbWl0IG1lc3NhZ2UuCiAgLSBDaGFuZ2Ugc3RydWN0dXJlIG9iamVjdCBuYW1lIGZyb20g aGRtaV9pbmZvIC0+IGhkbWkKICAtIEZpeCB0eXBvcyBhbmQgYWJicmV2aWF0aW9ucyBpbiBkZXNj cmlwdGlvbiBvZiBzdHJ1Y3R1cmUgZHJtX2hkbWlfaW5mbwogICAgZW5kIHRoZSBkZXNjcmlwdGlv biB3aXRoIGEgZnVsbCBzdG9wLgogIC0gQ3JlYXRlIGEgc3RydWN0dXJlIGRybV9zY2RjLCBhbmQg a2VlcCBhbGwgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBTQ0RDCiAgICByZWdpc3RlciBzZXQgKHN1 cHBvcnRlZCwgcmVhZCByZXF1ZXN0IHN1cHBvcnRlZCkgZXRjIGluIGl0LgoKICBWaWxsZToKICAt IENoYW5nZSByciAtPiByZWFkX3JlcXVlc3QKICAtIENhbGwgZHJtX2RldGVjdF9zY3JhbWJsaW5n IGZ1bmN0aW9uIGRybV9wYXJzZV9oZl92c2RiIHNvIHRoYXQgYWxsCiAgICBvZiBIRi1WU0RCIHBh cnNpbmcgY2FuIGJlIGtlcHQgaW4gc2FtZSBmdW5jdGlvbiwgaW4gaW5jcmVtZW50YWwKICAgIHBh dGNoZXMuCgpWMzogUmViYXNlLgpWNDogUmViYXNlLgpWNTogUmViYXNlLgpWNjogQWRkcmVzc2Vk IHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlCiAgLSBBZGQgY2xvY2sgcmF0ZSBjYWxjdWxhdGlv bnMgZm9yIDEvMTAgYW5kIDEvNDAgcmF0aW9zCiAgLSBSZW1vdmUgbGVmdG92ZXJzIGZyb20gb2xk IHBhdGNoc2V0ClY3OiBBZGRlZCBSLUIgZnJvbSBKb3NlLgpWODogUmViYXNlLgoKU2lnbmVkLW9m Zi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgpSZXZpZXdl ZC1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KUmV2aWV3ZWQtYnk6IEpv c2UgQWJyZXUgPGpvYWJyZXVAc3lub3BzeXMuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1f ZWRpZC5jICAgICAgICB8ICAzMyArKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2RybV9zY2Rj X2hlbHBlci5jIHwgMTIxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBp bmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgfCAgMTkgKysrKysrCiBpbmNsdWRlL2Ry bS9kcm1fZWRpZC5oICAgICAgICAgICAgfCAgIDEgLQogaW5jbHVkZS9kcm0vZHJtX3NjZGNfaGVs cGVyLmggICAgIHwgIDI3ICsrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Vk aWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCmluZGV4IGQ2NGI3YmQuLmZhZDNkNDQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZWRpZC5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9lZGlk Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9lbmNvZGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9kaXNw bGF5aWQuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX3NjZGNfaGVscGVyLmg+CiAKICNpbmNsdWRlICJk cm1fY3J0Y19pbnRlcm5hbC5oIgogCkBAIC0zODIwLDEzICszODIxLDQzIEBAIGVudW0gaGRtaV9x dWFudGl6YXRpb25fcmFuZ2UKIHN0YXRpYyB2b2lkIGRybV9wYXJzZV9oZG1pX2ZvcnVtX3ZzZGIo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgY29uc3QgdTggKmhmX3ZzZGIp CiB7Ci0Jc3RydWN0IGRybV9oZG1pX2luZm8gKmhkbWkgPSAmY29ubmVjdG9yLT5kaXNwbGF5X2lu Zm8uaGRtaTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqZGlzcGxheSA9ICZjb25uZWN0b3It PmRpc3BsYXlfaW5mbzsKKwlzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaSA9ICZkaXNwbGF5LT5o ZG1pOwogCiAJaWYgKGhmX3ZzZGJbNl0gJiAweDgwKSB7CiAJCWhkbWktPnNjZGMuc3VwcG9ydGVk ID0gdHJ1ZTsKIAkJaWYgKGhmX3ZzZGJbNl0gJiAweDQwKQogCQkJaGRtaS0+c2NkYy5yZWFkX3Jl cXVlc3QgPSB0cnVlOwogCX0KKworCS8qCisJICogQWxsIEhETUkgMi4wIG1vbml0b3JzIG11c3Qg c3VwcG9ydCBzY3JhbWJsaW5nIGF0IHJhdGVzID4gMzQwIE1Iei4KKwkgKiBBbmQgYXMgcGVyIHRo ZSBzcGVjLCB0aHJlZSBmYWN0b3JzIGNvbmZpcm0gdGhpczoKKwkgKiAqIEF2YWlsYWJpbGl0eSBv ZiBhIEhGLVZTREIgYmxvY2sgaW4gRURJRCAoY2hlY2spCisJICogKiBOb24gemVybyBNYXhfVE1E U19DaGFyX1JhdGUgZmlsZWQgaW4gSEYtVlNEQiAobGV0J3MgY2hlY2spCisJICogKiBTQ0RDIHN1 cHBvcnQgYXZhaWxhYmxlIChsZXQncyBjaGVjaykKKwkgKiBMZXRzIGNoZWNrIGl0IG91dC4KKwkg Ki8KKworCWlmIChoZl92c2RiWzVdKSB7CisJCS8qIG1heCBjbG9jayBpcyA1MDAwIEtIeiB0aW1l cyBibG9jayB2YWx1ZSAqLworCQl1MzIgbWF4X3RtZHNfY2xvY2sgPSBoZl92c2RiWzVdICogNTAw MDsKKwkJc3RydWN0IGRybV9zY2RjICpzY2RjID0gJmhkbWktPnNjZGM7CisKKwkJaWYgKG1heF90 bWRzX2Nsb2NrID4gMzQwMDAwKSB7CisJCQlkaXNwbGF5LT5tYXhfdG1kc19jbG9jayA9IG1heF90 bWRzX2Nsb2NrOworCQkJRFJNX0RFQlVHX0tNUygiSEYtVlNEQjogbWF4IFRNRFMgY2xvY2sgJWQg a0h6XG4iLAorCQkJCWRpc3BsYXktPm1heF90bWRzX2Nsb2NrKTsKKwkJfQorCisJCWlmIChzY2Rj LT5zdXBwb3J0ZWQpIHsKKwkJCXNjZGMtPnNjcmFtYmxpbmcuc3VwcG9ydGVkID0gdHJ1ZTsKKwor CQkJLyogRmV3IHNpbmtzIHN1cHBvcnQgc2NyYW1ibGluZyBmb3IgY2xva3MgPCAzNDBNICovCisJ CQlpZiAoKGhmX3ZzZGJbNl0gJiAweDgpKQorCQkJCXNjZGMtPnNjcmFtYmxpbmcubG93X3JhdGVz ID0gdHJ1ZTsKKwkJfQorCX0KIH0KIAogc3RhdGljIHZvaWQgZHJtX3BhcnNlX2hkbWlfZGVlcF9j b2xvcl9pbmZvKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX3NjZGNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Nj ZGNfaGVscGVyLmMKaW5kZXggYzJkZDMzZi4uM2NkOTZhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9zY2RjX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2NkY19o ZWxwZXIuYwpAQCAtMjIsOCArMjIsMTAgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5o PgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAKICNpbmNsdWRlIDxkcm0vZHJtX3NjZGNfaGVs cGVyLmg+CisjaW5jbHVkZSA8ZHJtL2RybVAuaD4KIAogLyoqCiAgKiBET0M6IHNjZGMgaGVscGVy cwpAQCAtMTIxLDMgKzEyMywxMjIgQEAgc3NpemVfdCBkcm1fc2NkY193cml0ZShzdHJ1Y3QgaTJj X2FkYXB0ZXIgKmFkYXB0ZXIsIHU4IG9mZnNldCwKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1C T0woZHJtX3NjZGNfd3JpdGUpOworCisvKioKKyAqIGRybV9zY2RjX2NoZWNrX3NjcmFtYmxpbmdf c3RhdHVzIC0gd2hhdCBpcyBzdGF0dXMgb2Ygc2NyYW1ibGluZz8KKyAqIEBhZGFwdGVyOiBJMkMg YWRhcHRlciBmb3IgRERDIGNoYW5uZWwKKyAqCisgKiBSZWFkcyB0aGUgc2NyYW1ibGVyIHN0YXR1 cyBvdmVyIFNDREMsIGFuZCBjaGVja3MgdGhlCisgKiBzY3JhbWJsaW5nIHN0YXR1cy4KKyAqCisg KiBSZXR1cm5zOgorICogVHJ1ZSBpZiB0aGUgc2NyYW1ibGluZyBpcyBlbmFibGVkLCBmYWxzZSBv dGhlcndpc2UuCisgKi8KKworYm9vbCBkcm1fc2NkY19nZXRfc2NyYW1ibGluZ19zdGF0dXMoc3Ry dWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQoreworCXU4IHN0YXR1czsKKwlpbnQgcmV0OworCisJ cmV0ID0gZHJtX3NjZGNfcmVhZGIoYWRhcHRlciwgU0NEQ19TQ1JBTUJMRVJfU1RBVFVTLCAmc3Rh dHVzKTsKKwlpZiAocmV0IDwgMCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byByZWFkIHNjcmFt Ymxpbmcgc3RhdHVzLCBlcnJvciAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwor CXJldHVybiBzdGF0dXMgJiBTQ0RDX1NDUkFNQkxJTkdfU1RBVFVTOworfQorRVhQT1JUX1NZTUJP TChkcm1fc2NkY19nZXRfc2NyYW1ibGluZ19zdGF0dXMpOworCisvKioKKyAqIGRybV9zY2RjX3Nl dF9zY3JhbWJsaW5nIC0gZW5hYmxlIHNjcmFtYmxpbmcKKyAqIEBhZGFwdGVyOiBJMkMgYWRhcHRl ciBmb3IgRERDIGNoYW5uZWwKKyAqIEBlbmFibGU6IGJvb2wgdG8gaW5kaWNhdGUgaWYgc2NyYW1i bGluZyBpcyB0byBiZSBlbmFibGVkL2Rpc2FibGVkCisgKgorICogV3JpdGVzIHRoZSBUTURTIGNv bmZpZyByZWdpc3RlciBvdmVyIFNDREMgY2hhbm5lbCwgYW5kOgorICogZW5hYmxlcyBzY3JhbWJs aW5nIHdoZW4gZW5hYmxlID0gMQorICogZGlzYWJsZXMgc2NyYW1ibGluZyB3aGVuIGVuYWJsZSA9 IDAKKyAqCisgKiBSZXR1cm5zOgorICogVHJ1ZSBpZiBzY3JhbWJsaW5nIGlzIHNldC9yZXNldCBz dWNjZXNzZnVsbHksIGZhbHNlIG90aGVyd2lzZS4KKyAqLworCitib29sIGRybV9zY2RjX3NldF9z Y3JhbWJsaW5nKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBlbmFibGUpCit7CisJ dTggY29uZmlnOworCWludCByZXQ7CisKKwlyZXQgPSBkcm1fc2NkY19yZWFkYihhZGFwdGVyLCBT Q0RDX1RNRFNfQ09ORklHLCAmY29uZmlnKTsKKwlpZiAocmV0IDwgMCkgeworCQlEUk1fRVJST1Io IkZhaWxlZCB0byByZWFkIHRtZHMgY29uZmlnLCBlcnI9JWRcbiIsIHJldCk7CisJCXJldHVybiBm YWxzZTsKKwl9CisKKwlpZiAoZW5hYmxlKQorCQljb25maWcgfD0gU0NEQ19TQ1JBTUJMSU5HX0VO QUJMRTsKKwllbHNlCisJCWNvbmZpZyAmPSB+U0NEQ19TQ1JBTUJMSU5HX0VOQUJMRTsKKworCXJl dCA9IGRybV9zY2RjX3dyaXRlYihhZGFwdGVyLCBTQ0RDX1RNRFNfQ09ORklHLCBjb25maWcpOwor CWlmIChyZXQgPCAwKSB7CisJCURSTV9FUlJPUigiRmFpbGVkIHRvIGVuYWJsZSBzY3JhbWJsaW5n LCBlcnJvciAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJldHVybiB0cnVl OworfQorRVhQT1JUX1NZTUJPTChkcm1fc2NkY19zZXRfc2NyYW1ibGluZyk7CisKKy8qKgorICog ZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9ja19yYXRpbyAtIHNldCBUTURTIGNsb2NrIHJhdGlv CisgKiBAYWRhcHRlcjogSTJDIGFkYXB0ZXIgZm9yIEREQyBjaGFubmVsCisgKiBAc2V0OiByZXQg b3IgcmVzZXQgdGhlIGhpZ2ggY2xvY2sgcmF0aW8KKyAqCisgKiBUTURTIGNsb2NrIHJhdGlvIGNh bGN1bGF0aW9ucyBnbyBsaWtlIHRoaXM6CisgKiBUTURTIGNoYXJhY3RlciA9IDEwIGJpdCBUTURT IGVuY29kZWQgdmFsdWUKKyAqIFRNRFMgY2hhcmFjdGVyIHJhdGUgPSBUaGUgcmF0ZSBhdCB3aGlj aCBUTURTIGNoYXJhY3RlcnMgYXJlIHRyYW5zbWl0dGVkKE1jc2MpCisgKiBUTURTIGJpdCByYXRl ID0gMTB4IFRNRFMgY2hhcmFjdGVyIHJhdGUKKyAqIEFzIHBlciB0aGUgc3BlYzoKKyAqIFRNRFMg Y2xvY2sgcmF0ZSBmb3IgcGl4ZWwgY2xvY2sgPCAzNDAgTUh6ID0gMXggdGhlIGNoYXJhY3RlciBy YXRlCisgKgk9IDEvMTAgcGl4ZWwgY2xvY2sgcmF0ZQorICogVE1EUyBjbG9jayByYXRlIGZvciBw aXhlbCBjbG9jayA+IDM0MCBNSHogPSAwLjI1eCB0aGUgY2hhcmFjdGVyIHJhdGUKKyAqCT0gMS80 MCBwaXhlbCBjbG9jayByYXRlCisgKgorICogV3JpdGVzIHRvIHRoZSBUTURTIGNvbmZpZyByZWdp c3RlciBvdmVyIFNDREMgY2hhbm5lbCwgYW5kOgorICogc2V0cyBUTURTIGNsb2NrIHJhdGlvIHRv IDEvNDAgd2hlbiBzZXQgPSAxCisgKiBzZXRzIFRNRFMgY2xvY2sgcmF0aW8gdG8gMS8xMCB3aGVu IHNldCA9IDAKKyAqCisgKiBSZXR1cm5zOgorICogVHJ1ZSBpZiB3cml0ZSBpcyBzdWNjZXNzZnVs LCBmYWxzZSBvdGhlcndpc2UuCisgKi8KK2Jvb2wgZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9j a19yYXRpbyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGJvb2wgc2V0KQoreworCXU4IGNv bmZpZzsKKwlpbnQgcmV0OworCisJcmV0ID0gZHJtX3NjZGNfcmVhZGIoYWRhcHRlciwgU0NEQ19U TURTX0NPTkZJRywgJmNvbmZpZyk7CisJaWYgKHJldCA8IDApIHsKKwkJRFJNX0VSUk9SKCJGYWls ZWQgdG8gcmVhZCB0bWRzIGNvbmZpZywgZXJyPSVkXG4iLCByZXQpOworCQlyZXR1cm4gZmFsc2U7 CisJfQorCisJaWYgKHNldCkKKwkJY29uZmlnIHw9IFNDRENfVE1EU19CSVRfQ0xPQ0tfUkFUSU9f QllfNDA7CisJZWxzZQorCQljb25maWcgJj0gflNDRENfVE1EU19CSVRfQ0xPQ0tfUkFUSU9fQllf NDA7CisKKwlyZXQgPSBkcm1fc2NkY193cml0ZWIoYWRhcHRlciwgU0NEQ19UTURTX0NPTkZJRywg Y29uZmlnKTsKKwlpZiAocmV0IDwgMCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBzZXQgVE1E UyBjbG9jayByYXRpbywgZXJyb3IgJWRcbiIsIHJldCk7CisJCXJldHVybiBmYWxzZTsKKwl9CisK KwkvKgorCSAqIFRoZSBzcGVjIHNheXMgdGhhdCBhIHNvdXJjZSBzaG91bGQgd2FpdCBtaW5pbXVt IDFtcyBhbmQgbWF4aW11bQorCSAqIDEwMG1zIGFmdGVyIHdyaXRpbmcgdGhlIFRNRFMgY29uZmln IGZvciBjbG9jayByYXRpby4gTGV0cyBhbGxvdyBhCisJICogd2FpdCBvZiB1cHRvIDJtcyBoZXJl LgorCSAqLworCXVzbGVlcF9yYW5nZSgxMDAwLCAyMDAwKTsKKwlyZXR1cm4gdHJ1ZTsKK30KK0VY UE9SVF9TWU1CT0woZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9ja19yYXRpbyk7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVj dG9yLmgKaW5kZXggYmY5ZDZmNS4uZjhiNzY2ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2Nvbm5lY3Rvci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAtOTAsNiAr OTAsMjAgQEAgZW51bSBzdWJwaXhlbF9vcmRlciB7CiAKIH07CiAKKy8qKgorICogc3RydWN0IGRy bV9zY3JhbWJsaW5nOiBzaW5rJ3Mgc2NyYW1ibGluZyBzdXBwb3J0LgorICovCitzdHJ1Y3QgZHJt X3NjcmFtYmxpbmcgeworCS8qKgorCSAqIEBzdXBwb3J0ZWQ6IHNjcmFtYmxpbmcgc3VwcG9ydGVk IGZvciByYXRlcyA+IDM0MCBNaHouCisJICovCisJYm9vbCBzdXBwb3J0ZWQ7CisJLyoqCisJICog QGxvd19yYXRlczogc2NyYW1ibGluZyBzdXBwb3J0ZWQgZm9yIHJhdGVzIDw9IDM0MCBNaHouCisJ ICovCisJYm9vbCBsb3dfcmF0ZXM7Cit9OworCiAvKgogICogc3RydWN0IGRybV9zY2RjIC0gSW5m b3JtYXRpb24gYWJvdXQgc2NkYyBjYXBhYmlsaXRpZXMgb2YgYSBIRE1JIDIuMCBzaW5rCiAgKgpA QCAtMTA1LDggKzExOSwxMyBAQCBzdHJ1Y3QgZHJtX3NjZGMgewogCSAqIEByZWFkX3JlcXVlc3Q6 IHNpbmsgaXMgY2FwYWJsZSBvZiBnZW5lcmF0aW5nIHNjZGMgcmVhZCByZXF1ZXN0LgogCSAqLwog CWJvb2wgcmVhZF9yZXF1ZXN0OworCS8qKgorCSAqIEBzY3JhbWJsaW5nOiBzaW5rJ3Mgc2NyYW1i bGluZyBjYXBhYmlsaXRpZXMKKwkgKi8KKwlzdHJ1Y3QgZHJtX3NjcmFtYmxpbmcgc2NyYW1ibGlu ZzsKIH07CiAKKwogLyoqCiAgKiBzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAtIHJ1bnRpbWUgaW5mb3Jt YXRpb24gYWJvdXQgdGhlIGNvbm5lY3RlZCBIRE1JIHNpbmsKICAqCmRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAppbmRleCAzZWFkODRk Li43YjlmNDhiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCisrKyBiL2luY2x1 ZGUvZHJtL2RybV9lZGlkLmgKQEAgLTQ3Niw1ICs0NzYsNCBAQCB2b2lkIGRybV9lZGlkX2dldF9t b25pdG9yX25hbWUoc3RydWN0IGVkaWQgKmVkaWQsIGNoYXIgKm5hbWUsCiBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqZHJtX21vZGVfZmluZF9kbXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJ CQkJICAgaW50IGhzaXplLCBpbnQgdnNpemUsIGludCBmcmVzaCwKIAkJCQkJICAgYm9vbCByYik7 Ci0KICNlbmRpZiAvKiBfX0RSTV9FRElEX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX3NjZGNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fc2NkY19oZWxwZXIuaAppbmRleCA5 YzUyZGViLi5hYjZiY2ZiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fc2NkY19oZWxwZXIu aAorKysgYi9pbmNsdWRlL2RybS9kcm1fc2NkY19oZWxwZXIuaApAQCAtMTI5LDQgKzEyOSwzMSBA QCBzdGF0aWMgaW5saW5lIGludCBkcm1fc2NkY193cml0ZWIoc3RydWN0IGkyY19hZGFwdGVyICph ZGFwdGVyLCB1OCBvZmZzZXQsCiAJcmV0dXJuIGRybV9zY2RjX3dyaXRlKGFkYXB0ZXIsIG9mZnNl dCwgJnZhbHVlLCBzaXplb2YodmFsdWUpKTsKIH0KIAorLyoqCisgKiBkcm1fc2NkY19zZXRfc2Ny YW1ibGluZyAtIGVuYWJsZSBzY3JhbWJsaW5nCisgKiBAYWRhcHRlcjogSTJDIGFkYXB0ZXIgZm9y IEREQyBjaGFubmVsCisgKiBAZW5hYmxlOiBib29sIHRvIGluZGljYXRlIGlmIHNjcmFtYmxpbmcg aXMgdG8gYmUgZW5hYmxlZC9kaXNhYmxlZAorICoKKyAqIFdyaXRlcyB0aGUgVE1EUyBjb25maWcg cmVnaXN0ZXIgb3ZlciBTQ0RDIGNoYW5uZWwsIGFuZDoKKyAqIGVuYWJsZXMgc2NyYW1ibGluZyB3 aGVuIGVuYWJsZSA9IDEKKyAqIGRpc2FibGVzIHNjcmFtYmxpbmcgd2hlbiBlbmFibGUgPSAwCisg KgorICogUmV0dXJuczoKKyAqIFRydWUgaWYgc2NyYW1ibGluZyBpcyBzZXQvcmVzZXQgc3VjY2Vz c2Z1bGx5LCBmYWxzZSBvdGhlcndpc2UuCisgKi8KK2Jvb2wgZHJtX3NjZGNfc2V0X3NjcmFtYmxp bmcoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBib29sIGVuYWJsZSk7CisKKy8qKgorICog ZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9ja19yYXRpbyAtIHNldCBUTURTIGNsb2NrIHJhdGlv CisgKiBAYWRhcHRlcjogSTJDIGFkYXB0ZXIgZm9yIEREQyBjaGFubmVsCisgKiBAc2V0OiByZXQg b3IgcmVzZXQgdGhlIGhpZ2ggY2xvY2sgcmF0aW8KKyAqCisgKiBXcml0ZXMgdG8gdGhlIFRNRFMg Y29uZmlnIHJlZ2lzdGVyIG92ZXIgU0NEQyBjaGFubmVsLCBhbmQ6CisgKiBzZXRzIFRNRFMgY2xv Y2sgcmF0aW8gdG8gMS80MCB3aGVuIHNldCA9IDEKKyAqIHNldHMgVE1EUyBjbG9jayByYXRpbyB0 byAxLzEwIHdoZW4gc2V0ID0gMAorICoKKyAqIFJldHVybnM6CisgKiBUcnVlIGlmIHdyaXRlIGlz IHN1Y2Nlc3NmdWwsIGZhbHNlIG90aGVyd2lzZS4KKyAqLworYm9vbCBkcm1fc2NkY19zZXRfaGln aF90bWRzX2Nsb2NrX3JhdGlvKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBzZXQp OwogI2VuZGlmCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==