From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v7 4/6] drm/edid: detect SCDC support in HF-VSDB Date: Fri, 3 Mar 2017 21:58:31 +0530 Message-ID: <1488558513-23534-5-git-send-email-shashank.sharma@intel.com> References: <1488558513-23534-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: <1488558513-23534-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" 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 IHBhdGNoc2V0ClY3OiBBZGRlZCBSLUIgZnJvbSBKb3NlLgoKU2lnbmVkLW9mZi1ieTogU2hhc2hh bmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVGhpZXJy eSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KUmV2aWV3ZWQtYnk6IEpvc2UgQWJyZXUgPGpv YWJyZXVAc3lub3BzeXMuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jICAgICAg ICB8ICAzMyArKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2RybV9zY2RjX2hlbHBlci5jIHwg MTIxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmggICAgICAgfCAgMTkgKysrKysrCiBpbmNsdWRlL2RybS9kcm1fZWRpZC5o ICAgICAgICAgICAgfCAgIDEgLQogaW5jbHVkZS9kcm0vZHJtX3NjZGNfaGVscGVyLmggICAgIHwg IDI3ICsrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZWRpZC5jCmluZGV4IGQ2NGI3YmQuLmZhZDNkNDQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRp ZC5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9lZGlkLmg+CiAjaW5jbHVk ZSA8ZHJtL2RybV9lbmNvZGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9kaXNwbGF5aWQuaD4KKyNp bmNsdWRlIDxkcm0vZHJtX3NjZGNfaGVscGVyLmg+CiAKICNpbmNsdWRlICJkcm1fY3J0Y19pbnRl cm5hbC5oIgogCkBAIC0zODIwLDEzICszODIxLDQzIEBAIGVudW0gaGRtaV9xdWFudGl6YXRpb25f cmFuZ2UKIHN0YXRpYyB2b2lkIGRybV9wYXJzZV9oZG1pX2ZvcnVtX3ZzZGIoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgY29uc3QgdTggKmhmX3ZzZGIpCiB7Ci0Jc3RydWN0 IGRybV9oZG1pX2luZm8gKmhkbWkgPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaTsKKwlz dHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqZGlzcGxheSA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5m bzsKKwlzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaSA9ICZkaXNwbGF5LT5oZG1pOwogCiAJaWYg KGhmX3ZzZGJbNl0gJiAweDgwKSB7CiAJCWhkbWktPnNjZGMuc3VwcG9ydGVkID0gdHJ1ZTsKIAkJ aWYgKGhmX3ZzZGJbNl0gJiAweDQwKQogCQkJaGRtaS0+c2NkYy5yZWFkX3JlcXVlc3QgPSB0cnVl OwogCX0KKworCS8qCisJICogQWxsIEhETUkgMi4wIG1vbml0b3JzIG11c3Qgc3VwcG9ydCBzY3Jh bWJsaW5nIGF0IHJhdGVzID4gMzQwIE1Iei4KKwkgKiBBbmQgYXMgcGVyIHRoZSBzcGVjLCB0aHJl ZSBmYWN0b3JzIGNvbmZpcm0gdGhpczoKKwkgKiAqIEF2YWlsYWJpbGl0eSBvZiBhIEhGLVZTREIg YmxvY2sgaW4gRURJRCAoY2hlY2spCisJICogKiBOb24gemVybyBNYXhfVE1EU19DaGFyX1JhdGUg ZmlsZWQgaW4gSEYtVlNEQiAobGV0J3MgY2hlY2spCisJICogKiBTQ0RDIHN1cHBvcnQgYXZhaWxh YmxlIChsZXQncyBjaGVjaykKKwkgKiBMZXRzIGNoZWNrIGl0IG91dC4KKwkgKi8KKworCWlmICho Zl92c2RiWzVdKSB7CisJCS8qIG1heCBjbG9jayBpcyA1MDAwIEtIeiB0aW1lcyBibG9jayB2YWx1 ZSAqLworCQl1MzIgbWF4X3RtZHNfY2xvY2sgPSBoZl92c2RiWzVdICogNTAwMDsKKwkJc3RydWN0 IGRybV9zY2RjICpzY2RjID0gJmhkbWktPnNjZGM7CisKKwkJaWYgKG1heF90bWRzX2Nsb2NrID4g MzQwMDAwKSB7CisJCQlkaXNwbGF5LT5tYXhfdG1kc19jbG9jayA9IG1heF90bWRzX2Nsb2NrOwor CQkJRFJNX0RFQlVHX0tNUygiSEYtVlNEQjogbWF4IFRNRFMgY2xvY2sgJWQga0h6XG4iLAorCQkJ CWRpc3BsYXktPm1heF90bWRzX2Nsb2NrKTsKKwkJfQorCisJCWlmIChzY2RjLT5zdXBwb3J0ZWQp IHsKKwkJCXNjZGMtPnNjcmFtYmxpbmcuc3VwcG9ydGVkID0gdHJ1ZTsKKworCQkJLyogRmV3IHNp bmtzIHN1cHBvcnQgc2NyYW1ibGluZyBmb3IgY2xva3MgPCAzNDBNICovCisJCQlpZiAoKGhmX3Zz ZGJbNl0gJiAweDgpKQorCQkJCXNjZGMtPnNjcmFtYmxpbmcubG93X3JhdGVzID0gdHJ1ZTsKKwkJ fQorCX0KIH0KIAogc3RhdGljIHZvaWQgZHJtX3BhcnNlX2hkbWlfZGVlcF9jb2xvcl9pbmZvKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX3NjZGNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NjZGNfaGVscGVyLmMK aW5kZXggYzJkZDMzZi4uM2NkOTZhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9z Y2RjX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2NkY19oZWxwZXIuYwpAQCAt MjIsOCArMjIsMTAgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUg PGxpbnV4L2RlbGF5Lmg+CiAKICNpbmNsdWRlIDxkcm0vZHJtX3NjZGNfaGVscGVyLmg+CisjaW5j bHVkZSA8ZHJtL2RybVAuaD4KIAogLyoqCiAgKiBET0M6IHNjZGMgaGVscGVycwpAQCAtMTIxLDMg KzEyMywxMjIgQEAgc3NpemVfdCBkcm1fc2NkY193cml0ZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFk YXB0ZXIsIHU4IG9mZnNldCwKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3NjZGNf d3JpdGUpOworCisvKioKKyAqIGRybV9zY2RjX2NoZWNrX3NjcmFtYmxpbmdfc3RhdHVzIC0gd2hh dCBpcyBzdGF0dXMgb2Ygc2NyYW1ibGluZz8KKyAqIEBhZGFwdGVyOiBJMkMgYWRhcHRlciBmb3Ig RERDIGNoYW5uZWwKKyAqCisgKiBSZWFkcyB0aGUgc2NyYW1ibGVyIHN0YXR1cyBvdmVyIFNDREMs IGFuZCBjaGVja3MgdGhlCisgKiBzY3JhbWJsaW5nIHN0YXR1cy4KKyAqCisgKiBSZXR1cm5zOgor ICogVHJ1ZSBpZiB0aGUgc2NyYW1ibGluZyBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuCisg Ki8KKworYm9vbCBkcm1fc2NkY19nZXRfc2NyYW1ibGluZ19zdGF0dXMoc3RydWN0IGkyY19hZGFw dGVyICphZGFwdGVyKQoreworCXU4IHN0YXR1czsKKwlpbnQgcmV0OworCisJcmV0ID0gZHJtX3Nj ZGNfcmVhZGIoYWRhcHRlciwgU0NEQ19TQ1JBTUJMRVJfU1RBVFVTLCAmc3RhdHVzKTsKKwlpZiAo cmV0IDwgMCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byByZWFkIHNjcmFtYmxpbmcgc3RhdHVz LCBlcnJvciAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJldHVybiBzdGF0 dXMgJiBTQ0RDX1NDUkFNQkxJTkdfU1RBVFVTOworfQorRVhQT1JUX1NZTUJPTChkcm1fc2NkY19n ZXRfc2NyYW1ibGluZ19zdGF0dXMpOworCisvKioKKyAqIGRybV9zY2RjX3NldF9zY3JhbWJsaW5n IC0gZW5hYmxlIHNjcmFtYmxpbmcKKyAqIEBhZGFwdGVyOiBJMkMgYWRhcHRlciBmb3IgRERDIGNo YW5uZWwKKyAqIEBlbmFibGU6IGJvb2wgdG8gaW5kaWNhdGUgaWYgc2NyYW1ibGluZyBpcyB0byBi ZSBlbmFibGVkL2Rpc2FibGVkCisgKgorICogV3JpdGVzIHRoZSBUTURTIGNvbmZpZyByZWdpc3Rl ciBvdmVyIFNDREMgY2hhbm5lbCwgYW5kOgorICogZW5hYmxlcyBzY3JhbWJsaW5nIHdoZW4gZW5h YmxlID0gMQorICogZGlzYWJsZXMgc2NyYW1ibGluZyB3aGVuIGVuYWJsZSA9IDAKKyAqCisgKiBS ZXR1cm5zOgorICogVHJ1ZSBpZiBzY3JhbWJsaW5nIGlzIHNldC9yZXNldCBzdWNjZXNzZnVsbHks IGZhbHNlIG90aGVyd2lzZS4KKyAqLworCitib29sIGRybV9zY2RjX3NldF9zY3JhbWJsaW5nKHN0 cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBlbmFibGUpCit7CisJdTggY29uZmlnOwor CWludCByZXQ7CisKKwlyZXQgPSBkcm1fc2NkY19yZWFkYihhZGFwdGVyLCBTQ0RDX1RNRFNfQ09O RklHLCAmY29uZmlnKTsKKwlpZiAocmV0IDwgMCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBy ZWFkIHRtZHMgY29uZmlnLCBlcnI9JWRcbiIsIHJldCk7CisJCXJldHVybiBmYWxzZTsKKwl9CisK KwlpZiAoZW5hYmxlKQorCQljb25maWcgfD0gU0NEQ19TQ1JBTUJMSU5HX0VOQUJMRTsKKwllbHNl CisJCWNvbmZpZyAmPSB+U0NEQ19TQ1JBTUJMSU5HX0VOQUJMRTsKKworCXJldCA9IGRybV9zY2Rj X3dyaXRlYihhZGFwdGVyLCBTQ0RDX1RNRFNfQ09ORklHLCBjb25maWcpOworCWlmIChyZXQgPCAw KSB7CisJCURSTV9FUlJPUigiRmFpbGVkIHRvIGVuYWJsZSBzY3JhbWJsaW5nLCBlcnJvciAlZFxu IiwgcmV0KTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJldHVybiB0cnVlOworfQorRVhQT1JU X1NZTUJPTChkcm1fc2NkY19zZXRfc2NyYW1ibGluZyk7CisKKy8qKgorICogZHJtX3NjZGNfc2V0 X2hpZ2hfdG1kc19jbG9ja19yYXRpbyAtIHNldCBUTURTIGNsb2NrIHJhdGlvCisgKiBAYWRhcHRl cjogSTJDIGFkYXB0ZXIgZm9yIEREQyBjaGFubmVsCisgKiBAc2V0OiByZXQgb3IgcmVzZXQgdGhl IGhpZ2ggY2xvY2sgcmF0aW8KKyAqCisgKiBUTURTIGNsb2NrIHJhdGlvIGNhbGN1bGF0aW9ucyBn byBsaWtlIHRoaXM6CisgKiBUTURTIGNoYXJhY3RlciA9IDEwIGJpdCBUTURTIGVuY29kZWQgdmFs dWUKKyAqIFRNRFMgY2hhcmFjdGVyIHJhdGUgPSBUaGUgcmF0ZSBhdCB3aGljaCBUTURTIGNoYXJh Y3RlcnMgYXJlIHRyYW5zbWl0dGVkKE1jc2MpCisgKiBUTURTIGJpdCByYXRlID0gMTB4IFRNRFMg Y2hhcmFjdGVyIHJhdGUKKyAqIEFzIHBlciB0aGUgc3BlYzoKKyAqIFRNRFMgY2xvY2sgcmF0ZSBm b3IgcGl4ZWwgY2xvY2sgPCAzNDAgTUh6ID0gMXggdGhlIGNoYXJhY3RlciByYXRlCisgKgk9IDEv MTAgcGl4ZWwgY2xvY2sgcmF0ZQorICogVE1EUyBjbG9jayByYXRlIGZvciBwaXhlbCBjbG9jayA+ IDM0MCBNSHogPSAwLjI1eCB0aGUgY2hhcmFjdGVyIHJhdGUKKyAqCT0gMS80MCBwaXhlbCBjbG9j ayByYXRlCisgKgorICogV3JpdGVzIHRvIHRoZSBUTURTIGNvbmZpZyByZWdpc3RlciBvdmVyIFND REMgY2hhbm5lbCwgYW5kOgorICogc2V0cyBUTURTIGNsb2NrIHJhdGlvIHRvIDEvNDAgd2hlbiBz ZXQgPSAxCisgKiBzZXRzIFRNRFMgY2xvY2sgcmF0aW8gdG8gMS8xMCB3aGVuIHNldCA9IDAKKyAq CisgKiBSZXR1cm5zOgorICogVHJ1ZSBpZiB3cml0ZSBpcyBzdWNjZXNzZnVsLCBmYWxzZSBvdGhl cndpc2UuCisgKi8KK2Jvb2wgZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9ja19yYXRpbyhzdHJ1 Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGJvb2wgc2V0KQoreworCXU4IGNvbmZpZzsKKwlpbnQg cmV0OworCisJcmV0ID0gZHJtX3NjZGNfcmVhZGIoYWRhcHRlciwgU0NEQ19UTURTX0NPTkZJRywg JmNvbmZpZyk7CisJaWYgKHJldCA8IDApIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVhZCB0 bWRzIGNvbmZpZywgZXJyPSVkXG4iLCByZXQpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYg KHNldCkKKwkJY29uZmlnIHw9IFNDRENfVE1EU19CSVRfQ0xPQ0tfUkFUSU9fQllfNDA7CisJZWxz ZQorCQljb25maWcgJj0gflNDRENfVE1EU19CSVRfQ0xPQ0tfUkFUSU9fQllfNDA7CisKKwlyZXQg PSBkcm1fc2NkY193cml0ZWIoYWRhcHRlciwgU0NEQ19UTURTX0NPTkZJRywgY29uZmlnKTsKKwlp ZiAocmV0IDwgMCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBzZXQgVE1EUyBjbG9jayByYXRp bywgZXJyb3IgJWRcbiIsIHJldCk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwkvKgorCSAqIFRo ZSBzcGVjIHNheXMgdGhhdCBhIHNvdXJjZSBzaG91bGQgd2FpdCBtaW5pbXVtIDFtcyBhbmQgbWF4 aW11bQorCSAqIDEwMG1zIGFmdGVyIHdyaXRpbmcgdGhlIFRNRFMgY29uZmlnIGZvciBjbG9jayBy YXRpby4gTGV0cyBhbGxvdyBhCisJICogd2FpdCBvZiB1cHRvIDJtcyBoZXJlLgorCSAqLworCXVz bGVlcF9yYW5nZSgxMDAwLCAyMDAwKTsKKwlyZXR1cm4gdHJ1ZTsKK30KK0VYUE9SVF9TWU1CT0wo ZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9ja19yYXRpbyk7CmRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKaW5kZXgg YmY5ZDZmNS4uZjhiNzY2ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o CisrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAtOTAsNiArOTAsMjAgQEAgZW51 bSBzdWJwaXhlbF9vcmRlciB7CiAKIH07CiAKKy8qKgorICogc3RydWN0IGRybV9zY3JhbWJsaW5n OiBzaW5rJ3Mgc2NyYW1ibGluZyBzdXBwb3J0LgorICovCitzdHJ1Y3QgZHJtX3NjcmFtYmxpbmcg eworCS8qKgorCSAqIEBzdXBwb3J0ZWQ6IHNjcmFtYmxpbmcgc3VwcG9ydGVkIGZvciByYXRlcyA+ IDM0MCBNaHouCisJICovCisJYm9vbCBzdXBwb3J0ZWQ7CisJLyoqCisJICogQGxvd19yYXRlczog c2NyYW1ibGluZyBzdXBwb3J0ZWQgZm9yIHJhdGVzIDw9IDM0MCBNaHouCisJICovCisJYm9vbCBs b3dfcmF0ZXM7Cit9OworCiAvKgogICogc3RydWN0IGRybV9zY2RjIC0gSW5mb3JtYXRpb24gYWJv dXQgc2NkYyBjYXBhYmlsaXRpZXMgb2YgYSBIRE1JIDIuMCBzaW5rCiAgKgpAQCAtMTA1LDggKzEx OSwxMyBAQCBzdHJ1Y3QgZHJtX3NjZGMgewogCSAqIEByZWFkX3JlcXVlc3Q6IHNpbmsgaXMgY2Fw YWJsZSBvZiBnZW5lcmF0aW5nIHNjZGMgcmVhZCByZXF1ZXN0LgogCSAqLwogCWJvb2wgcmVhZF9y ZXF1ZXN0OworCS8qKgorCSAqIEBzY3JhbWJsaW5nOiBzaW5rJ3Mgc2NyYW1ibGluZyBjYXBhYmls aXRpZXMKKwkgKi8KKwlzdHJ1Y3QgZHJtX3NjcmFtYmxpbmcgc2NyYW1ibGluZzsKIH07CiAKKwog LyoqCiAgKiBzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAtIHJ1bnRpbWUgaW5mb3JtYXRpb24gYWJvdXQg dGhlIGNvbm5lY3RlZCBIRE1JIHNpbmsKICAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f ZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAppbmRleCAzZWFkODRkLi43YjlmNDhiIDEw MDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9l ZGlkLmgKQEAgLTQ3Niw1ICs0NzYsNCBAQCB2b2lkIGRybV9lZGlkX2dldF9tb25pdG9yX25hbWUo c3RydWN0IGVkaWQgKmVkaWQsIGNoYXIgKm5hbWUsCiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq ZHJtX21vZGVfZmluZF9kbXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJICAgaW50IGhz aXplLCBpbnQgdnNpemUsIGludCBmcmVzaCwKIAkJCQkJICAgYm9vbCByYik7Ci0KICNlbmRpZiAv KiBfX0RSTV9FRElEX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3NjZGNfaGVs cGVyLmggYi9pbmNsdWRlL2RybS9kcm1fc2NkY19oZWxwZXIuaAppbmRleCA5YzUyZGViLi5hYjZi Y2ZiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fc2NkY19oZWxwZXIuaAorKysgYi9pbmNs dWRlL2RybS9kcm1fc2NkY19oZWxwZXIuaApAQCAtMTI5LDQgKzEyOSwzMSBAQCBzdGF0aWMgaW5s aW5lIGludCBkcm1fc2NkY193cml0ZWIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCB1OCBv ZmZzZXQsCiAJcmV0dXJuIGRybV9zY2RjX3dyaXRlKGFkYXB0ZXIsIG9mZnNldCwgJnZhbHVlLCBz aXplb2YodmFsdWUpKTsKIH0KIAorLyoqCisgKiBkcm1fc2NkY19zZXRfc2NyYW1ibGluZyAtIGVu YWJsZSBzY3JhbWJsaW5nCisgKiBAYWRhcHRlcjogSTJDIGFkYXB0ZXIgZm9yIEREQyBjaGFubmVs CisgKiBAZW5hYmxlOiBib29sIHRvIGluZGljYXRlIGlmIHNjcmFtYmxpbmcgaXMgdG8gYmUgZW5h YmxlZC9kaXNhYmxlZAorICoKKyAqIFdyaXRlcyB0aGUgVE1EUyBjb25maWcgcmVnaXN0ZXIgb3Zl ciBTQ0RDIGNoYW5uZWwsIGFuZDoKKyAqIGVuYWJsZXMgc2NyYW1ibGluZyB3aGVuIGVuYWJsZSA9 IDEKKyAqIGRpc2FibGVzIHNjcmFtYmxpbmcgd2hlbiBlbmFibGUgPSAwCisgKgorICogUmV0dXJu czoKKyAqIFRydWUgaWYgc2NyYW1ibGluZyBpcyBzZXQvcmVzZXQgc3VjY2Vzc2Z1bGx5LCBmYWxz ZSBvdGhlcndpc2UuCisgKi8KK2Jvb2wgZHJtX3NjZGNfc2V0X3NjcmFtYmxpbmcoc3RydWN0IGky Y19hZGFwdGVyICphZGFwdGVyLCBib29sIGVuYWJsZSk7CisKKy8qKgorICogZHJtX3NjZGNfc2V0 X2hpZ2hfdG1kc19jbG9ja19yYXRpbyAtIHNldCBUTURTIGNsb2NrIHJhdGlvCisgKiBAYWRhcHRl cjogSTJDIGFkYXB0ZXIgZm9yIEREQyBjaGFubmVsCisgKiBAc2V0OiByZXQgb3IgcmVzZXQgdGhl IGhpZ2ggY2xvY2sgcmF0aW8KKyAqCisgKiBXcml0ZXMgdG8gdGhlIFRNRFMgY29uZmlnIHJlZ2lz dGVyIG92ZXIgU0NEQyBjaGFubmVsLCBhbmQ6CisgKiBzZXRzIFRNRFMgY2xvY2sgcmF0aW8gdG8g MS80MCB3aGVuIHNldCA9IDEKKyAqIHNldHMgVE1EUyBjbG9jayByYXRpbyB0byAxLzEwIHdoZW4g c2V0ID0gMAorICoKKyAqIFJldHVybnM6CisgKiBUcnVlIGlmIHdyaXRlIGlzIHN1Y2Nlc3NmdWws IGZhbHNlIG90aGVyd2lzZS4KKyAqLworYm9vbCBkcm1fc2NkY19zZXRfaGlnaF90bWRzX2Nsb2Nr X3JhdGlvKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBzZXQpOwogI2VuZGlmCi0t IAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==