From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH RFC] drm: Add a new connector atomic property for link status Date: Wed, 23 Nov 2016 11:07:27 -0800 Message-ID: <20161123190727.GA9080@intel.com> References: <1479864621-8105-1-git-send-email-manasi.d.navare@intel.com> <20161123100059.pa2xic6xewnmdomt@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161123100059.pa2xic6xewnmdomt@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBOb3YgMjMsIDIwMTYgYXQgMTE6MDA6NTlBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIE5vdiAyMiwgMjAxNiBhdCAwNTozMDoyMVBNIC0wODAwLCBNYW5hc2kg TmF2YXJlIHdyb3RlOgo+ID4gVGhpcyBpcyBSRkMgcGF0Y2ggZm9yIGFkZGluZyBhIGNvbm5lY3Rv ciBsaW5rLXN0YXR1cyBwcm9wZXJ0eQo+ID4gYW5kIG1ha2luZyBpdCBhdG9taWMgYnkgYWRkaW5n IGl0IHRvIHRoZSBkcm1fY29ubmVjdG9yX3N0YXRlLgo+ID4gVGhpcyBpcyB0byBtYWtlIHN1cmUg aXRzIHdpcmVkIHByb3Blcmx5IGluIGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eQo+ ID4gYW5kIGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eSBmdW5jdGlvbnMuCj4gPiAK PiA+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+ID4gQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4gQ2M6IFZpbGxlIFN5 cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gQ2M6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5h dmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMgICAgfCAgNSArKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9j b25uZWN0b3IuYyB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t Cj4gPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICB8IDEyICsrKysrKystCj4gPiAg aW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggICB8ICA1ICsrKysKPiA+ICBpbmNsdWRlL3Vh cGkvZHJtL2RybV9tb2RlLmggICAgIHwgIDQgKysrCj4gPiAgNSBmaWxlcyBjaGFuZ2VkLCA4OCBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+ IGluZGV4IDg5NzM3ZTQuLjY0NGQxOWYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiBA QCAtMTA4Nyw2ICsxMDg3LDkgQEAgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJICogbm93PykgYXRvbWlj IHdyaXRlcyB0byBEUE1TIHByb3BlcnR5Ogo+ID4gIAkJICovCj4gPiAgCQlyZXR1cm4gLUVJTlZB TDsKPiA+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3Bl cnR5KSB7Cj4gPiArCQlzdGF0ZS0+bGlua19zdGF0dXMgPSB2YWw7Cj4gPiArCQlyZXR1cm4gMDsK PiA+ICAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KSB7 Cj4gPiAgCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjb25u ZWN0b3IsCj4gPiAgCQkJCXN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiA+IEBAIC0xMTM1LDYgKzEx MzgsOCBAQCBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0ZShzdHJ1 Y3QgZHJtX3ByaW50ZXIgKnAsCj4gPiAgCQkqdmFsID0gKHN0YXRlLT5jcnRjKSA/IHN0YXRlLT5j cnRjLT5iYXNlLmlkIDogMDsKPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmRw bXNfcHJvcGVydHkpIHsKPiA+ICAJCSp2YWwgPSBjb25uZWN0b3ItPmRwbXM7Cj4gPiArCX0gZWxz ZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5saW5rX3N0YXR1c19wcm9wZXJ0eSkgewo+ID4gKwkJ KnZhbCA9IHN0YXRlLT5saW5rX3N0YXR1czsKPiA+ICAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1 bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7Cj4gPiAgCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5j cy0+YXRvbWljX2dldF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gPiAgCQkJCXN0YXRlLCBwcm9wZXJ0 eSwgdmFsKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gaW5kZXggNWE0NTI2Mi4uNDU3 NmM5ZiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+IEBAIC0yNDMsNiArMjQz LDEwIEBAIGludCBkcm1fY29ubmVjdG9yX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ ICAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKPiA+ICAJCQkJ ICAgICAgY29uZmlnLT5kcG1zX3Byb3BlcnR5LCAwKTsKPiA+ICAKPiA+ICsJZHJtX29iamVjdF9h dHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKPiA+ICsJCQkJICAgY29uZmlnLT5saW5r X3N0YXR1c19wcm9wZXJ0eSwKPiA+ICsJCQkJICAgMCk7Cj4gPiArCj4gPiAgCWlmIChkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0FUT01JQykpIHsKPiA+ICAJCWRybV9vYmplY3Rf YXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsIGNvbmZpZy0+cHJvcF9jcnRjX2lkLCAw KTsKPiA+ICAJfQo+ID4gQEAgLTUwNiw2ICs1MTAsMTIgQEAgY29uc3QgY2hhciAqZHJtX2dldF9z dWJwaXhlbF9vcmRlcl9uYW1lKGVudW0gc3VicGl4ZWxfb3JkZXIgb3JkZXIpCj4gPiAgfTsKPiA+ ICBEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfZHBtc19uYW1lLCBkcm1fZHBtc19lbnVtX2xpc3Qp Cj4gPiAgCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX2xp bmtfc3RhdHVzX2VudW1fbGlzdFtdID0gewo+ID4gKwl7IERSTV9NT0RFX0xJTktfU1RBVFVTX0dP T0QsICJHb29kIiB9LAo+ID4gKwl7IERSTV9NT0RFX0xJTktfU1RBVFVTX0JBRCwgIkJhZCIgfSwK PiA+ICt9Owo+ID4gK0RSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9saW5rX3N0YXR1c19uYW1lLCBk cm1fbGlua19zdGF0dXNfZW51bV9saXN0KQo+ID4gKwo+ID4gIC8qKgo+ID4gICAqIGRybV9kaXNw bGF5X2luZm9fc2V0X2J1c19mb3JtYXRzIC0gc2V0IHRoZSBzdXBwb3J0ZWQgYnVzIGZvcm1hdHMK PiA+ICAgKiBAaW5mbzogZGlzcGxheSBpbmZvIHRvIHN0b3JlIGJ1cyBmb3JtYXRzIGluCj4gPiBA QCAtNjE2LDcgKzYyNiw3IEBAIGludCBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyhz dHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbywKPiA+ICAgKiAJcGF0aCBwcm9wZXJ0eSB0aGUg TVNUIG1hbmFnZXIgY3JlYXRlZC4gVXNlcnNwYWNlIGNhbm5vdCBjaGFuZ2UgdGhpcwo+ID4gICAq IAlwcm9wZXJ0eS4KPiA+ICAgKiBUSUxFOgo+ID4gLSAqIAlDb25uZWN0b3IgdGlsZSBncm91cCBw cm9wZXJ0eSB0byBpbmRpY2F0ZSBob3cgYSBzZXQgb2YgRFJNIGNvbm5lY3Rvcgo+ID4gKyAqICAg ICAgQ29ubmVjdG9yIHRpbGUgZ3JvdXAgcHJvcGVydHkgdG8gaW5kaWNhdGUgaG93IGEgc2V0IG9m IERSTSBjb25uZWN0b3IKPiA+ICAgKiAJY29tcG9zZSB0b2dldGhlciBpbnRvIG9uZSBsb2dpY2Fs IHNjcmVlbi4gVGhpcyBpcyB1c2VkIGJ5IGJvdGggaGlnaC1yZXMKPiA+ICAgKiAJZXh0ZXJuYWwg c2NyZWVucyAob2Z0ZW4gb25seSB1c2luZyBhIHNpbmdsZSBjYWJsZSwgYnV0IGV4cG9zaW5nIG11 bHRpcGxlCj4gPiAgICogCURQIE1TVCBzaW5rcyksIG9yIGhpZ2gtcmVzIGludGVncmF0ZWQgcGFu ZWxzIChsaWtlIGR1YWwtbGluayBEU0kpIHdoaWNoCj4gPiBAQCAtNjI1LDcgKzYzNSwxNCBAQCBp bnQgZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoc3RydWN0IGRybV9kaXNwbGF5X2lu Zm8gKmluZm8sCj4gPiAgICogCXRpbGluZyBhbmQgdmlydHVhbGl6ZSBib3RoICZkcm1fY3J0YyBh bmQgJmRybV9wbGFuZSBpZiBuZWVkZWQuIERyaXZlcnMKPiA+ICAgKiAJc2hvdWxkIHVwZGF0ZSB0 aGlzIHZhbHVlIHVzaW5nIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eSgpLgo+ ID4gICAqIAlVc2Vyc3BhY2UgY2Fubm90IGNoYW5nZSB0aGlzIHByb3BlcnR5Lgo+ID4gLSAqCj4g PiArICogbGluay1zdGF0dXM6Cj4gPiArICogICAgICBDb25uZWN0b3IgbGluay1zdGF0dXMgcHJv cGVydHkgdG8gaW5kaWNhdGUgdGhlIHN0YXR1cyBvZiBsaW5rIGR1cmluZwo+ID4gKyAqICAgICAg dGhlIG1vZGVzZXQuIFRoZSBkZWZhdWx0IHZhbHVlIG9mIGxpbmstc3RhdHVzIGlzICJHT09EIi4g SWYgc29tZXRoaW5nCj4gPiArICogICAgICBmYWlscyBkdXJpbmcgbW9kZXNldCwgdGhlIGtlcm5l bCBkcml2ZXIgY2FuIHNldCB0aGlzIHRvICJCQUQiLCBwcnVuZQo+ID4gKyAqICAgICAgdGhlIG1v ZGUgbGlzdCBiYXNlZCBvbiBuZXcgbGluayBwYXJhbWV0ZXJzIGFuZCBzZW5kIGEgaG90cGx1ZyB1 ZXZlbnQKPiA+ICsgKiAgICAgIHRvIG5vdGlmeSB1c2Vyc3BhY2UgdG8gcmUtY2hlY2sgdGhlIHZh bGlkIG1vZGVzIHRocm91Z2ggR0VUX0NPTk5FQ1RPUgo+ID4gKyAqICAgICAgSU9DVEwgYW5kIHJl ZG8gYSBtb2Rlc2V0LiBEcml2ZXJzIHNob3VsZCB1cGRhdGUgdGhpcyB2YWx1ZSB1c2luZwo+ID4g KyAqICAgICAgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSgpLgo+ ID4gICAqIENvbm5lY3RvcnMgYWxzbyBoYXZlIG9uZSBzdGFuZGFyZGl6ZWQgYXRvbWljIHByb3Bl cnR5Ogo+ID4gICAqCj4gPiAgICogQ1JUQ19JRDoKPiA+IEBAIC02NjYsNiArNjgzLDEzIEBAIGlu dCBkcm1fY29ubmVjdG9yX2NyZWF0ZV9zdGFuZGFyZF9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gPiAgCQlyZXR1cm4gLUVOT01FTTsKPiA+ICAJZGV2LT5tb2RlX2NvbmZpZy50 aWxlX3Byb3BlcnR5ID0gcHJvcDsKPiA+ICAKPiA+ICsJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVh dGVfZW51bShkZXYsIERSTV9NT0RFX1BST1BfQVRPTUlDLCAibGluay1zdGF0dXMiLAo+ID4gKwkJ CQkJZHJtX2xpbmtfc3RhdHVzX2VudW1fbGlzdCwKPiA+ICsJCQkJCUFSUkFZX1NJWkUoZHJtX2xp bmtfc3RhdHVzX2VudW1fbGlzdCkpOwo+ID4gKwlpZiAoIXByb3ApCj4gPiArCQlyZXR1cm4gLUVO T01FTTsKPiA+ICsJZGV2LT5tb2RlX2NvbmZpZy5saW5rX3N0YXR1c19wcm9wZXJ0eSA9IHByb3A7 Cj4gPiArCj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+ICAKPiA+IEBAIC05OTUsNiArMTAxOSw0 MyBAQCBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAgfQo+ID4gIEVYUE9SVF9TWU1CT0woZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KTsKPiA+ICAKPiA+ICsvKioKPiA+ICsg KiBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5IC0gU2V0IGxpbmsg c3RhdHVzIHByb3BlcnR5IG9mIGEgY29ubmVjdG9yCj4gPiArICogQGNvbm5lY3RvcjogZHJtIGNv bm5lY3Rvcgo+ID4gKyAqIEBsaW5rX3N0YXR1czogbmV3IHZhbHVlIG9mIGxpbmsgc3RhdHVzIHBy b3BlcnR5ICgwOiBHb29kLCAxOiBCYWQpCj4gPiArICoKPiA+ICsgKiBJbiB1c3VhbCB3b3JraW5n IHNjZW5hcmlvLCB0aGlzIGxpbmsgc3RhdHVzIHByb3BlcnR5IHdpbGwgYWx3YXlzIGJlIHNldCB0 bwo+ID4gKyAqICJHT09EIi4gSWYgc29tZXRoaW5nIGZhaWxzIGR1cmluZyBvciBhZnRlciBhIG1v ZGUgc2V0LCB0aGUga2VybmVsIGRyaXZlciBzaG91bGQKPiA+ICsgKiBzZXQgdGhpcyBsaW5rIHN0 YXR1cyBwcm9wZXJ0eSB0byAiQkFEIiBhbmQgcHJ1bmUgdGhlIG1vZGUgbGlzdCBiYXNlZCBvbiBu ZXcKPiA+ICsgKiBpbmZvcm1hdGlvbi4gVGhlIGNhbGxlciB0aGVuIG5lZWRzIHRvIHNlbmQgYSBo b3RwbHVnIHVldmVudCBmb3IgdXNlcnNwYWNlIHRvCj4gPiArICogIHJlLWNoZWNrIHRoZSB2YWxp ZCBtb2RlcyB0aHJvdWdoIEdFVF9DT05ORUNUT1JfSU9DVEwgYW5kIHJldHJ5IG1vZGVzZXQuCj4g PiArICoKPiA+ICsgKiBOb3RlIHRoYXQgYSBsb3Qgb2YgZXhpc3RpbmcgdXNlcnNwYWNlIGRvIG5v dCBoYW5kbGUgdGhpcyBwcm9wZXJ0eS4KPiA+ICsgKiBEcml2ZXJzIGNhbiB0aGVyZWZvcmUgbm90 IHJlbHkgb24gdXNlcnNwYWNlIHRvIGZpeCB1cCBldmVyeXRoaW5nIGFuZAo+ID4gKyAqIHNob3Vs ZCB0cnkgdG8gaGFuZGxlIGlzc3VlcyAobGlrZSBqdXN0IHJlLXRyYWluaW5nIGEgbGluaykgd2l0 aG91dAo+ID4gKyAqIHVzZXJzcGFjZSdzIGludGVydmVudGlvbi4gVGhpcyBzaG91bGQgb25seSBi ZSB1c2VkIHdoZW4gdGhlIGN1cnJlbnQgbW9kZQo+ID4gKyAqIGZhaWxzIGFuZCB1c2Vyc3BhY2Ug bXVzdCBzZWxlY3QgYSBkaWZmZXJlbnQgZGlzcGxheSBtb2RlLgo+ID4gKyAqIFRoZSBEUk0gZHJp dmVyIGNhbiBjaG9zZSB0byBub3QgbW9kaWZ5IHByb3BlcnR5IGFuZCBrZWVwIGxpbmsgc3RhdHVz Cj4gPiArICogYXMgIkdPT0QiIGFsd2F5cyB0byBrZWVwIHRoZSB1c2VyIGV4cGVyaWVuY2Ugc2Ft ZSBhcyBpdCBjdXJyZW50bHkgaXMuCj4gPiArICoKPiA+ICsgKiBUaGUgcmVhc29uIGZvciBhZGRp bmcgdGhpcyBwcm9wZXJ0eSBpcyB0byBoYW5kbGUgbGluayB0cmFpbmluZyBmYWlsdXJlcywgYnV0 Cj4gPiArICogaXQgaXMgbm90IGxpbWl0ZWQgdG8gRFAgb3IgbGluayB0cmFpbmluZy4gRm9yIGV4 YW1wbGUsIGlmIHdlIGltcGxlbWVudAo+ID4gKyAqIGFzeW5jaHJvbm91cyBzZXRjcnRjLCB0aGlz IHByb3BlcnR5IGNhbiBiZSB1c2VkIHRvIHJlcG9ydCBhbnkgZmFpbHVyZXMgaW4gdGhhdC4KPiA+ ICsgKi8KPiA+ICt2b2lkIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ICsJCQkJCQkgdWludDY0X3Qg bGlua19zdGF0dXMpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVj dG9yLT5kZXY7Cj4gPiArCj4gPiArCS8qIE1ha2Ugc3VyZSB0aGUgbXV0ZXggaXMgZ3JhYmJlZCAq Lwo+ID4gKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiAK PiBGb3IgYXRvbWljIHRoZSBsb2NrIHdlIG5lZWQgaXMgZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0 aW9uX211dGV4KTsgTWF5YmUKPiB3ZSBzaG91bGQganVzdCBncmFiIHRoYXQgaGVyZSwgZnJvbSBh IHF1aWNrIGNoZWNrIGl0IHNob3VsZG4ndCByZXN1bHQgaW4gYQo+IGRlYWRsb2NrLgo+CgpTbyBh ZnRlciBncmFiaW5nIHRoZSBjb25uZWN0aW9uIG11dGV4LCBkbyB3ZSBzdGlsbCBuZWVkIHRoZSBs b2NrZGVwIGFzc2VydCBoZWxkIGZvcgptb2RlX2NvbmZpZy5tdXRleD8KVGhpcyBnZXRzIGNhbGxl ZCBmcm9tIHRoZSB3b3JrIGZ1bmMgdGhhdCBob2xkcyB0aGUgbW9kZS1jb25maWcubXV0ZXgsIGRv IHdlIG5lZWQgdG8gZHJvcCB0aGF0Cm11dGV4IHRoZW4gb3IgaXMgaXQgb2theSB0byBob2xkIG1v ZGVfY29uZmlnLm11dGV4IGFzIHdlbGwgYXMgY29ubmVjdGlvbiBtdXRleD8KCiAKPiA+ICsJY29u bmVjdG9yLT5saW5rX3N0YXR1cyA9IGxpbmtfc3RhdHVzOwo+IAo+IFlvdSBuZWVkIHRvIHNldCBj b25uZWN0b3ItPnN0YXRlLT5saW5rX3N0YXR1cyBoZXJlIGZvciBhbiBhdG9taWMgcHJvcGVydHku Cj4KClllcyBJIG5lZWQgdG8gc2V0IHRoZSBjb25uZWN0b3Igc3RhdGUgaGVyZS4gSSB3aWxsIGFk ZCB0aGF0LgogCj4gPiArCWRybV9vYmplY3RfcHJvcGVydHlfc2V0X3ZhbHVlKCZjb25uZWN0b3It PmJhc2UsCj4gPiArCQkJCSAgICAgIGRldi0+bW9kZV9jb25maWcubGlua19zdGF0dXNfcHJvcGVy dHksCj4gPiArCQkJCSAgICAgIGxpbmtfc3RhdHVzKTsKPiAKPiBBbmQgdGhpcyBoZXJlIGlzbid0 IG5lZWRlZCBhbnltb3JlIHdpdGggYXRvbWljLgo+CgpTbyB3ZSBubyBsb25nZXIgaGF2ZSB0aGUg bGlua19zdGF0dXMgcHJvcGVydHkgaW4gbW9kZV9jb25maWcgc3RydWN0PwpBbGwgd2UgaGF2ZSBp cyB0aGUgbGlua19zdGF0dXMgaW4gZG1yX2Nvbm5lY3Rvcl9zdGF0ZT8KCk1hbmFzaSAKPiA+ICt9 Cj4gPiArRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3By b3BlcnR5KTsKPiA+ICsKPiA+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9vYmpfcHJvcChz dHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCj4gPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX3Byb3Bl cnR5ICpwcm9wZXJ0eSwKPiA+ICAJCQkJICAgIHVpbnQ2NF90IHZhbHVlKQo+ID4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0 b3IuaAo+ID4gaW5kZXggMzRmOTc0MS4uM2Q1MTNhYiAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o Cj4gPiBAQCAtMjEzLDYgKzIxMyw5IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPiA+ ICAKPiA+ICAJc3RydWN0IGRybV9lbmNvZGVyICpiZXN0X2VuY29kZXI7Cj4gPiAgCj4gPiArCS8q IENvbm5lY3RvciBMaW5rIHN0YXR1cyAqLwo+ID4gKwl1bnNpZ25lZCBpbnQgbGlua19zdGF0dXM7 Cj4gCj4gZW51bSBkcm1fbGlua19zdGF0dXMgewo+IAlEUk1fTElOS19TVEFUVVNfR09PRCA9IERS TV9NT0RFX0xJTktfU1RBVFVTX0dPT0Q7Cj4gCURSTV9MSU5LX1NUQVRVU19CQUQgPSBEUk1fTU9E RV9MSU5LX1NUQVRVU19HT09EOwo+IH07Cj4gCj4gVGhpcyB3YXkgeW91IGRvbid0IG5lZWQgYSBj b21tZW50IGV4cGxhaW5nIHRoYXQgMCBpcyBnb29kIGFuZCAxIGlzIGJhZC4KPiAKPiA+ICsKPiA+ ICAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwo+ID4gIH07Cj4gPiAgCj4gPiBAQCAt Njk1LDYgKzY5OCwxMiBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7Cj4gPiAgCXVpbnQ4X3QgbnVt X2hfdGlsZSwgbnVtX3ZfdGlsZTsKPiA+ICAJdWludDhfdCB0aWxlX2hfbG9jLCB0aWxlX3ZfbG9j Owo+ID4gIAl1aW50MTZfdCB0aWxlX2hfc2l6ZSwgdGlsZV92X3NpemU7Cj4gPiArCj4gPiArCS8q IENvbm5lY3RvciBMaW5rIHN0YXR1cwo+ID4gKwkgKiAwOiBJZiB0aGUgbGluayBpcyBHb29kCj4g PiArCSAqIDE6IElmIHRoZSBsaW5rIGlzIEJhZAo+ID4gKwkgKi8KPiA+ICsJaW50IGxpbmtfc3Rh dHVzOwo+IAo+IFRoaXMgb25lIG5lZWRzIHRvIGdvLCB3ZSBkb24ndCB3YW50IHRvIGR1cGxpY2F0 ZSB0aGlzIGluZm9ybWF0aW9uLgo+IAo+ID4gIH07CgpUaGlzIHdhcyBhZGRlZCBzbyB3ZSBjYW4g ZWFzaWx5IGdyYWIgdGhpcyB2YWx1ZSB3aXRoaW4gaW50ZWxfZHAgZnVuY3Rpb25zLApvciBzaG91 bGQgdGhvc2UgZnVuY3Rpb25zIGRpcmVjdGx5IHJlYWQgdGhlIGNvbm5lY3Rvci0+c3RhdGUtPmxp bmtfc3R0YXVzPwoKCj4gPiAgCj4gPiAgI2RlZmluZSBvYmpfdG9fY29ubmVjdG9yKHgpIGNvbnRh aW5lcl9vZih4LCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciwgYmFzZSkKPiA+IEBAIC03NjcsMTIgKzc3 NiwxMyBAQCBpbnQgZHJtX21vZGVfY3JlYXRlX3R2X3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiA+ICBpbnQgZHJtX21vZGVfY3JlYXRlX3NjYWxpbmdfbW9kZV9wcm9wZXJ0eShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICBpbnQgZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9y YXRpb19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICBpbnQgZHJtX21vZGVf Y3JlYXRlX3N1Z2dlc3RlZF9vZmZzZXRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKPiA+IC0KPiA+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9wYXRoX3Byb3BlcnR5KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAgCQkJCQkgY29uc3QgY2hhciAqcGF0 aCk7Cj4gPiAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3Vw ZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAg CQkJCQkgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwo+ID4gK3ZvaWQgZHJtX21vZGVfY29u bmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ID4gKwkJCQkJCSB1aW50NjRfdCBsaW5rX3N0YXR1cyk7Cj4gPiAgCj4gPiAgLyoq Cj4gPiAgICogc3RydWN0IGRybV90aWxlX2dyb3VwIC0gVGlsZSBncm91cCBtZXRhZGF0YQo+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmgKPiA+IGluZGV4IGJmOTk5MWIuLjg2ZmFlZTQgMTAwNjQ0Cj4gPiAt LS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmgKPiA+IEBAIC00MzEsNiArNDMxLDExIEBAIHN0cnVjdCBkcm1fbW9k ZV9jb25maWcgewo+ID4gIAkgKi8KPiA+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqdGlsZV9wcm9w ZXJ0eTsKPiA+ICAJLyoqCj4gPiArCSAqIEBsaW5rX3N0YXR1c19wcm9wZXJ0eTogRGVmYXVsdCBj b25uZWN0b3IgcHJvcGVydHkgZm9yIGxpbmsgc3RhdHVzCj4gPiArCSAqIG9mIGEgY29ubmVjdG9y Cj4gPiArCSAqLwo+ID4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpsaW5rX3N0YXR1c19wcm9wZXJ0 eTsKPiA+ICsJLyoqCj4gPiAgCSAqIEBwbGFuZV90eXBlX3Byb3BlcnR5OiBEZWZhdWx0IHBsYW5l IHByb3BlcnR5IHRvIGRpZmZlcmVudGlhdGUKPiA+ICAJICogQ1VSU09SLCBQUklNQVJZIGFuZCBP VkVSTEFZIGxlZ2FjeSB1c2VzIG9mIHBsYW5lcy4KPiA+ICAJICovCj4gPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5o Cj4gPiBpbmRleCA3Mjg3OTBiLi4zMDljNDc4IDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oCj4gPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ IEBAIC0xMjMsNiArMTIzLDEwIEBACj4gPiAgI2RlZmluZSBEUk1fTU9ERV9ESVJUWV9PTiAgICAg ICAxCj4gPiAgI2RlZmluZSBEUk1fTU9ERV9ESVJUWV9BTk5PVEFURSAyCj4gPiAgCj4gPiArLyog TGluayBTdGF0dXMgb3B0aW9ucyAqLwo+ID4gKyNkZWZpbmUgRFJNX01PREVfTElOS19TVEFUVVNf R09PRAkwCj4gPiArI2RlZmluZSBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQJMQo+IAo+IFRoZSBj aGFuZ2UgdG8gcmVzZXQgbGlua19zdGF0dXMgdG8gZ29vZCBmb3IgU0VUQ1JUQyBzZWVtcyB0byBi ZSBtaXNzaW5nLgo+IFNvbWV0aGluZyBsaWtlIHRoZSBiZWxvdyAodG90YWxseSB1bnRlc3RlZCkg c2hvdWxkIGdldCB0aGUgam9iIGRvbmUuCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMKPiBpbmRleCA0OTQ2ODBjOTA1NmUuLjVmNDcwNDlkNjExZSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTIyNTgsNiArMjI1OCw4IEBAIHN0YXRpYyBpbnQgdXBk YXRlX291dHB1dF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCQkJ CQkJTlVMTCk7Cj4gIAkJCWlmIChyZXQpCj4gIAkJCQlyZXR1cm4gcmV0Owo+ICsKPiArCQkJY29u bl9zdGF0ZS0+bGlua19zdGF0dXMgPSBEUk1fTElOS19TVEFUVVNfR09PRDsKPiAgCQl9Cj4gIAl9 Cj4gIAo+IFNtYWxsIGV4ZXJjaXNlIGZvciB5b3U6IEZvbGxvdyB0aGUgY2FsbCBjaGFpbiBvZiB0 aGlzIGZ1bmN0aW9uIGFuZCBmaWd1cmUKPiBvdXQgaG93IGl0IHdvcmtzLiBBbmQgbGV0J3MgaG9w ZSBJIGRpZCBpdCByaWdodCBhbmQgaXQgZG9lcyB3b3JrIDstKQo+IAo+IENoZWVycywgRGFuaWVs Cj4gLS0gCj4gRGFuaWVsIFZldHRlcgo+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgo+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=