From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH 1/3] drm: Add a new connector atomic property for link status Date: Thu, 1 Dec 2016 10:58:11 -0800 Message-ID: <20161201185811.GA3778@intel.com> References: <1480491033-1923-1-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1480491033-1923-1-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Daniel Vetter List-Id: dri-devel@lists.freedesktop.org U2VhbiwgY291bGQgeW91IHBsZWFzZSByZXZpZXcgdGhpcyBwYXRjaCwgSSBoYXZlIHRyaWVkIHRv IGFkZHJlc3MKYWxsIHRoZSBjb21tZW50cyBmcm9tIHlvdS4KClJlZ2FyZHMKTWFuYXNpCgpPbiBU dWUsIE5vdiAyOSwgMjAxNiBhdCAxMTozMDozMVBNIC0wODAwLCBNYW5hc2kgTmF2YXJlIHdyb3Rl Ogo+IEF0IHRoZSB0aW1lIHVzZXJzcGFjZSBkb2VzIHNldGNydGMsIHdlJ3ZlIGFscmVhZHkgcHJv bWlzZWQgdGhlIG1vZGUKPiB3b3VsZCB3b3JrLiBUaGUgcHJvbWlzZSBpcyBiYXNlZCBvbiB0aGUg dGhlb3JldGljYWwgY2FwYWJpbGl0aWVzIG9mCj4gdGhlIGxpbmssIGJ1dCBpdCdzIHBvc3NpYmxl IHdlIGNhbid0IHJlYWNoIHRoaXMgaW4gcHJhY3RpY2UuIFRoZSBEUAo+IHNwZWMgZGVzY3JpYmVz IGhvdyB0aGUgbGluayBzaG91bGQgYmUgcmVkdWNlZCwgYnV0IHdlIGNhbid0IHJlZHVjZQo+IHRo ZSBsaW5rIGJlbG93IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIG1vZGUuIEJsYWNrIHNjcmVlbiBm b2xsb3dzLgo+IAo+IE9uZSBpZGVhIHdvdWxkIGJlIHRvIGhhdmUgc2V0Y3J0YyByZXR1cm4gYSBm YWlsdXJlLiBIb3dldmVyLCBpdAo+IGFscmVhZHkgc2hvdWxkIG5vdCBmYWlsIGFzIHRoZSBhdG9t aWMgY2hlY2tzIGhhdmUgcGFzc2VkLiBJdCB3b3VsZAo+IGFsc28gY29uZmxpY3Qgd2l0aCB0aGUg aWRlYSBvZiBtYWtpbmcgc2V0Y3J0YyBhc3luY2hyb25vdXMgaW4gdGhlCj4gZnV0dXJlLCByZXR1 cm5pbmcgYmVmb3JlIHRoZSBhY3R1YWwgbW9kZSBzZXR0aW5nIGFuZCBsaW5rIHRyYWluaW5nLgo+ IAo+IEFub3RoZXIgaWRlYSBpcyB0byB0cmFpbiB0aGUgbGluayAidXBmcm9udCIgYXQgaG90cGx1 ZyB0aW1lLCBiZWZvcmUKPiBwcnVuaW5nIHRoZSBtb2RlIGxpc3QsIHNvIHRoYXQgd2UgY2FuIGRv IHRoZSBwcnVuaW5nIGJhc2VkIG9uCj4gcHJhY3RpY2FsIG5vdCB0aGVvcmV0aWNhbCBjYXBhYmls aXRpZXMuIEhvd2V2ZXIsIHRoZSBjaGFuZ2VzIGZvciBsaW5rCj4gdHJhaW5pbmcgYXJlIHByZXR0 eSBkcmFzdGljLCBhbGwgZm9yIHRoZSBzYWtlIG9mIGVycm9yIGhhbmRsaW5nIGFuZAo+IERQIGNv bXBsaWFuY2UsIHdoZW4gdGhlIG1vc3QgY29tbW9uIGhhcHB5IGRheSBzY2VuYXJpbyBpcyB0aGUg Y3VycmVudAo+IGFwcHJvYWNoIG9mIGxpbmsgdHJhaW5pbmcgYXQgbW9kZSBzZXR0aW5nIHRpbWUs IHVzaW5nIHRoZSBvcHRpbWFsCj4gcGFyYW1ldGVycyBmb3IgdGhlIG1vZGUuIEl0IGlzIGFsc28g bm90IGNlcnRhaW4gYWxsIGhhcmR3YXJlIGNvdWxkIGRvCj4gdGhpcyB3aXRob3V0IHRoZSBwaXBl IG9uOyBub3QgZXZlbiBhbGwgb3VyIGhhcmR3YXJlIGNhbiBkbyB0aGlzLiBTb21lCj4gb2YgdGhp cyBjYW4gYmUgc29sdmVkLCBidXQgbm90IHRyaXZpYWxseS4KPiAKPiBCb3RoIG9mIHRoZSBhYm92 ZSBpZGVhcyBhbHNvIGZhaWwgdG8gYWRkcmVzcyBsaW5rIGRlZ3JhZGF0aW9uICpkdXJpbmcqCj4g b3BlcmF0aW9uLgo+IAo+IFRoZSBzb2x1dGlvbiBpcyB0byBhZGQgYSBuZXcgImxpbmstc3RhdHVz IiBjb25uZWN0b3IgcHJvcGVydHkgaW4gb3JkZXIKPiB0byBhZGRyZXNzIGxpbmsgdHJhaW5pbmcg ZmFpbHVyZSBpbiBhIHdheSB0aGF0Ogo+IGEpIGNoYW5nZXMgdGhlIGN1cnJlbnQgaGFwcHkgZGF5 IHNjZW5hcmlvIGFzIGxpdHRsZSBhcyBwb3NzaWJsZSwgdG8KPiBhdm9pZCByZWdyZXNzaW9ucywg YikgY2FuIGJlIGltcGxlbWVudGVkIHRoZSBzYW1lIHdheSBieSBhbGwgZHJtCj4gZHJpdmVycywg YykgaXMgc3RpbGwgb3B0LWluIGZvciB0aGUgZHJpdmVycyBhbmQgdXNlcnNwYWNlLCBhbmQgb3B0 aW5nCj4gb3V0IGRvZXNuJ3QgcmVncmVzcyB0aGUgdXNlciBleHBlcmllbmNlLCBkKSBkb2Vzbid0 IHByZXZlbnQgZHJpdmVycwo+IGZyb20gaW1wbGVtZW50aW5nIGJldHRlciBvciBhbHRlcm5hdGUg YXBwcm9hY2hlcywgcG9zc2libHkgd2l0aG91dAo+IHVzZXJzcGFjZSBpbnZvbHZlbWVudC4gQW5k LCBvZiBjb3Vyc2UsIGhhbmRsZXMgYWxsIHRoZSBpc3N1ZXMgcHJlc2VudGVkLgo+IEluIHRoZSB1 c3VhbCBoYXBweSBkYXkgc2NlbmFyaW8sIHRoaXMgaXMgYWx3YXlzICJnb29kIi4gSWYgc29tZXRo aW5nCj4gZmFpbHMgZHVyaW5nIG9yIGFmdGVyIGEgbW9kZSBzZXQsIHRoZSBrZXJuZWwgZHJpdmVy IGNhbiBzZXQgdGhlIGxpbmsKPiBzdGF0dXMgdG8gImJhZCIgYW5kIGlzc3VlIGEgaG90cGx1ZyB1 ZXZlbnQgZm9yIHVzZXJzcGFjZSB0byBoYXZlIGl0Cj4gcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVz IHRocm91Z2ggR0VUX0NPTk5FQ1RPUiBJT0NUTCwgYW5kIHRyeSBtb2Rlc2V0Cj4gYWdhaW4uIElm IHRoZSB0aGVvcmV0aWNhbCBjYXBhYmlsaXRpZXMgb2YgdGhlIGxpbmsgY2FuJ3QgYmUgcmVhY2hl ZCwKPiB0aGUgbW9kZSBsaXN0IGlzIHRyaW1tZWQgYmFzZWQgb24gdGhhdC4KPiAKPiB2NDoKPiAq IEFkZCBjb21tZW50cyBpbiBrZXJuZWwtZG9jIGZvcm1hdCAoRGFuaWVsIFZldHRlcikKPiAqIFVw ZGF0ZSB0aGUga2VybmVsLWRvYyBmb3IgbGluay1zdGF0dXMgKFNlYW4gUGF1bCkKPiB2MzoKPiAq IEZpeGVkIGEgYnVpbGQgZXJyb3IgKEphbmkgU2FhcmluZW4pCj4gdjI6Cj4gKiBSZW1vdmVkIGNv bm5lY3Rvci0+bGlua19zdGF0dXMgKERhbmllbCBWZXR0ZXIpCj4gKiBTZXQgY29ubmVjdG9yLT5z dGF0ZS0+bGlua19zdGF0dXMgaW4gZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19w cm9wZXJ0eQo+IChEYW5pZWwgVmV0dGVyKQo+ICogU2V0IHRoZSBjb25uZWN0b3JfY2hhbmdlZCBm bGFnIHRvIHRydWUgaWYgY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgY2hhbmdlZC4KPiAq IFJlc2V0IGxpbmtfc3RhdHVzIHRvIEdPT0QgaW4gdXBkYXRlX291dHB1dF9zdGF0ZSAoRGFuaWVs IFZldHRlcikKPiAqIE5ldmVyIGFsbG93IHVzZXJzcGFjZSB0byBzZXQgbGluayBzdGF0dXMgZnJv bSBHb29kIFRvIEJhZCAoRGFuaWVsIFZldHRlcikKPiAKPiBBY2tlZC1ieTogVG9ueSBDaGVuZyA8 dG9ueS5jaGVuZ0BhbWQuY29tPgo+IEFja2VkLWJ5OiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2Vu dGxhbmRAYW1kLmNvbT4KPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVs LmNvbT4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gQ2M6 IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogU2VhbiBQYXVsIDxzZWFu cGF1bEBjaHJvbWl1bS5vcmc+Cj4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNp LmQubmF2YXJlQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YyAgICAgICAgfCAxMCArKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jIHwgIDggKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgIHwg NTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBpbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmggICAgICAgICB8IDE5ICsrKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmggICAgICAgfCAgNSArKysrCj4gIGluY2x1ZGUvdWFwaS9kcm0vZHJt X21vZGUuaCAgICAgICAgIHwgIDQgKysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDg5NzM3ZTQu Ljk5MGYwMTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBAQCAtMTA4Nyw2ICsxMDg3LDE0IEBA IGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiAgCQkgKiBub3c/KSBhdG9taWMgd3JpdGVzIHRvIERQTVMgcHJvcGVy dHk6Cj4gIAkJICovCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbmZpZy0+bGlua19zdGF0dXNfcHJvcGVydHkpIHsKPiArCQkvKiBOZXZlciBkb3duZ3Jh ZGUgZnJvbSBHT09EIHRvIEJBRCBvbiB1c2Vyc3BhY2UncyByZXF1ZXN0IGhlcmUsCj4gKwkJICog b25seSBodyBpc3N1ZXMgY2FuIGRvIHRoYXQuCj4gKwkJICovCj4gKwkJaWYgKHN0YXRlLT5saW5r X3N0YXR1cyA9PSBEUk1fTElOS19TVEFUVVNfR09PRCkKPiArCQkJcmV0dXJuIDA7Cj4gKwkJc3Rh dGUtPmxpbmtfc3RhdHVzID0gdmFsOwo+ICsJCXJldHVybiAwOwo+ICAJfSBlbHNlIGlmIChjb25u ZWN0b3ItPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KSB7Cj4gIAkJcmV0dXJuIGNvbm5lY3Rv ci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICAJCQkJc3RhdGUsIHBy b3BlcnR5LCB2YWwpOwo+IEBAIC0xMTM1LDYgKzExNDMsOCBAQCBzdGF0aWMgdm9pZCBkcm1fYXRv bWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCj4gIAkJKnZh bCA9IChzdGF0ZS0+Y3J0YykgPyBzdGF0ZS0+Y3J0Yy0+YmFzZS5pZCA6IDA7Cj4gIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+ZHBtc19wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSBjb25u ZWN0b3ItPmRwbXM7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+bGlua19zdGF0 dXNfcHJvcGVydHkpIHsKPiArCQkqdmFsID0gc3RhdGUtPmxpbmtfc3RhdHVzOwo+ICAJfSBlbHNl IGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7Cj4gIAkJcmV0dXJu IGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICAJCQkJ c3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4g aW5kZXggNDk0NjgwYy4uOTYyZWQ2NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gQEAgLTUxOSw2ICs1MTksMTMgQEAgc3RhdGljIGludCBoYW5kbGVfY29uZmxpY3Rpbmdf ZW5jb2RlcnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCQkJCSAgICAgICBj b25uZWN0b3Jfc3RhdGUpOwo+ICAJCWlmIChyZXQpCj4gIAkJCXJldHVybiByZXQ7Cj4gKwkJaWYg KGNvbm5lY3Rvci0+c3RhdGUtPmNydGMpIHsKPiArCQkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNf Z2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUsCj4gKwkJCQkJCQkJCWNvbm5lY3Rvci0+c3Rh dGUtPmNydGMpOwo+ICsJCQlpZiAoY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgIT0KPiAr CQkJICAgIGNvbm5lY3Rvcl9zdGF0ZS0+bGlua19zdGF0dXMpCj4gKwkJCQljcnRjX3N0YXRlLT5j b25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwo+ICsJCX0KPiAgCX0KPiAgCj4gIAkvKgo+IEBAIC0y MjU4LDYgKzIyNjUsNyBAQCBzdGF0aWMgaW50IHVwZGF0ZV9vdXRwdXRfc3RhdGUoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCQkJCQkJCU5VTEwpOwo+ICAJCQlpZiAocmV0KQo+ ICAJCQkJcmV0dXJuIHJldDsKPiArCQkJY29ubl9zdGF0ZS0+bGlua19zdGF0dXMgPSBEUk1fTElO S19TVEFUVVNfR09PRDsKPiAgCQl9Cj4gIAl9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ IGluZGV4IDVhNDUyNjIuLjg5MDIzNjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9jb25uZWN0b3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiBA QCAtMjQzLDYgKzI0MywxMCBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNl LAo+ICAJCQkJICAgICAgY29uZmlnLT5kcG1zX3Byb3BlcnR5LCAwKTsKPiAgCj4gKwlkcm1fb2Jq ZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAo+ICsJCQkJICAgY29uZmlnLT5s aW5rX3N0YXR1c19wcm9wZXJ0eSwKPiArCQkJCSAgIDApOwo+ICsKPiAgCWlmIChkcm1fY29yZV9j aGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0FUT01JQykpIHsKPiAgCQlkcm1fb2JqZWN0X2F0dGFj aF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBjb25maWctPnByb3BfY3J0Y19pZCwgMCk7Cj4g IAl9Cj4gQEAgLTUwNiw2ICs1MTAsMTIgQEAgY29uc3QgY2hhciAqZHJtX2dldF9zdWJwaXhlbF9v cmRlcl9uYW1lKGVudW0gc3VicGl4ZWxfb3JkZXIgb3JkZXIpCj4gIH07Cj4gIERSTV9FTlVNX05B TUVfRk4oZHJtX2dldF9kcG1zX25hbWUsIGRybV9kcG1zX2VudW1fbGlzdCkKPiAgCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGRybV9saW5rX3N0YXR1c19lbnVtX2xp c3RbXSA9IHsKPiArCXsgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCwgIkdvb2QiIH0sCj4gKwl7 IERSTV9NT0RFX0xJTktfU1RBVFVTX0JBRCwgIkJhZCIgfSwKPiArfTsKPiArRFJNX0VOVU1fTkFN RV9GTihkcm1fZ2V0X2xpbmtfc3RhdHVzX25hbWUsIGRybV9saW5rX3N0YXR1c19lbnVtX2xpc3Qp Cj4gKwo+ICAvKioKPiAgICogZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMgLSBzZXQg dGhlIHN1cHBvcnRlZCBidXMgZm9ybWF0cwo+ICAgKiBAaW5mbzogZGlzcGxheSBpbmZvIHRvIHN0 b3JlIGJ1cyBmb3JtYXRzIGluCj4gQEAgLTYyNSw3ICs2MzUsMTEgQEAgaW50IGRybV9kaXNwbGF5 X2luZm9fc2V0X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvLAo+ICAg KiAJdGlsaW5nIGFuZCB2aXJ0dWFsaXplIGJvdGggJmRybV9jcnRjIGFuZCAmZHJtX3BsYW5lIGlm IG5lZWRlZC4gRHJpdmVycwo+ICAgKiAJc2hvdWxkIHVwZGF0ZSB0aGlzIHZhbHVlIHVzaW5nIGRy bV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eSgpLgo+ICAgKiAJVXNlcnNwYWNlIGNh bm5vdCBjaGFuZ2UgdGhpcyBwcm9wZXJ0eS4KPiAtICoKPiArICogbGluay1zdGF0dXM6Cj4gKyAq ICAgICAgQ29ubmVjdG9yIGxpbmstc3RhdHVzIHByb3BlcnR5IHRvIGluZGljYXRlIHRoZSBzdGF0 dXMgb2YgbGluay4gVGhlIGRlZmF1bHQKPiArICogICAgICB2YWx1ZSBvZiBsaW5rLXN0YXR1cyBp cyAiR09PRCIuIElmIHNvbWV0aGluZyBmYWlscyBkdXJpbmcgb3IgYWZ0ZXIgbW9kZXNldCwKPiAr ICogICAgICB0aGUga2VybmVsIGRyaXZlciBtYXkgc2V0IHRoaXMgdG8gIkJBRCIgYW5kIGlzc3Vl IGEgaG90cGx1ZyB1ZXZlbnQuIERyaXZlcnMKPiArICogICAgICBzaG91bGQgdXBkYXRlIHRoaXMg dmFsdWUgdXNpbmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSgp Lgo+ICAgKiBDb25uZWN0b3JzIGFsc28gaGF2ZSBvbmUgc3RhbmRhcmRpemVkIGF0b21pYyBwcm9w ZXJ0eToKPiAgICoKPiAgICogQ1JUQ19JRDoKPiBAQCAtNjY2LDYgKzY4MCwxMyBAQCBpbnQgZHJt X2Nvbm5lY3Rvcl9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICAJZGV2LT5tb2RlX2NvbmZpZy50aWxlX3Byb3Bl cnR5ID0gcHJvcDsKPiAgCj4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwg MCwgImxpbmstc3RhdHVzIiwKPiArCQkJCQlkcm1fbGlua19zdGF0dXNfZW51bV9saXN0LAo+ICsJ CQkJCUFSUkFZX1NJWkUoZHJtX2xpbmtfc3RhdHVzX2VudW1fbGlzdCkpOwo+ICsJaWYgKCFwcm9w KQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsJZGV2LT5tb2RlX2NvbmZpZy5saW5rX3N0YXR1c19w cm9wZXJ0eSA9IHByb3A7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gQEAgLTk5NSw2ICsx MDE2LDM3IEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9t b2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSk7Cj4gIAo+ICsvKioKPiArICogZHJt X21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSAtIFNldCBsaW5rIHN0YXR1 cyBwcm9wZXJ0eSBvZiBhIGNvbm5lY3Rvcgo+ICsgKiBAY29ubmVjdG9yOiBkcm0gY29ubmVjdG9y Cj4gKyAqIEBsaW5rX3N0YXR1czogbmV3IHZhbHVlIG9mIGxpbmsgc3RhdHVzIHByb3BlcnR5ICgw OiBHb29kLCAxOiBCYWQpCj4gKyAqCj4gKyAqIEluIHVzdWFsIHdvcmtpbmcgc2NlbmFyaW8sIHRo aXMgbGluayBzdGF0dXMgcHJvcGVydHkgd2lsbCBhbHdheXMgYmUgc2V0IHRvCj4gKyAqICJHT09E Ii4gSWYgc29tZXRoaW5nIGZhaWxzIGR1cmluZyBvciBhZnRlciBhIG1vZGUgc2V0LCB0aGUga2Vy bmVsIGRyaXZlcgo+ICsgKiBtYXkgc2V0IHRoaXMgbGluayBzdGF0dXMgcHJvcGVydHkgdG8gIkJB RCIuIFRoZSBjYWxsZXIgdGhlbiBuZWVkcyB0byBzZW5kIGEKPiArICogaG90cGx1ZyB1ZXZlbnQg Zm9yIHVzZXJzcGFjZSB0byByZS1jaGVjayB0aGUgdmFsaWQgbW9kZXMgdGhyb3VnaAo+ICsgKiBH RVRfQ09OTkVDVE9SX0lPQ1RMIGFuZCByZXRyeSBtb2Rlc2V0Lgo+ICsgKgo+ICsgKiBOb3RlOiBE cml2ZXJzIGNhbm5vdCByZWx5IG9uIHVzZXJzcGFjZSB0byBzdXBwb3J0IHRoaXMgcHJvcGVydHkg YW5kCj4gKyAqIGlzc3VlIGEgbW9kZXNldC4gQXMgc3VjaCwgdGhleSBtYXkgY2hvb3NlIHRvIGhh bmRsZSBpc3N1ZXMgKGxpa2UKPiArICogcmUtdHJhaW5pbmcgYSBsaW5rKSB3aXRob3V0IHVzZXJz cGFjZSdzIGludGVydmVudGlvbi4KPiArICoKPiArICogVGhlIHJlYXNvbiBmb3IgYWRkaW5nIHRo aXMgcHJvcGVydHkgaXMgdG8gaGFuZGxlIGxpbmsgdHJhaW5pbmcgZmFpbHVyZXMsIGJ1dAo+ICsg KiBpdCBpcyBub3QgbGltaXRlZCB0byBEUCBvciBsaW5rIHRyYWluaW5nLiBGb3IgZXhhbXBsZSwg aWYgd2UgaW1wbGVtZW50Cj4gKyAqIGFzeW5jaHJvbm91cyBzZXRjcnRjLCB0aGlzIHByb3BlcnR5 IGNhbiBiZSB1c2VkIHRvIHJlcG9ydCBhbnkgZmFpbHVyZXMgaW4gdGhhdC4KPiArICovCj4gK3Zv aWQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJCQkgdWludDY0X3QgbGlua19zdGF0dXMpCj4g K3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiArCj4gKwlk cm1fbW9kZXNldF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIE5VTEwp Owo+ICsJY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgPSBsaW5rX3N0YXR1czsKPiArCWRy bV9tb2Rlc2V0X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KTsKPiAr Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVz X3Byb3BlcnR5KTsKPiArCj4gIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X29ial9wcm9wKHN0 cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICpwcm9wZXJ0eSwKPiAgCQkJCSAgICB1aW50NjRfdCB2YWx1ZSkKPiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4g aW5kZXggMzRmOTc0MS4uNTNjNWY3MCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29u bmVjdG9yLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBAQCAtOTAsNiAr OTAsMTcgQEAgZW51bSBzdWJwaXhlbF9vcmRlciB7Cj4gIH07Cj4gIAo+ICAvKioKPiArICogZW51 bSBkcm1fbGlua19zdGF0dXMgLSBjb25uZWN0b3IncyBsaW5rX3N0YXR1cyBwcm9wZXJ0eSB2YWx1 ZQo+ICsgKgo+ICsgKiBUaGlzIGVudW0gaXMgdXNlZCBhcyB0aGUgY29ubmVjdG9yJ3MgbGluayBz dGF0dXMgcHJvcGVydHkgdmFsdWUuCj4gKyAqIEl0IGlzIHNldCB0byB0aGUgdmFsdWVzIGRlZmlu ZWQgaW4gdWFwaS4KPiArICovCj4gK2VudW0gZHJtX2xpbmtfc3RhdHVzIHsKPiArCURSTV9MSU5L X1NUQVRVU19HT09EID0gRFJNX01PREVfTElOS19TVEFUVVNfR09PRCwKPiArCURSTV9MSU5LX1NU QVRVU19CQUQgPSBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQsCj4gK307Cj4gKwo+ICsvKioKPiAg ICogc3RydWN0IGRybV9kaXNwbGF5X2luZm8gLSBydW50aW1lIGRhdGEgYWJvdXQgdGhlIGNvbm5l Y3RlZCBzaW5rCj4gICAqCj4gICAqIERlc2NyaWJlcyBhIGdpdmVuIGRpc3BsYXkgKGUuZy4gQ1JU IG9yIGZsYXQgcGFuZWwpIGFuZCBpdHMgbGltaXRhdGlvbnMuIEZvcgo+IEBAIC0yMTMsNiArMjI0 LDEyIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPiAgCj4gIAlzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmJlc3RfZW5jb2RlcjsKPiAgCj4gKwkvKioKPiArCSAqIEBsaW5rX3N0YXR1czogQ29u bmVjdG9yIGxpbmtfc3RhdHVzIHRvIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBsaW5rIGlzCj4gKwkg KiBHT09EIG9yIEJBRCB0byBub3RpZnkgdXNlcnNwYWNlIGlmIHJldHJhaW5pbmcgaXMgbmVjZXNz YXJ5Lgo+ICsJICovCj4gKwllbnVtIGRybV9saW5rX3N0YXR1cyBsaW5rX3N0YXR1czsKPiArCj4g IAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gIH07Cj4gIAo+IEBAIC03NzMsNiAr NzkwLDggQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF90 aWxlX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICBpbnQgZHJt X21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlkKTsKPiArdm9p ZCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkJCSB1aW50NjRfdCBsaW5rX3N0YXR1cyk7Cj4g IAo+ICAvKioKPiAgICogc3RydWN0IGRybV90aWxlX2dyb3VwIC0gVGlsZSBncm91cCBtZXRhZGF0 YQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUv ZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gaW5kZXggYmY5OTkxYi4uODZmYWVlNCAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oCj4gQEAgLTQzMSw2ICs0MzEsMTEgQEAgc3RydWN0IGRybV9tb2RlX2Nv bmZpZyB7Cj4gIAkgKi8KPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKnRpbGVfcHJvcGVydHk7Cj4g IAkvKioKPiArCSAqIEBsaW5rX3N0YXR1c19wcm9wZXJ0eTogRGVmYXVsdCBjb25uZWN0b3IgcHJv cGVydHkgZm9yIGxpbmsgc3RhdHVzCj4gKwkgKiBvZiBhIGNvbm5lY3Rvcgo+ICsJICovCj4gKwlz dHJ1Y3QgZHJtX3Byb3BlcnR5ICpsaW5rX3N0YXR1c19wcm9wZXJ0eTsKPiArCS8qKgo+ICAJICog QHBsYW5lX3R5cGVfcHJvcGVydHk6IERlZmF1bHQgcGxhbmUgcHJvcGVydHkgdG8gZGlmZmVyZW50 aWF0ZQo+ICAJICogQ1VSU09SLCBQUklNQVJZIGFuZCBPVkVSTEFZIGxlZ2FjeSB1c2VzIG9mIHBs YW5lcy4KPiAgCSAqLwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgg Yi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiBpbmRleCA3Mjg3OTBiLi4zMDljNDc4IDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ICsrKyBiL2luY2x1ZGUv dWFwaS9kcm0vZHJtX21vZGUuaAo+IEBAIC0xMjMsNiArMTIzLDEwIEBACj4gICNkZWZpbmUgRFJN X01PREVfRElSVFlfT04gICAgICAgMQo+ICAjZGVmaW5lIERSTV9NT0RFX0RJUlRZX0FOTk9UQVRF IDIKPiAgCj4gKy8qIExpbmsgU3RhdHVzIG9wdGlvbnMgKi8KPiArI2RlZmluZSBEUk1fTU9ERV9M SU5LX1NUQVRVU19HT09ECTAKPiArI2RlZmluZSBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQJMQo+ ICsKPiAgc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIHsKPiAgCV9fdTMyIGNsb2NrOwo+ICAJX191 MTYgaGRpc3BsYXk7Cj4gLS0gCj4gMS45LjEKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==