From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keith Packard Subject: [PATCH] drm: Update edid-derived drm_display_info fields at edid property set [v2] Date: Wed, 13 Dec 2017 00:44:26 -0800 Message-ID: <20171213084427.31199-1-keithp@keithp.com> References: <20171211101951.fh6mf3bjbtoqo5jz@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171211101951.fh6mf3bjbtoqo5jz@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org, Dave Airlie , Daniel Vetter Cc: Keith Packard , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhlcmUgYXJlIGEgc2V0IG9mIHZhbHVlcyBpbiB0aGUgZHJtX2Rpc3BsYXlfaW5mbyBzdHJ1Y3R1 cmUgZm9yIGVhY2gKY29ubmVjdG9yIHdoaWNoIGhvbGQgaW5mb3JtYXRpb24gZGVyaXZlZCBmcm9t IEVESUQuIFRoZXNlIGFyZSBjb21wdXRlZAppbiBkcm1fYWRkX2Rpc3BsYXlfaW5mby4gQmVmb3Jl IHRoaXMgcGF0Y2gsIHRoYXQgd2FzIG9ubHkgY2FsbGVkIGluCmRybV9hZGRfZWRpZF9tb2Rlcy4g VGhpcyBtZWFudCB0aGF0IHRoZXkgd2VyZSBvbmx5IHNldCB3aGVuIEVESUQgd2FzCnByZXNlbnQg YW5kIG5ldmVyIHJlc2V0IHdoZW4gRURJRCB3YXMgbm90LCBhcyBoYXBwZW5lZCB3aGVuIHRoZQpk aXNwbGF5IHdhcyBkaXNjb25uZWN0ZWQuCgpPbmUgb2YgdGhlc2UgZmllbGRzLCBub25fZGVza3Rv cCwgaXMgdXNlZCBmcm9tCmRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSwg dGhlIGZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvcgphc3NpZ25pbmcgdGhlIG5ldyBlZGlkIHZhbHVl IHRvIHRoZSBhcHBsaWNhdGlvbi12aXNpYmxlIHByb3BlcnR5LgoKVmFyaW91cyBkcml2ZXJzIGNh bGwgdGhlc2UgdHdvIGZ1bmN0aW9ucyAoZHJtX2FkZF9lZGlkX21vZGVzIGFuZApkcm1fbW9kZV9j b25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkpIGluIGRpZmZlcmVudCBvcmRlcnMuIFRoaXMK bWVhbnMgdGhhdCBldmVuIHdoZW4gRURJRCBpcyBwcmVzZW50LCB0aGUgZHJtX2Rpc3BsYXlfaW5m byBmaWVsZHMgbWF5Cm5vdCBoYXZlIGJlZW4gY29tcHV0ZWQgYXQgdGhlIHRpbWUgdGhhdApkcm1f bW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkgdXNlZCB0aGUgbm9uX2Rlc2t0b3Ag dmFsdWUgdG8Kc2V0IHRoZSBub25fZGVza3RvcCBwcm9wZXJ0eS4KCkkndmUgYWRkZWQgYSBwdWJs aWMgZnVuY3Rpb24gKGRybV9yZXNldF9kaXNwbGF5X2luZm8pIHRoYXQgcmVzZXRzIHRoZQpkcm1f ZGlzcGxheV9pbmZvIGZpZWxkIHZhbHVlcyB0byBkZWZhdWx0IHZhbHVlcyBhbmQgdGhlbiBtYWRl IHRoZQpkcm1fYWRkX2Rpc3BsYXlfaW5mbyBmdW5jdGlvbiBwdWJsaWMuIFRoZXNlIHR3byBmdW5j dGlvbnMgYXJlIG5vdwpjYWxsZWQgZGlyZWN0bHkgZnJvbSBkcm1fbW9kZV9jb25uZWN0b3JfdXBk YXRlX2VkaWRfcHJvcGVydHkgc28gdGhhdAp0aGUgZHJtX2Rpc3BsYXlfaW5mbyBmaWVsZHMgYXJl IGFsd2F5cyBjb21wdXRlZCBmcm9tIHRoZSBjdXJyZW50IEVESUQKaW5mb3JtYXRpb24gYmVmb3Jl IGJlaW5nIHVzZWQgaW4gdGhhdCBmdW5jdGlvbi4KClRoaXMgbWVhbnMgdGhhdCB0aGUgZHJtX2Rp c3BsYXlfaW5mbyB2YWx1ZXMgYXJlIG9mdGVuIGNvbXB1dGVkIHR3aWNlLApvbmNlIHdoZW4gdGhl IEVESUQgcHJvcGVydHkgaXQgc2V0IGFuZCBhIHNlY29uZCB0aW1lIHdoZW4gRURJRCBpcyB1c2Vk CnRvIGNvbXB1dGUgbW9kZXMgZm9yIHRoZSBkZXZpY2UuIFRoZSBhbHRlcm5hdGl2ZSB3b3VsZCBi ZSB0byB1bmlmb3JtbHkKZW5zdXJlIHRoYXQgdGhlIHZhbHVlcyB3ZXJlIGNvbXB1dGVkIG9uY2Ug YmVmb3JlIGJlaW5nIHVzZWQsIHdoaWNoCndvdWxkIHJlcXVpcmUgdGhhdCBhbGwgZHJpdmVycyBy ZWxpYWJseSBpbnZva2UgdGhlIHR3byBwYXRocyBpbiB0aGUKc2FtZSBvcmRlci4gVGhlIGNvbXB1 dGF0aW9uIGlzIGluZXhwZW5zaXZlIGVub3VnaCB0aGF0IGl0IHNlZW1zIG1vcmUKbWFpbnRhaW5h YmxlIGluIHRoZSBsb25nIHRlcm0gdG8gc2ltcGx5IGNvbXB1dGUgdGhlbSBpbiBib3RoIHBhdGhz LgoKVGhlIEFQSSB0byBkcm1fYWRkX2Rpc3BsYXlfaW5mbyBoYXMgYmVlbiBjaGFuZ2VkIHNvIHRo YXQgaXQgbm8gbG9uZ2VyCnRha2VzIHRoZSBzZXQgb2YgZWRpZC1iYXNlZCBxdWlya3MgYXMgYSBw YXJhbWV0ZXIuIFJhdGhlciwgaXQgbm93CmNvbXB1dGVzIHRob3NlIHF1aXJrcyBpdHNlbGYgYW5k IHJldHVybnMgdGhlbSBmb3IgZnVydGhlciB1c2UgYnkKZHJtX2FkZF9lZGlkX21vZGVzLgoKVGhp cyBwYXRjaCBhbHNvIGluY2x1ZGVzIGEgbnVtYmVyIG9mICdjb25zdCcgYWRkaXRpb25zIGNhdXNl ZCBieQpkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkgdGFraW5nIGEgJ2Nv bnN0IHN0cnVjdCBlZGlkIConCnBhcmFtZXRlciBhbmQgd2FudGluZyB0byBwYXNzIHRoYXQgYWxv bmcgdG8gZHJtX2FkZF9kaXNwbGF5X2luZm8uCgp2MjogYWZ0ZXIgcmV2aWV3IGJ5IERhbmllbCBW ZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CgoJUmVtb3ZlZCBFWFBPUlRfU1lNQk9MX0dQ TCBmb3IgZHJtX3Jlc2V0X2Rpc3BsYXlfaW5mbyBhbmQKCWRybV9hZGRfZGlzcGxheV9pbmZvLgoK CUFkZGVkIEZJWE1FIGluIGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSBh Ym91dAoJcG90ZW50aWFsbHkgbWVyZ2luZyB0aGF0IHdpdGggZHJtX2FkZF9lZGlkX21vZGVzIHRv IGF2b2lkCgl0aGUgbmVlZCBmb3IgdHdvIGRyaXZlciBjYWxscy4KClNpZ25lZC1vZmYtYnk6IEtl aXRoIFBhY2thcmQgPGtlaXRocEBrZWl0aHAuY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5l Y3Rvci5jIHwgMTMgKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICB8 IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBpbmNsdWRlL2Ry bS9kcm1fZWRpZC5oICAgICAgICAgIHwgIDIgKysKIDMgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0 aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKaW5kZXggMjVm NGIyZTlhNDRmLi44M2MwMWYzNTlkNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwpAQCAtMTIw Nyw2ICsxMjA3LDE5IEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAoZWRpZCkKIAkJc2l6ZSA9 IEVESURfTEVOR1RIICogKDEgKyBlZGlkLT5leHRlbnNpb25zKTsKIAorCS8qIFNldCB0aGUgZGlz cGxheSBpbmZvLCB1c2luZyBlZGlkIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlCisJICogcmVzZXRp bmcgdGhlIHZhbHVlcyB0byBkZWZhdWx0cy4gVGhpcyBkdXBsaWNhdGVzIHRoZSB3b3JrCisJICog ZG9uZSBpbiBkcm1fYWRkX2VkaWRfbW9kZXMsIGJ1dCB0aGF0IGZ1bmN0aW9uIGlzIG5vdAorCSAq IGNvbnNpc3RlbnRseSBjYWxsZWQgYmVmb3JlIHRoaXMgb25lIGluIGFsbCBkcml2ZXJzIGFuZCB0 aGUKKwkgKiBjb21wdXRhdGlvbiBpcyBjaGVhcCBlbm91Z2ggdGhhdCBpdCBzZWVtcyBiZXR0ZXIg dG8KKwkgKiBkdXBsaWNhdGUgaXQgcmF0aGVyIHRoYW4gYXR0ZW1wdCB0byBlbnN1cmUgc29tZSBh cmJpdHJhcnkKKwkgKiBvcmRlcmluZyBvZiBjYWxscy4KKwkgKi8KKwlpZiAoZWRpZCkKKwkJZHJt X2FkZF9kaXNwbGF5X2luZm8oY29ubmVjdG9yLCBlZGlkKTsKKwllbHNlCisJCWRybV9yZXNldF9k aXNwbGF5X2luZm8oY29ubmVjdG9yKTsKKwogCWRybV9vYmplY3RfcHJvcGVydHlfc2V0X3ZhbHVl KCZjb25uZWN0b3ItPmJhc2UsCiAJCQkJICAgICAgZGV2LT5tb2RlX2NvbmZpZy5ub25fZGVza3Rv cF9wcm9wZXJ0eSwKIAkJCQkgICAgICBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5ub25fZGVza3Rv cCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZWRpZC5jCmluZGV4IDUyNGVhY2UzZDQ2MC4uMzY1OTAxYzFjMzNjIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2VkaWQuYwpAQCAtMTczMSw3ICsxNzMxLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fZWRpZF9kdXBs aWNhdGUpOwogICoKICAqIFJldHVybnMgdHJ1ZSBpZiBAdmVuZG9yIGlzIGluIEBlZGlkLCBmYWxz ZSBvdGhlcndpc2UKICAqLwotc3RhdGljIGJvb2wgZWRpZF92ZW5kb3Ioc3RydWN0IGVkaWQgKmVk aWQsIGNvbnN0IGNoYXIgKnZlbmRvcikKK3N0YXRpYyBib29sIGVkaWRfdmVuZG9yKGNvbnN0IHN0 cnVjdCBlZGlkICplZGlkLCBjb25zdCBjaGFyICp2ZW5kb3IpCiB7CiAJY2hhciBlZGlkX3ZlbmRv clszXTsKIApAQCAtMTc0OSw3ICsxNzQ5LDcgQEAgc3RhdGljIGJvb2wgZWRpZF92ZW5kb3Ioc3Ry dWN0IGVkaWQgKmVkaWQsIGNvbnN0IGNoYXIgKnZlbmRvcikKICAqCiAgKiBUaGlzIHRlbGxzIHN1 YnNlcXVlbnQgcm91dGluZXMgd2hhdCBmaXhlcyB0aGV5IG5lZWQgdG8gYXBwbHkuCiAgKi8KLXN0 YXRpYyB1MzIgZWRpZF9nZXRfcXVpcmtzKHN0cnVjdCBlZGlkICplZGlkKQorc3RhdGljIHUzMiBl ZGlkX2dldF9xdWlya3MoY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCiB7CiAJY29uc3Qgc3RydWN0 IGVkaWRfcXVpcmsgKnF1aXJrOwogCWludCBpOwpAQCAtMjgxMyw3ICsyODEzLDcgQEAgYWRkX2Rl dGFpbGVkX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHN0cnVjdCBlZGlk ICplZGlkLAogLyoKICAqIFNlYXJjaCBFRElEIGZvciBDRUEgZXh0ZW5zaW9uIGJsb2NrLgogICov Ci1zdGF0aWMgdTggKmRybV9maW5kX2VkaWRfZXh0ZW5zaW9uKHN0cnVjdCBlZGlkICplZGlkLCBp bnQgZXh0X2lkKQorc3RhdGljIHU4ICpkcm1fZmluZF9lZGlkX2V4dGVuc2lvbihjb25zdCBzdHJ1 Y3QgZWRpZCAqZWRpZCwgaW50IGV4dF9pZCkKIHsKIAl1OCAqZWRpZF9leHQgPSBOVUxMOwogCWlu dCBpOwpAQCAtMjgzNSwxMiArMjgzNSwxMiBAQCBzdGF0aWMgdTggKmRybV9maW5kX2VkaWRfZXh0 ZW5zaW9uKHN0cnVjdCBlZGlkICplZGlkLCBpbnQgZXh0X2lkKQogCXJldHVybiBlZGlkX2V4dDsK IH0KIAotc3RhdGljIHU4ICpkcm1fZmluZF9jZWFfZXh0ZW5zaW9uKHN0cnVjdCBlZGlkICplZGlk KQorc3RhdGljIHU4ICpkcm1fZmluZF9jZWFfZXh0ZW5zaW9uKGNvbnN0IHN0cnVjdCBlZGlkICpl ZGlkKQogewogCXJldHVybiBkcm1fZmluZF9lZGlkX2V4dGVuc2lvbihlZGlkLCBDRUFfRVhUKTsK IH0KIAotc3RhdGljIHU4ICpkcm1fZmluZF9kaXNwbGF5aWRfZXh0ZW5zaW9uKHN0cnVjdCBlZGlk ICplZGlkKQorc3RhdGljIHU4ICpkcm1fZmluZF9kaXNwbGF5aWRfZXh0ZW5zaW9uKGNvbnN0IHN0 cnVjdCBlZGlkICplZGlkKQogewogCXJldHVybiBkcm1fZmluZF9lZGlkX2V4dGVuc2lvbihlZGlk LCBESVNQTEFZSURfRVhUKTsKIH0KQEAgLTQzNzgsNyArNDM3OCw3IEBAIGRybV9wYXJzZV9oZG1p X3ZzZGJfdmlkZW8oc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgdTggKmRi KQogfQogCiBzdGF0aWMgdm9pZCBkcm1fcGFyc2VfY2VhX2V4dChzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAotCQkJICAgICAgc3RydWN0IGVkaWQgKmVkaWQpCisJCQkgICAgICBjb25z dCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIHsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbyA9 ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKIAljb25zdCB1OCAqZWRpZF9leHQ7CkBAIC00NDEy LDExICs0NDEyLDM0IEBAIHN0YXRpYyB2b2lkIGRybV9wYXJzZV9jZWFfZXh0KHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCiAJfQogfQogCi1zdGF0aWMgdm9pZCBkcm1fYWRkX2Rpc3Bs YXlfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCQkJCSBzdHJ1Y3QgZWRp ZCAqZWRpZCwgdTMyIHF1aXJrcykKKy8qIEEgY29ubmVjdG9yIGhhcyBubyBFRElEIGluZm9ybWF0 aW9uLCBzbyB3ZSd2ZSBnb3Qgbm8gRURJRCB0byBjb21wdXRlIHF1aXJrcyBmcm9tLiBSZXNldAor ICogYWxsIG9mIHRoZSB2YWx1ZXMgd2hpY2ggd291bGQgaGF2ZSBiZWVuIHNldCBmcm9tIEVESUQK KyAqLwordm9pZAorZHJtX3Jlc2V0X2Rpc3BsYXlfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQoreworCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvID0gJmNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvOworCisJaW5mby0+d2lkdGhfbW0gPSAwOworCWluZm8tPmhlaWdodF9t bSA9IDA7CisKKwlpbmZvLT5icGMgPSAwOworCWluZm8tPmNvbG9yX2Zvcm1hdHMgPSAwOworCWlu Zm8tPmNlYV9yZXYgPSAwOworCWluZm8tPm1heF90bWRzX2Nsb2NrID0gMDsKKwlpbmZvLT5kdmlf ZHVhbCA9IGZhbHNlOworCWluZm8tPmhhc19oZG1pX2luZm9mcmFtZSA9IGZhbHNlOworCisJaW5m by0+bm9uX2Rlc2t0b3AgPSAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZHJtX3Jlc2V0X2Rpc3Bs YXlfaW5mbyk7CisKK3UzMiBkcm1fYWRkX2Rpc3BsYXlfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIHsKIAlzdHJ1Y3QgZHJtX2Rp c3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKIAorCXUzMiBxdWly a3MgPSBlZGlkX2dldF9xdWlya3MoZWRpZCk7CisKIAlpbmZvLT53aWR0aF9tbSA9IGVkaWQtPndp ZHRoX2NtICogMTA7CiAJaW5mby0+aGVpZ2h0X21tID0gZWRpZC0+aGVpZ2h0X2NtICogMTA7CiAK QEAgLTQ0MzAsMTEgKzQ0NTMsMTMgQEAgc3RhdGljIHZvaWQgZHJtX2FkZF9kaXNwbGF5X2luZm8o c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAogCWluZm8tPm5vbl9kZXNrdG9wID0g ISEocXVpcmtzICYgRURJRF9RVUlSS19OT05fREVTS1RPUCk7CiAKKwlEUk1fREVCVUdfS01TKCJu b25fZGVza3RvcCBzZXQgdG8gJWRcbiIsIGluZm8tPm5vbl9kZXNrdG9wKTsKKwogCWlmIChlZGlk LT5yZXZpc2lvbiA8IDMpCi0JCXJldHVybjsKKwkJcmV0dXJuIHF1aXJrczsKIAogCWlmICghKGVk aWQtPmlucHV0ICYgRFJNX0VESURfSU5QVVRfRElHSVRBTCkpCi0JCXJldHVybjsKKwkJcmV0dXJu IHF1aXJrczsKIAogCWRybV9wYXJzZV9jZWFfZXh0KGNvbm5lY3RvciwgZWRpZCk7CiAKQEAgLTQ0 NTQsNyArNDQ3OSw3IEBAIHN0YXRpYyB2b2lkIGRybV9hZGRfZGlzcGxheV9pbmZvKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAKIAkvKiBPbmx5IGRlZmluZWQgZm9yIDEuNCB3aXRo IGRpZ2l0YWwgZGlzcGxheXMgKi8KIAlpZiAoZWRpZC0+cmV2aXNpb24gPCA0KQotCQlyZXR1cm47 CisJCXJldHVybiBxdWlya3M7CiAKIAlzd2l0Y2ggKGVkaWQtPmlucHV0ICYgRFJNX0VESURfRElH SVRBTF9ERVBUSF9NQVNLKSB7CiAJY2FzZSBEUk1fRURJRF9ESUdJVEFMX0RFUFRIXzY6CkBAIC00 NDg5LDcgKzQ1MTQsOSBAQCBzdGF0aWMgdm9pZCBkcm1fYWRkX2Rpc3BsYXlfaW5mbyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQlpbmZvLT5jb2xvcl9mb3JtYXRzIHw9IERSTV9D T0xPUl9GT1JNQVRfWUNSQ0I0NDQ7CiAJaWYgKGVkaWQtPmZlYXR1cmVzICYgRFJNX0VESURfRkVB VFVSRV9SR0JfWUNSQ0I0MjIpCiAJCWluZm8tPmNvbG9yX2Zvcm1hdHMgfD0gRFJNX0NPTE9SX0ZP Uk1BVF9ZQ1JDQjQyMjsKKwlyZXR1cm4gcXVpcmtzOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoZHJt X2FkZF9kaXNwbGF5X2luZm8pOwogCiBzdGF0aWMgaW50IHZhbGlkYXRlX2Rpc3BsYXlpZCh1OCAq ZGlzcGxheWlkLCBpbnQgbGVuZ3RoLCBpbnQgaWR4KQogewpAQCAtNDY0NSw4ICs0NjcyLDYgQEAg aW50IGRybV9hZGRfZWRpZF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBz dHJ1Y3QgZWRpZCAqZWRpZCkKIAkJcmV0dXJuIDA7CiAJfQogCi0JcXVpcmtzID0gZWRpZF9nZXRf cXVpcmtzKGVkaWQpOwotCiAJZHJtX2VkaWRfdG9fZWxkKGNvbm5lY3RvciwgZWRpZCk7CiAKIAkv KgpAQCAtNDY1NCw3ICs0Njc5LDcgQEAgaW50IGRybV9hZGRfZWRpZF9tb2RlcyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIAkgKiBUbyBhdm9pZCBt dWx0aXBsZSBwYXJzaW5nIG9mIHNhbWUgYmxvY2ssIGxldHMgcGFyc2UgdGhhdCBtYXAKIAkgKiBm cm9tIHNpbmsgaW5mbywgYmVmb3JlIHBhcnNpbmcgQ0VBIG1vZGVzLgogCSAqLwotCWRybV9hZGRf ZGlzcGxheV9pbmZvKGNvbm5lY3RvciwgZWRpZCwgcXVpcmtzKTsKKwlxdWlya3MgPSBkcm1fYWRk X2Rpc3BsYXlfaW5mbyhjb25uZWN0b3IsIGVkaWQpOwogCiAJLyoKIAkgKiBFRElEIHNwZWMgc2F5 cyBtb2RlcyBzaG91bGQgYmUgcHJlZmVycmVkIGluIHRoaXMgb3JkZXI6CmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAppbmRleCBiMjVk MTJlZjEyMGEuLjhkODlhOWMzNzQ4ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2VkaWQu aAorKysgYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCkBAIC00NjUsNiArNDY1LDggQEAgc3RydWN0 IGVkaWQgKmRybV9nZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogc3Ry dWN0IGVkaWQgKmRybV9nZXRfZWRpZF9zd2l0Y2hlcm9vKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCiAJCQkJICAgICBzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpOwogc3RydWN0 IGVkaWQgKmRybV9lZGlkX2R1cGxpY2F0ZShjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCk7Cit2b2lk IGRybV9yZXNldF9kaXNwbGF5X2luZm8oc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cit1MzIgZHJtX2FkZF9kaXNwbGF5X2luZm8oc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwogaW50IGRybV9hZGRfZWRpZF9tb2RlcyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZWRpZCAqZWRpZCk7CiAKIHU4IGRy bV9tYXRjaF9jZWFfbW9kZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqdG9fbWF0Y2gp OwotLSAKMi4xNS4wLnJjMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==