From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH RFC v3] drm: Add a new connector atomic property for link status Date: Mon, 28 Nov 2016 11:32:36 -0800 Message-ID: <20161128193235.GA22681@intel.com> References: <1479955123-743-1-git-send-email-manasi.d.navare@intel.com> <1479972501-18334-1-git-send-email-manasi.d.navare@intel.com> <20161124075135.vs7tn2kjvbpefjwt@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: <20161124075135.vs7tn2kjvbpefjwt@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 T24gVGh1LCBOb3YgMjQsIDIwMTYgYXQgMDg6NTE6MzVBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBXZWQsIE5vdiAyMywgMjAxNiBhdCAxMToyODoyMVBNIC0wODAwLCBNYW5hc2kg TmF2YXJlIHdyb3RlOgo+ID4gVGhpcyBpcyBSRkMgcGF0Y2ggZm9yIGFkZGluZyBhIGNvbm5lY3Rv ciBsaW5rLXN0YXR1cyBwcm9wZXJ0eQo+ID4gYW5kIG1ha2luZyBpdCBhdG9taWMgYnkgYWRkaW5n IGl0IHRvIHRoZSBkcm1fY29ubmVjdG9yX3N0YXRlLgo+ID4gVGhpcyBpcyB0byBtYWtlIHN1cmUg aXRzIHdpcmVkIHByb3Blcmx5IGluIGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eQo+ ID4gYW5kIGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eSBmdW5jdGlvbnMuCj4gPiAK PiA+IHYzOgo+ID4gKiBGaXhlZCBhIGJ1aWxkIGVycm9yIChKYW5pIFNhYXJpbmVuKQo+ID4gdjI6 Cj4gPiAqIFJlbW92ZWQgY29ubmVjdG9yLT5saW5rX3N0YXR1cyAoRGFuaWVsIFZldHRlcikKPiA+ ICogU2V0IGNvbm5lY3Rvci0+c3RhdGUtPmxpbmtfc3RhdHVzIGluIGRybV9tb2RlX2Nvbm5lY3Rv cl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkKPiA+IChEYW5pZWwgVmV0dGVyKQo+ID4gKiBTZXQg dGhlIGNvbm5lY3Rvcl9jaGFuZ2VkIGZsYWcgdG8gdHJ1ZSBpZiBjb25uZWN0b3ItPnN0YXRlLT5s aW5rX3N0YXR1cyBjaGFuZ2VkLgo+ID4gKiBSZXNldCBsaW5rX3N0YXR1cyB0byBHT09EIGluIHVw ZGF0ZV9vdXRwdXRfc3RhdGUgKERhbmllbCBWZXR0ZXIpCj4gPiAqIE5ldmVyIGFsbG93IHVzZXJz cGFjZSB0byBzZXQgbGluayBzdGF0dXMgZnJvbSBHb29kIFRvIEJhZCAoRGFuaWVsIFZldHRlcikK PiA+IAo+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4g PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gPiBDYzogVmls bGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiBDYzogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gPiBDYzogU2VhbiBQYXVsIDxzZWFu cGF1bEBjaHJvbWl1bS5vcmc+Cj4gCj4gWW91IGxvc3QgYWxsIHRoZSBhY2tlZC1ieSBmcm9tIEFN RCBhYm91dCB0aGUgbGluay1zdGF0dXMgcHJvcGVydHkuIFdlIG5lZWQKPiB0aG9zZS4KPgoKSSBy ZW1vdmVkIHRoZSBBQ0tTIHNpbmVjIHRoaXMgd2FzIGp1c3QgYSBSRkMgcGF0Y2gsIEkgd2lsbCBh ZGQgdGhlbSBiYWNrCndoZW4gSSBzdWJtaXQgdGhlIGFjdHVhbCBwYXRjaCBpbiB0aGUgcGF0Y2gg c2VyaWVzLgoKIAo+ID4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2 YXJlQGludGVsLmNvbT4KPiAKPiBZZWFoIEkgdGhpbmsgdGhpcyBzaG91bGQgd29yaywgYnV0IG9i dmlvdXNseSB0ZXN0aW5nIGhhcyB0aGUgZmluYWwgc2F5Lgo+IFNvbWUgbml0cGlja3MgYmVsb3cs IHRoZW4gaXQncyByLWI6IG1lLiBCdXQgSSB0aGluayB3ZSBhbHNvIG5lZWQgdG8gcG9saXNoCj4g dGhlIGtlcm5lbC1kb2MgYSBiaXQgbW9yZSB0byBhZGRyZXNzIFNlYW4gUGF1bCdzIHF1ZXN0aW9u cy4KPiAtRGFuaWVsCj4KClllcywgSSBzdGlsbCBuZWVkIHRvIGNoYW5nZSB0aGUga2VybmVsIGRv YyBhcyBwZXIgU2VhbidzIGNvbW1lbnRzIGJ1dCB3YW50ZWQKQUNLIG9uIHRoaXMgbmV3IGF0b21p YyBkZXNpZ24gZm9yIHRoZSBwcm9wZXJ0eSBzbyB0aGF0IEkgY291bGQgdXBkYXRlCnRoZSBrZXJu ZWwgZG9jLgoKIAo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAg ICAgfCAxMCArKysrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8 ICA4ICsrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgfCA2MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gPiAgaW5jbHVkZS9kcm0vZHJt X2Nvbm5lY3Rvci5oICAgICAgICAgfCAxOCArKysrKysrKysrLQo+ID4gIGluY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oICAgICAgIHwgIDUgKysrCj4gPiAgaW5jbHVkZS91YXBpL2RybS9kcm1f bW9kZS5oICAgICAgICAgfCAgNCArKysKPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+IGluZGV4 IDg5NzM3ZTQuLjk5MGYwMTMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiBAQCAtMTA4 Nyw2ICsxMDg3LDE0IEBAIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ICAJCSAqIG5vdz8pIGF0b21pYyB3cml0 ZXMgdG8gRFBNUyBwcm9wZXJ0eToKPiA+ICAJCSAqLwo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4g PiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5saW5rX3N0YXR1c19wcm9wZXJ0eSkg ewo+ID4gKwkJLyogTmV2ZXIgZG93bmdyYWRlIGZyb20gR09PRCB0byBCQUQgb24gdXNlcnNwYWNl J3MgcmVxdWVzdCBoZXJlLAo+ID4gKwkJICogb25seSBodyBpc3N1ZXMgY2FuIGRvIHRoYXQuCj4g PiArCQkgKi8KPiA+ICsJCWlmIChzdGF0ZS0+bGlua19zdGF0dXMgPT0gRFJNX0xJTktfU1RBVFVT X0dPT0QpCj4gPiArCQkJcmV0dXJuIDA7Cj4gPiArCQlzdGF0ZS0+bGlua19zdGF0dXMgPSB2YWw7 Cj4gPiArCQlyZXR1cm4gMDsKPiA+ICAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9t aWNfc2V0X3Byb3BlcnR5KSB7Cj4gPiAgCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWlj X3NldF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gPiAgCQkJCXN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsK PiA+IEBAIC0xMTM1LDYgKzExNDMsOCBAQCBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2Nvbm5lY3Rv cl9wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCj4gPiAgCQkqdmFsID0gKHN0YXRl LT5jcnRjKSA/IHN0YXRlLT5jcnRjLT5iYXNlLmlkIDogMDsKPiA+ICAJfSBlbHNlIGlmIChwcm9w ZXJ0eSA9PSBjb25maWctPmRwbXNfcHJvcGVydHkpIHsKPiA+ICAJCSp2YWwgPSBjb25uZWN0b3It PmRwbXM7Cj4gPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5saW5rX3N0YXR1c19w cm9wZXJ0eSkgewo+ID4gKwkJKnZhbCA9IHN0YXRlLT5saW5rX3N0YXR1czsKPiA+ICAJfSBlbHNl IGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7Cj4gPiAgCQlyZXR1 cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gPiAg CQkJCXN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gPiBpbmRleCA0OTQ2ODBjLi45NjJlZDY2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCj4gPiBAQCAtNTE5LDYgKzUxOSwxMyBAQCBzdGF0aWMgaW50IGhhbmRs ZV9jb25mbGljdGluZ19lbmNvZGVycyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4g PiAgCQkJCQkgICAgICAgY29ubmVjdG9yX3N0YXRlKTsKPiA+ICAJCWlmIChyZXQpCj4gPiAgCQkJ cmV0dXJuIHJldDsKPiA+ICsJCWlmIChjb25uZWN0b3ItPnN0YXRlLT5jcnRjKSB7Cj4gPiArCQkJ Y3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUsCj4g PiArCQkJCQkJCQkJY29ubmVjdG9yLT5zdGF0ZS0+Y3J0Yyk7Cj4gPiArCQkJaWYgKGNvbm5lY3Rv ci0+c3RhdGUtPmxpbmtfc3RhdHVzICE9Cj4gPiArCQkJICAgIGNvbm5lY3Rvcl9zdGF0ZS0+bGlu a19zdGF0dXMpCj4gPiArCQkJCWNydGNfc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdlZCA9IHRydWU7 Cj4gPiArCQl9Cj4gCj4gV2h5IGhpZGUgdGhpcyBoZXJlIGluIGhhbmRsZV9jb25mbGljdGluZ19l bmNvZGVycz8gVGhpcyBpcyBhIGJpdAo+IGNvbmZ1c2luZy4gSSdkIG1vdmUgaXQgaW50byB0aGUg Y29ubmVjdG9yIGxvb3AgaW4KPiBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KCkuCj4g PiAgCX0KPiA+ICAKCklmIHlvdSBwdWxsIHRoaXMgcGF0Y2gsIHlvdSB3aWxsIHNlZSB0aGF0IHRo aXMgaXMgYWRkZWQgaW4gIHRoZSBjb25uZWN0b3IKbG9vcCBpbnNpZGUgZHJtX2F0b21pY19oZWxw ZXJfY2hlY2tfbW9kZXNldCgpLCBkb25ubyB3aHkgdGhlIGRpZmYgc2hvd3MgYXMgaWYKaXRzIGlu c2lkZSBoYW5kbGVfY29uZmxpY3RpbmdfZW5jb2RlcnMuCgpNYW5hc2kKCj4gPiAgCS8qCj4gPiBA QCAtMjI1OCw2ICsyMjY1LDcgQEAgc3RhdGljIGludCB1cGRhdGVfb3V0cHV0X3N0YXRlKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICAJCQkJCQkJCU5VTEwpOwo+ID4gIAkJCWlm IChyZXQpCj4gPiAgCQkJCXJldHVybiByZXQ7Cj4gPiArCQkJY29ubl9zdGF0ZS0+bGlua19zdGF0 dXMgPSBEUk1fTElOS19TVEFUVVNfR09PRDsKPiA+ICAJCX0KPiA+ICAJfQo+ID4gIAo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiBpbmRleCA1YTQ1MjYyLi5jZDUzYzM5IDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gQEAgLTI0Myw2ICsyNDMsMTAgQEAgaW50IGRybV9j b25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAlkcm1fb2JqZWN0X2F0 dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAo+ID4gIAkJCQkgICAgICBjb25maWctPmRw bXNfcHJvcGVydHksIDApOwo+ID4gIAo+ID4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgm Y29ubmVjdG9yLT5iYXNlLAo+ID4gKwkJCQkgICBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5 LAo+ID4gKwkJCQkgICAwKTsKPiA+ICsKPiA+ICAJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfQVRPTUlDKSkgewo+ID4gIAkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHko JmNvbm5lY3Rvci0+YmFzZSwgY29uZmlnLT5wcm9wX2NydGNfaWQsIDApOwo+ID4gIAl9Cj4gPiBA QCAtNTA2LDYgKzUxMCwxMiBAQCBjb25zdCBjaGFyICpkcm1fZ2V0X3N1YnBpeGVsX29yZGVyX25h bWUoZW51bSBzdWJwaXhlbF9vcmRlciBvcmRlcikKPiA+ICB9Owo+ID4gIERSTV9FTlVNX05BTUVf Rk4oZHJtX2dldF9kcG1zX25hbWUsIGRybV9kcG1zX2VudW1fbGlzdCkKPiA+ICAKPiA+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fbGlua19zdGF0dXNfZW51bV9s aXN0W10gPSB7Cj4gPiArCXsgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCwgIkdvb2QiIH0sCj4g PiArCXsgRFJNX01PREVfTElOS19TVEFUVVNfQkFELCAiQmFkIiB9LAo+ID4gK307Cj4gPiArRFJN X0VOVU1fTkFNRV9GTihkcm1fZ2V0X2xpbmtfc3RhdHVzX25hbWUsIGRybV9saW5rX3N0YXR1c19l bnVtX2xpc3QpCj4gPiArCj4gPiAgLyoqCj4gPiAgICogZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVz X2Zvcm1hdHMgLSBzZXQgdGhlIHN1cHBvcnRlZCBidXMgZm9ybWF0cwo+ID4gICAqIEBpbmZvOiBk aXNwbGF5IGluZm8gdG8gc3RvcmUgYnVzIGZvcm1hdHMgaW4KPiA+IEBAIC02MjUsNyArNjM1LDE0 IEBAIGludCBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyhzdHJ1Y3QgZHJtX2Rpc3Bs YXlfaW5mbyAqaW5mbywKPiA+ICAgKiAJdGlsaW5nIGFuZCB2aXJ0dWFsaXplIGJvdGggJmRybV9j cnRjIGFuZCAmZHJtX3BsYW5lIGlmIG5lZWRlZC4gRHJpdmVycwo+ID4gICAqIAlzaG91bGQgdXBk YXRlIHRoaXMgdmFsdWUgdXNpbmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5 KCkuCj4gPiAgICogCVVzZXJzcGFjZSBjYW5ub3QgY2hhbmdlIHRoaXMgcHJvcGVydHkuCj4gPiAt ICoKPiA+ICsgKiBsaW5rLXN0YXR1czoKPiA+ICsgKiAgICAgIENvbm5lY3RvciBsaW5rLXN0YXR1 cyBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB0aGUgc3RhdHVzIG9mIGxpbmsgZHVyaW5nCj4gPiArICog ICAgICB0aGUgbW9kZXNldC4gVGhlIGRlZmF1bHQgdmFsdWUgb2YgbGluay1zdGF0dXMgaXMgIkdP T0QiLiBJZiBzb21ldGhpbmcKPiA+ICsgKiAgICAgIGZhaWxzIGR1cmluZyBtb2Rlc2V0LCB0aGUg a2VybmVsIGRyaXZlciBjYW4gc2V0IHRoaXMgdG8gIkJBRCIsIHBydW5lCj4gPiArICogICAgICB0 aGUgbW9kZSBsaXN0IGJhc2VkIG9uIG5ldyBsaW5rIHBhcmFtZXRlcnMgYW5kIHNlbmQgYSBob3Rw bHVnIHVldmVudAo+ID4gKyAqICAgICAgdG8gbm90aWZ5IHVzZXJzcGFjZSB0byByZS1jaGVjayB0 aGUgdmFsaWQgbW9kZXMgdGhyb3VnaCBHRVRfQ09OTkVDVE9SCj4gPiArICogICAgICBJT0NUTCBh bmQgcmVkbyBhIG1vZGVzZXQuIERyaXZlcnMgc2hvdWxkIHVwZGF0ZSB0aGlzIHZhbHVlIHVzaW5n Cj4gPiArICogICAgICBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5 KCkuCj4gCj4gUGxlYXNlIGxlYXZlIHRoZSBlbXB0eSBsaW5lIGhlcmUgYWZ0ZXIgdGhlIGRlZmlu aXRpb24gbGlzdCwgZm9yIGJldHRlcgo+IGxheW91dC4gQWxzbyBJIHRob3VnaHQgdGhlcmUgd2Vy ZSBzb21lIGNvbW1lbnRzIGZyb20gU2VhbiBQYXVsIHRoYXQgdGhlCj4ga2VybmVsLWRvYyB3YXMg Y29uZnVzaW5nLCBoYXZlIHlvdSB3b3JrZWQgdG9nZXRoZXIgd2l0aCBoaW0gdG8gYWRkcmVzcwo+ IHRoaXM/Cj4KCk5vdyB0aGF0IGxpbmstc3RhdHVzIGlzIGFuIGF0b21pYyBwcm9wZXJ0eSwgc2hv dWxkbnQgaXQgYmUgYWRkZWQgYWZ0ZXIgQ1JUQ19JRCBpbiB0aGUKc3RhbmRhcmRpemVkIGF0b21p YyBwcm9wIHNlY3Rpb24/CgogCj4gPiAgICogQ29ubmVjdG9ycyBhbHNvIGhhdmUgb25lIHN0YW5k YXJkaXplZCBhdG9taWMgcHJvcGVydHk6Cj4gPiAgICoKPiA+ICAgKiBDUlRDX0lEOgo+ID4gQEAg LTY2Niw2ICs2ODMsMTMgQEAgaW50IGRybV9jb25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3Bl cnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJCXJldHVybiAtRU5PTUVNOwo+ID4g IAlkZXYtPm1vZGVfY29uZmlnLnRpbGVfcHJvcGVydHkgPSBwcm9wOwo+ID4gIAo+ID4gKwlwcm9w ID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgRFJNX01PREVfUFJPUF9BVE9NSUMsICJs aW5rLXN0YXR1cyIsCj4gPiArCQkJCQlkcm1fbGlua19zdGF0dXNfZW51bV9saXN0LAo+ID4gKwkJ CQkJQVJSQVlfU0laRShkcm1fbGlua19zdGF0dXNfZW51bV9saXN0KSk7Cj4gPiArCWlmICghcHJv cCkKPiA+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4gKwlkZXYtPm1vZGVfY29uZmlnLmxpbmtfc3Rh dHVzX3Byb3BlcnR5ID0gcHJvcDsKPiA+ICsKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ ID4gQEAgLTk5NSw2ICsxMDE5LDQxIEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2Vk aWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ICB9Cj4gPiAg RVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkpOwo+ ID4gIAo+ID4gKy8qKgo+ID4gKyAqIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNf cHJvcGVydHkgLSBTZXQgbGluayBzdGF0dXMgcHJvcGVydHkgb2YgYSBjb25uZWN0b3IKPiA+ICsg KiBAY29ubmVjdG9yOiBkcm0gY29ubmVjdG9yCj4gPiArICogQGxpbmtfc3RhdHVzOiBuZXcgdmFs dWUgb2YgbGluayBzdGF0dXMgcHJvcGVydHkgKDA6IEdvb2QsIDE6IEJhZCkKPiA+ICsgKgo+ID4g KyAqIEluIHVzdWFsIHdvcmtpbmcgc2NlbmFyaW8sIHRoaXMgbGluayBzdGF0dXMgcHJvcGVydHkg d2lsbCBhbHdheXMgYmUgc2V0IHRvCj4gPiArICogIkdPT0QiLiBJZiBzb21ldGhpbmcgZmFpbHMg ZHVyaW5nIG9yIGFmdGVyIGEgbW9kZSBzZXQsIHRoZSBrZXJuZWwgZHJpdmVyIHNob3VsZAo+ID4g KyAqIHNldCB0aGlzIGxpbmsgc3RhdHVzIHByb3BlcnR5IHRvICJCQUQiIGFuZCBwcnVuZSB0aGUg bW9kZSBsaXN0IGJhc2VkIG9uIG5ldwo+ID4gKyAqIGluZm9ybWF0aW9uLiBUaGUgY2FsbGVyIHRo ZW4gbmVlZHMgdG8gc2VuZCBhIGhvdHBsdWcgdWV2ZW50IGZvciB1c2Vyc3BhY2UgdG8KPiA+ICsg KiAgcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVzIHRocm91Z2ggR0VUX0NPTk5FQ1RPUl9JT0NUTCBh bmQgcmV0cnkgbW9kZXNldC4KPiA+ICsgKgo+ID4gKyAqIE5vdGUgdGhhdCBhIGxvdCBvZiBleGlz dGluZyB1c2Vyc3BhY2UgZG8gbm90IGhhbmRsZSB0aGlzIHByb3BlcnR5Lgo+ID4gKyAqIERyaXZl cnMgY2FuIHRoZXJlZm9yZSBub3QgcmVseSBvbiB1c2Vyc3BhY2UgdG8gZml4IHVwIGV2ZXJ5dGhp bmcgYW5kCj4gPiArICogc2hvdWxkIHRyeSB0byBoYW5kbGUgaXNzdWVzIChsaWtlIGp1c3QgcmUt dHJhaW5pbmcgYSBsaW5rKSB3aXRob3V0Cj4gPiArICogdXNlcnNwYWNlJ3MgaW50ZXJ2ZW50aW9u LiBUaGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgY3VycmVudCBtb2RlCj4gPiArICog ZmFpbHMgYW5kIHVzZXJzcGFjZSBtdXN0IHNlbGVjdCBhIGRpZmZlcmVudCBkaXNwbGF5IG1vZGUu Cj4gPiArICogVGhlIERSTSBkcml2ZXIgY2FuIGNob3NlIHRvIG5vdCBtb2RpZnkgcHJvcGVydHkg YW5kIGtlZXAgbGluayBzdGF0dXMKPiA+ICsgKiBhcyAiR09PRCIgYWx3YXlzIHRvIGtlZXAgdGhl IHVzZXIgZXhwZXJpZW5jZSBzYW1lIGFzIGl0IGN1cnJlbnRseSBpcy4KPiA+ICsgKgo+ID4gKyAq IFRoZSByZWFzb24gZm9yIGFkZGluZyB0aGlzIHByb3BlcnR5IGlzIHRvIGhhbmRsZSBsaW5rIHRy YWluaW5nIGZhaWx1cmVzLCBidXQKPiA+ICsgKiBpdCBpcyBub3QgbGltaXRlZCB0byBEUCBvciBs aW5rIHRyYWluaW5nLiBGb3IgZXhhbXBsZSwgaWYgd2UgaW1wbGVtZW50Cj4gPiArICogYXN5bmNo cm9ub3VzIHNldGNydGMsIHRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWQgdG8gcmVwb3J0IGFueSBm YWlsdXJlcyBpbiB0aGF0Lgo+ID4gKyAqLwo+ID4gK3ZvaWQgZHJtX21vZGVfY29ubmVjdG9yX3Nl dF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ ID4gKwkJCQkJCSB1aW50NjRfdCBsaW5rX3N0YXR1cykKPiA+ICt7Cj4gPiArCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+ICsKPiA+ICsJZHJtX21vZGVzZXRfbG9j aygmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4LCBOVUxMKTsKPiA+ICsJY29ubmVj dG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgPSBsaW5rX3N0YXR1czsKPiA+ICsJZHJtX21vZGVzZXRf dW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgpOwo+ID4gKwo+ID4gK30K PiA+ICtFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJv cGVydHkpOwo+ID4gKwo+ID4gIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X29ial9wcm9wKHN0 cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiA+ICAJCQkJICAgIHN0cnVjdCBkcm1fcHJvcGVy dHkgKnByb3BlcnR5LAo+ID4gIAkJCQkgICAgdWludDY0X3QgdmFsdWUpCj4gPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rv ci5oCj4gPiBpbmRleCAzNGY5NzQxLi5iYTIyZWQxIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgK PiA+IEBAIC05MCw2ICs5MCwxNyBAQCBlbnVtIHN1YnBpeGVsX29yZGVyIHsKPiA+ICB9Owo+ID4g IAo+ID4gIC8qKgo+ID4gKyAqIGVudW0gZHJtX2xpbmtfc3RhdHVzIC0gY29ubmVjdG9yJ3MgbGlu a19zdGF0dXMgcHJvcGVydHkgdmFsdWUKPiA+ICsgKgo+ID4gKyAqIFRoaXMgZW51bSBpcyB1c2Vk IGFzIHRoZSBjb25uZWN0b3IncyBsaW5rIHN0YXR1cyBwcm9wZXJ0eSB2YWx1ZS4KPiA+ICsgKiBJ dCBpcyBzZXQgdG8gdGhlIHZhbHVlcyBkZWZpbmVkIGluIHVhcGkuCj4gPiArICovCj4gPiArZW51 bSBkcm1fbGlua19zdGF0dXMgewo+ID4gKwlEUk1fTElOS19TVEFUVVNfR09PRCA9IERSTV9NT0RF X0xJTktfU1RBVFVTX0dPT0QsCj4gPiArCURSTV9MSU5LX1NUQVRVU19CQUQgPSBEUk1fTU9ERV9M SU5LX1NUQVRVU19CQUQsCj4gPiArfTsKPiA+ICsKPiA+ICsvKioKPiA+ICAgKiBzdHJ1Y3QgZHJt X2Rpc3BsYXlfaW5mbyAtIHJ1bnRpbWUgZGF0YSBhYm91dCB0aGUgY29ubmVjdGVkIHNpbmsKPiA+ ICAgKgo+ID4gICAqIERlc2NyaWJlcyBhIGdpdmVuIGRpc3BsYXkgKGUuZy4gQ1JUIG9yIGZsYXQg cGFuZWwpIGFuZCBpdHMgbGltaXRhdGlvbnMuIEZvcgo+ID4gQEAgLTIxMyw2ICsyMjQsOSBAQCBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4gPiAgCj4gPiAgCXN0cnVjdCBkcm1fZW5jb2Rl ciAqYmVzdF9lbmNvZGVyOwo+ID4gIAo+ID4gKwkvKiBDb25uZWN0b3IgTGluayBzdGF0dXMgKi8K PiA+ICsJZW51bSBkcm1fbGlua19zdGF0dXMgbGlua19zdGF0dXM7Cj4gCj4gbWFrZSBodG1sZG9j cyBzaG91bGQgY29tcGxhaW4gYWJvdXQgdGhlIG1pc3Npbmcga2VybmVsLWRvYyBoZXJlLiBKdXN0 Cj4gY29udmVydCB5b3VyIGlubGluZSBjb21tZW50IGludG8gYSBwcm9wZXIga2VybmVsLWRvYzoK PiAKPiAJLyoqCj4gCSAqIEBsaW5rX3N0YXR1czogQ29ubmVjdG9yIGxpbmsgc3RhdHVzCj4gCSAq Lwo+IAo+IEFsc28gaW4gZ2VuZXJhbCBhIGNvbW1lbnQgdGhhdCBsaXRlcmFsbHkgc2F5cyB0aGUg c2FtZSBhcyB0aGUgY29kZSBpc24ndAo+IHVzZWZ1bC4gQ29tbWVudHMgc2hvdWxkIGV4cGxhaW4g d2h5IHRoZSBjb2RlIGRvZXMgc29tZXRoaW5nLCBub3Qgd2hhdAo+IGV4YWN0bHkgaXQgZG9lcyAt IHRoYXQgc2hvdWxkIGJlIHNlbGYtZXZpZGVudC4KPiA+ICsKPiA+ICAJc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlOwo+ID4gIH07Cj4gPiAgCj4gPiBAQCAtNjk1LDYgKzcwOSw3IEBAIHN0 cnVjdCBkcm1fY29ubmVjdG9yIHsKPiA+ICAJdWludDhfdCBudW1faF90aWxlLCBudW1fdl90aWxl Owo+ID4gIAl1aW50OF90IHRpbGVfaF9sb2MsIHRpbGVfdl9sb2M7Cj4gPiAgCXVpbnQxNl90IHRp bGVfaF9zaXplLCB0aWxlX3Zfc2l6ZTsKPiA+ICsKPiAKPiBTcHVyaW91cyB3aGl0ZXNwYWNlIGNo YW5nZSwgcGxzIGNoZWNrIGZvciB0aGVzZSBiZWZvcmUgc3VibWl0dGluZy4gSSB0aGluawo+IHRo aXMgb25lIGhlcmUgaXMgbmV3Lgo+IAo+ID4gIH07CgpZZXMgcmVtb3ZlZCB0aGF0LgoKPiA+ICAK PiA+ICAjZGVmaW5lIG9ial90b19jb25uZWN0b3IoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBk cm1fY29ubmVjdG9yLCBiYXNlKQo+ID4gQEAgLTc2NywxMiArNzgyLDEzIEBAIGludCBkcm1fbW9k ZV9jcmVhdGVfdHZfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIGludCBk cm1fbW9kZV9jcmVhdGVfc2NhbGluZ19tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpOwo+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfc3VnZ2VzdGVkX29m ZnNldF9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gLQo+IAo+IFNhbWUu Cj4gCj4gPiAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJCQkJIGNvbnN0IGNoYXIgKnBhdGgpOwo+ ID4gIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gPiAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVf ZWRpZF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJCQkJ ICAgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlkKTsKPiA+ICt2b2lkIGRybV9tb2RlX2Nvbm5lY3Rv cl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiA+ICsJCQkJCQkgdWludDY0X3QgbGlua19zdGF0dXMpOwo+ID4gIAo+ID4gIC8qKgo+ID4g ICAqIHN0cnVjdCBkcm1fdGlsZV9ncm91cCAtIFRpbGUgZ3JvdXAgbWV0YWRhdGEKPiA+IGRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9t b2RlX2NvbmZpZy5oCj4gPiBpbmRleCBiZjk5OTFiLi44NmZhZWU0IDEwMDY0NAo+ID4gLS0tIGEv aW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9t b2RlX2NvbmZpZy5oCj4gPiBAQCAtNDMxLDYgKzQzMSwxMSBAQCBzdHJ1Y3QgZHJtX21vZGVfY29u ZmlnIHsKPiA+ICAJICovCj4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKnRpbGVfcHJvcGVydHk7 Cj4gPiAgCS8qKgo+ID4gKwkgKiBAbGlua19zdGF0dXNfcHJvcGVydHk6IERlZmF1bHQgY29ubmVj dG9yIHByb3BlcnR5IGZvciBsaW5rIHN0YXR1cwo+ID4gKwkgKiBvZiBhIGNvbm5lY3Rvcgo+ID4g KwkgKi8KPiA+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqbGlua19zdGF0dXNfcHJvcGVydHk7Cj4g PiArCS8qKgo+ID4gIAkgKiBAcGxhbmVfdHlwZV9wcm9wZXJ0eTogRGVmYXVsdCBwbGFuZSBwcm9w ZXJ0eSB0byBkaWZmZXJlbnRpYXRlCj4gPiAgCSAqIENVUlNPUiwgUFJJTUFSWSBhbmQgT1ZFUkxB WSBsZWdhY3kgdXNlcyBvZiBwbGFuZXMuCj4gPiAgCSAqLwo+ID4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ID4g aW5kZXggNzI4NzkwYi4uMzA5YzQ3OCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0v ZHJtX21vZGUuaAo+ID4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gPiBAQCAt MTIzLDYgKzEyMywxMCBAQAo+ID4gICNkZWZpbmUgRFJNX01PREVfRElSVFlfT04gICAgICAgMQo+ ID4gICNkZWZpbmUgRFJNX01PREVfRElSVFlfQU5OT1RBVEUgMgo+ID4gIAo+ID4gKy8qIExpbmsg U3RhdHVzIG9wdGlvbnMgKi8KPiA+ICsjZGVmaW5lIERSTV9NT0RFX0xJTktfU1RBVFVTX0dPT0QJ MAo+ID4gKyNkZWZpbmUgRFJNX01PREVfTElOS19TVEFUVVNfQkFECTEKPiA+ICsKPiA+ICBzdHJ1 Y3QgZHJtX21vZGVfbW9kZWluZm8gewo+ID4gIAlfX3UzMiBjbG9jazsKPiA+ICAJX191MTYgaGRp c3BsYXk7Cj4gPiAtLSAKPiA+IDEuOS4xCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+IAo+IC0tIAo+IERhbmllbCBWZXR0 ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5m ZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK