From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH v3 3/7] drm: Add support for a panel-orientation connector property Date: Mon, 30 Oct 2017 11:57:10 +0100 Message-ID: References: <20171023071425.5090-1-hdegoede@redhat.com> <20171023071425.5090-4-hdegoede@redhat.com> <20171030094316.5z2aozramrpasyea@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171030094316.5z2aozramrpasyea@phenom.ffwll.local> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Hans de Goede Cc: linux-fbdev@vger.kernel.org, Bartlomiej Zolnierkiewicz , David Airlie , intel-gfx , Daniel Drake , dri-devel@lists.freedesktop.org, Bastien Nocera , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SGksCgpPbiAzMC0xMC0xNyAxMDo0MywgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBNb24sIE9j dCAyMywgMjAxNyBhdCAwOToxNDoyMUFNICswMjAwLCBIYW5zIGRlIEdvZWRlIHdyb3RlOgo+PiBP biBzb21lIGRldmljZXMgdGhlIExDRCBwYW5lbCBpcyBtb3VudGVkIGluIHRoZSBjYXNpbmcgaW4g c3VjaCBhIHdheSB0aGF0Cj4+IHRoZSB1cC90b3Agc2lkZSBvZiB0aGUgcGFuZWwgZG9lcyBub3Qg bWF0Y2ggd2l0aCB0aGUgdG9wIHNpZGUgb2YgdGhlCj4+IGRldmljZSAoZS5nLiBpdCBpcyBtb3Vu dGVkIHVwc2lkZS1kb3duKS4KPj4KPj4gVGhpcyBjb21taXQgYWRkcyB0aGUgbmVjZXNzYXJ5IGlu ZnJhIGZvciBsY2QtcGFuZWwgZHJtX2Nvbm5lY3Rvci1zIHRvCj4+IGhhdmUgYSAicGFuZWwgb3Jp ZW50YXRpb24iIHByb3BlcnR5IHRvIGNvbW11bmljYXRlIGhvdyB0aGUgcGFuZWwgaXMKPj4gb3Jp ZW50YXRlZCB2cyB0aGUgY2FzaW5nLgo+Pgo+PiBVc2Vyc3BhY2UgY2FuIHVzZSB0aGlzIHByb3Bl cnR5IHRvIGNoZWNrIGZvciBub24tbm9ybWFsIG9yaWVudGF0aW9uIGFuZAo+PiB0aGVuIGFkanVz dCB0aGUgZGlzcGxheWVkIGltYWdlIGFjY29yZGluZ2x5IGJ5IHJvdGF0aW5nIGl0IHRvIGNvbXBl bnNhdGUuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhh dC5jb20+Cj4+IC0tLQo+PiBDaGFuZ2VzIGluIHYyOgo+PiAtUmViYXNlZCBvbiA0LjE0LXJjMQo+ PiAtU3RvcmUgcGFuZWxfb3JpZW50YXRpb24gaW4gZHJtX2Rpc3BsYXlfaW5mbywgc28gdGhhdCBk cm1fZmJfaGVscGVyLmMgY2FuCj4+ICAgYWNjZXNzIGl0IGVhc2lseQo+PiAtSGF2ZSBhIHNpbmds ZSBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkgcmF0aGVyIHRo ZW4KPj4gICBjcmVhdGUgYW5kIGF0dGFjaCBmdW5jdGlvbnMuIFRoZSBjYWxsZXIgaXMgZXhwZWN0 ZWQgdG8gc2V0Cj4+ICAgZHJtX2Rpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbiBiZWZvcmUg Y2FsbGluZyB0aGlzLCB0aGVuIHRoaXMgd2lsbAo+PiAgIGNoZWNrIGZvciBwbGF0Zm9ybSBzcGVj aWZpYyBxdWlya3Mgb3ZlcnJpZGluZyB0aGUgcGFuZWxfb3JpZW50YXRpb24gYW5kIGlmCj4+ICAg dGhlIHBhbmVsX29yaWVudGF0aW9uIGlzIHNldCBhZnRlciB0aGlzIHRoZW4gaXQgd2lsbCBhdHRh Y2ggdGhlIHByb3BlcnR5Lgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vS2NvbmZpZyAgICAg ICAgIHwgIDEgKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgfCA3MyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAgIGluY2x1ZGUvZHJtL2Ry bV9jb25uZWN0b3IuaCAgICAgfCAxMSArKysrKysrCj4+ICAgaW5jbHVkZS9kcm0vZHJtX21vZGVf Y29uZmlnLmggICB8ICA3ICsrKysKPj4gICBpbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAg IHwgIDcgKysrKwo+PiAgIDUgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKQo+Pgo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vS2Nv bmZpZwo+PiBpbmRleCA5ZDAwNWFjOThjMmIuLjBiMTY2ZTYyNmViNiAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcK Pj4gQEAgLTcsNiArNyw3IEBACj4+ICAgbWVudWNvbmZpZyBEUk0KPj4gICAJdHJpc3RhdGUgIkRp cmVjdCBSZW5kZXJpbmcgTWFuYWdlciAoWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyIERSSSBzdXBw b3J0KSIKPj4gICAJZGVwZW5kcyBvbiAoQUdQIHx8IEFHUD1uKSAmJiAhRU1VTEFURURfQ01QWENI RyAmJiBIQVNfRE1BCj4+ICsJc2VsZWN0IERSTV9QQU5FTF9PUklFTlRBVElPTl9RVUlSS1MKPj4g ICAJc2VsZWN0IEhETUkKPj4gICAJc2VsZWN0IEZCX0NNRExJTkUKPj4gICAJc2VsZWN0IEkyQwo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPj4gaW5kZXggNzA0ZmM4OTM0NjE2Li4xMjljODNhODQz MjAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+PiBAQCAtMjQsNiArMjQsNyBAQAo+ PiAgICNpbmNsdWRlIDxkcm0vZHJtX2Nvbm5lY3Rvci5oPgo+PiAgICNpbmNsdWRlIDxkcm0vZHJt X2VkaWQuaD4KPj4gICAjaW5jbHVkZSA8ZHJtL2RybV9lbmNvZGVyLmg+Cj4+ICsjaW5jbHVkZSA8 ZHJtL2RybV91dGlscy5oPgo+PiAgIAo+PiAgICNpbmNsdWRlICJkcm1fY3J0Y19pbnRlcm5hbC5o Igo+PiAgICNpbmNsdWRlICJkcm1faW50ZXJuYWwuaCIKPj4gQEAgLTIxMiw2ICsyMTMsOCBAQCBp bnQgZHJtX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAgCW11dGV4 X2luaXQoJmNvbm5lY3Rvci0+bXV0ZXgpOwo+PiAgIAljb25uZWN0b3ItPmVkaWRfYmxvYl9wdHIg PSBOVUxMOwo+PiAgIAljb25uZWN0b3ItPnN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfdW5rbm93 bjsKPj4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbiA9Cj4+ICsJ CURSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9OX1VOS05PV047Cj4+ICAgCj4+ICAgCWRybV9jb25u ZWN0b3JfZ2V0X2NtZGxpbmVfbW9kZShjb25uZWN0b3IpOwo+PiAgIAo+PiBAQCAtNjY0LDYgKzY2 NywxMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fYXNwZWN0 X3JhdGlvX2VudW1fbGlzdFtdID0gewo+PiAgIAl7IERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzE2 XzksICIxNjo5IiB9LAo+PiAgIH07Cj4+ICAgCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w cm9wX2VudW1fbGlzdCBkcm1fcGFuZWxfb3JpZW50YXRpb25fZW51bV9saXN0W10gPSB7Cj4+ICsJ eyBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9OT1JNQUwsCSJOb3JtYWwiCX0sCj4+ICsJeyBE Uk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9CT1RUT01fVVAsCSJVcHNpZGUgRG93biIJfSwKPj4g Kwl7IERSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9OX0xFRlRfVVAsCSJMZWZ0IFNpZGUgVXAiCX0s Cj4+ICsJeyBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9SSUdIVF9VUCwJIlJpZ2h0IFNpZGUg VXAiCX0sCj4+ICt9Owo+PiArCj4+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVt X2xpc3QgZHJtX2R2aV9pX3NlbGVjdF9lbnVtX2xpc3RbXSA9IHsKPj4gICAJeyBEUk1fTU9ERV9T VUJDT05ORUNUT1JfQXV0b21hdGljLCAiQXV0b21hdGljIiB9LCAvKiBEVkktSSBhbmQgVFYtb3V0 ICovCj4+ICAgCXsgRFJNX01PREVfU1VCQ09OTkVDVE9SX0RWSUQsICAgICAgIkRWSS1EIiAgICAg fSwgLyogRFZJLUkgICovCj4+IEBAIC03NjgsNiArNzc4LDE4IEBAIERSTV9FTlVNX05BTUVfRk4o ZHJtX2dldF90dl9zdWJjb25uZWN0b3JfbmFtZSwKPj4gICAgKgo+PiAgICAqIENSVENfSUQ6Cj4+ ICAgICogCU1vZGUgb2JqZWN0IElEIG9mIHRoZSAmZHJtX2NydGMgdGhpcyBjb25uZWN0b3Igc2hv dWxkIGJlIGNvbm5lY3RlZCB0by4KPj4gKyAqCj4+ICsgKiBDb25uZWN0b3JzIGZvciBMQ0QgcGFu ZWxzIG1heSBhbHNvIGhhdmUgb25lIHN0YW5kYXJkaXplZCBwcm9wZXJ0eToKPj4gKyAqCj4+ICsg KiBwYW5lbCBvcmllbnRhdGlvbjoKPj4gKyAqCU9uIHNvbWUgZGV2aWNlcyB0aGUgTENEIHBhbmVs IGlzIG1vdW50ZWQgaW4gdGhlIGNhc2luZyBpbiBzdWNoIGEgd2F5Cj4+ICsgKgl0aGF0IHRoZSB1 cC90b3Agc2lkZSBvZiB0aGUgcGFuZWwgZG9lcyBub3QgbWF0Y2ggd2l0aCB0aGUgdG9wIHNpZGUg b2YKPj4gKyAqCXRoZSBkZXZpY2UuIFVzZXJzcGFjZSBjYW4gdXNlIHRoaXMgcHJvcGVydHkgdG8g Y2hlY2sgZm9yIHRoaXMuCj4+ICsgKglOb3RlIHRoYXQgaW5wdXQgY29vcmRpbmF0ZXMgZnJvbSB0 b3VjaHNjcmVlbnMgKGlucHV0IGRldmljZXMgd2l0aAo+PiArICoJSU5QVVRfUFJPUF9ESVJFQ1Qp IHdpbGwgc3RpbGwgbWFwIDE6MSB0byB0aGUgYWN0dWFsIExDRCBwYW5lbAo+PiArICoJY29vcmRp bmF0ZXMsIHNvIGlmIHVzZXJzcGFjZSByb3RhdGVzIHRoZSBwaWN0dXJlIHRvIGFkanVzdCBmb3IK Pj4gKyAqCXRoZSBvcmllbnRhdGlvbiBpdCBtdXN0IGFsc28gYXBwbHkgdGhlIHNhbWUgdHJhbnNm b3JtYXRpb24gdG8gdGhlCj4+ICsgKgl0b3VjaHNjcmVlbiBpbnB1dCBjb29yZGluYXRlcy4KPj4g ICAgKi8KPj4gICAKPj4gICBpbnQgZHJtX2Nvbm5lY3Rvcl9jcmVhdGVfc3RhbmRhcmRfcHJvcGVy dGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiBAQCAtMTIzNCw2ICsxMjU2LDU3IEBAIHZv aWQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yCj4+ICAgfQo+PiAgIEVYUE9SVF9TWU1CT0woZHJtX21vZGVf Y29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSk7Cj4+ICAgCj4+ICsvKioKPj4gKyAq IGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSAtCj4+ICsgKglp bml0aWFsaXplIHRoZSBjb25uZWN0ZXJzIHBhbmVsX29yaWVudGF0aW9uIHByb3BlcnR5Cj4+ICsg KiBAY29ubmVjdG9yOiBjb25uZWN0b3IgZm9yIHdoaWNoIHRvIGluaXQgdGhlIHBhbmVsLW9yaWVu dGF0aW9uIHByb3BlcnR5Lgo+PiArICogQHdpZHRoOiB3aWR0aCBpbiBwaXhlbHMgb2YgdGhlIHBh bmVsLCB1c2VkIGZvciBwYW5lbCBxdWlyayBkZXRlY3Rpb24KPj4gKyAqIEBoZWlnaHQ6IGhlaWdo dCBpbiBwaXhlbHMgb2YgdGhlIHBhbmVsLCB1c2VkIGZvciBwYW5lbCBxdWlyayBkZXRlY3Rpb24K Pj4gKyAqCj4+ICsgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBmb3IgYnVp bHQtaW4gcGFuZWxzLCBhZnRlciBzZXR0aW5nCj4+ICsgKiBjb25uZWN0b3ItPmRpc3BsYXlfaW5m by5wYW5lbF9vcmllbnRhdGlvbiBmaXJzdCAoaWYga25vd24pLgo+PiArICoKPj4gKyAqIFRoaXMg ZnVuY3Rpb24gd2lsbCBjaGVjayBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgKGUuZy4gRE1JIGJhc2Vk KSBxdWlya3MKPj4gKyAqIG92ZXJyaWRpbmcgZGlzcGxheV9pbmZvLnBhbmVsX29yaWVudGF0aW9u IGZpcnN0LCB0aGVuIGlmIHBhbmVsX29yaWVudGF0aW9uCj4+ICsgKiBpcyBub3QgRFJNX01PREVf UEFORUxfT1JJRU5UQVRJT05fVU5LTk9XTiBpdCB3aWxsIGF0dGFjaCB0aGUKPj4gKyAqICJwYW5l bCBvcmllbnRhdGlvbiIgcHJvcGVydHkgdG8gdGhlIGNvbm5lY3Rvci4KPj4gKyAqCj4+ICsgKiBS ZXR1cm5zOgo+PiArICogWmVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJl Lgo+PiArICovCj4gCj4gSG0sIEkgdGhpbmsgb3VyIG1vcmUgdXN1YWwgd2F5IGlzIHRvIHNldCB0 aGUgcHJvcCB1cCBmaXJzdCwgYW5kIHRoZW4gdGhlCj4gcGFyc2luZyBtb2RlIHVwZGF0ZXMgdGhl IHByb3BlcnR5IChpbiBjYXNlIGl0J3Mgbm90IHF1aXRlIGFzIHN0YWJsZSBhcyB3ZQo+IHRob3Vn aHQpLiBOb3QgdGhlIHByb3BlcnR5IGluaXQgZnVuY3Rpb24gY2FsbGluZyB0aGUgcGFyc2luZyBj b2RlLgo+IAo+IEkga25vdyB0aGF0IHRoZSBwYW5lbCByb3RhdGlvbiB3aWxsIHByb2JhYmx5IG5v dCBjaGFuZ2UsIGJ1dCBJIHRoaW5rIGl0J2QKPiBiZSBnb29kIHRvIGJlIGNvbnNpc3RlbnQgaGVy ZS4gT3IgYXQgbGVhc3QgbG9vayBpbnRvIHdoZXRoZXIgdGhhdCBtYWtlcwo+IHNlbnNlIC4uLgoK SSdtIG5vdCBjYWxsaW5nIGFueSBwYXJzaW5nIGNvZGUgaGVyZSwgd2hhdCBJJ20gY2FsbGluZyBp cyB0aGUgY29kZQpjaGVja2luZyBmb3IgcXVpcmtzLCBzbyB0aGF0IHRoYXQgaXMgZG9uZSBpbiBv bmUgY2VudHJhbCBwbGFjZSBqdXN0IGxpa2UKaG93IGRybV9hZGRfZWRpZF9tb2RlcygpIGNhbGxz IGVkaWRfZ2V0X3F1aXJrcygpLgoKSSBjb3VsZCBjcmVhdGUgdGhlIHByb3BlcnR5IGluIGRybV9j b25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoKQppbnN0ZWFkIG9mIGluIGRybV9j b25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSBhbmQKcmVuYW1lIHRoZSBs YXR0ZXIgdG8gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkK aWYgeW91IHByZWZlciBoYXZpbmcgdGhpbmdzIHNwbGl0IHRoYXQgd2F5LgoKQXV0byBhdHRhY2hp bmcgdGhlIHByb3BlcnR5IGlzIHRyaWNreSBzaW5jZSB3ZSBvbmx5IHdhbnQgaXQgb24gcGFuZWxz LgoKUmVnYXJkcywKCkhhbnMKCgoKPiAKPiBCZXNpZGVzIHRoaXMgYmlrZXNoZWQgY29sb3IgcXVl c3Rpb24gbWFrZXMgYWxsIHNlbnNlLgo+IC1EYW5pZWwKPiAKPj4gK2ludCBkcm1fY29ubmVjdG9y X2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkoCj4+ICsJc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQo+PiArewo+PiArCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlf aW5mbyAqaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKPj4gKwlzdHJ1Y3QgZHJtX3By b3BlcnR5ICpwcm9wOwo+PiArCWludCBvcmllbnRhdGlvbl9xdWlyazsKPj4gKwo+PiArCW9yaWVu dGF0aW9uX3F1aXJrID0gZHJtX2dldF9wYW5lbF9vcmllbnRhdGlvbl9xdWlyayh3aWR0aCwgaGVp Z2h0KTsKPj4gKwlpZiAob3JpZW50YXRpb25fcXVpcmsgIT0gRFJNX01PREVfUEFORUxfT1JJRU5U QVRJT05fVU5LTk9XTikKPj4gKwkJaW5mby0+cGFuZWxfb3JpZW50YXRpb24gPSBvcmllbnRhdGlv bl9xdWlyazsKPj4gKwo+PiArCWlmIChpbmZvLT5wYW5lbF9vcmllbnRhdGlvbiA9PSBEUk1fTU9E RV9QQU5FTF9PUklFTlRBVElPTl9VTktOT1dOKQo+PiArCQlyZXR1cm4gMDsKPj4gKwo+PiArCXBy b3AgPSBkZXYtPm1vZGVfY29uZmlnLnBhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5Owo+PiArCWlm ICghcHJvcCkgewo+PiArCQlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgRFJN X01PREVfUFJPUF9JTU1VVEFCTEUsCj4+ICsJCQkJInBhbmVsIG9yaWVudGF0aW9uIiwKPj4gKwkJ CQlkcm1fcGFuZWxfb3JpZW50YXRpb25fZW51bV9saXN0LAo+PiArCQkJCUFSUkFZX1NJWkUoZHJt X3BhbmVsX29yaWVudGF0aW9uX2VudW1fbGlzdCkpOwo+PiArCQlpZiAoIXByb3ApCj4+ICsJCQly ZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArCQlkZXYtPm1vZGVfY29uZmlnLnBhbmVsX29yaWVudGF0 aW9uX3Byb3BlcnR5ID0gcHJvcDsKPj4gKwl9Cj4+ICsKPj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9w cm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBwcm9wLAo+PiArCQkJCSAgIGluZm8tPnBhbmVsX29y aWVudGF0aW9uKTsKPj4gKwlyZXR1cm4gMDsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0woZHJtX2Nv bm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5KTsKPj4gKwo+PiAgIGludCBk cm1fbW9kZV9jb25uZWN0b3Jfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9i aiwKPj4gICAJCQkJICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+PiAgIAkJCQkg ICAgdWludDY0X3QgdmFsdWUpCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVj dG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPj4gaW5kZXggYjQyODVjNDBlMWU0 Li5lNjg4MzA2NWE0NjEgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aAo+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPj4gQEAgLTIyMiw2ICsyMjIs MTUgQEAgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gewo+PiAgICNkZWZpbmUgRFJNX0NPTE9SX0ZP Uk1BVF9ZQ1JDQjQyMgkoMTw8MikKPj4gICAjZGVmaW5lIERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0 MjAJKDE8PDMpCj4+ICAgCj4+ICsJLyoqCj4+ICsJICogQHBhbmVsX29yaWVudGF0aW9uOiBSZWFk IG9ubHkgY29ubmVjdG9yIHByb3BlcnR5IGZvciBidWlsdC1pbiBwYW5lbHMsCj4+ICsJICogaW5k aWNhdGluZyB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHBhbmVsIHZzIHRoZSBkZXZpY2UncyBjYXNp bmcuCj4+ICsJICogZHJtX2Nvbm5lY3Rvcl9pbml0KCkgc2V0cyB0aGlzIHRvIERSTV9NT0RFX1BB TkVMX09SSUVOVEFUSU9OX1VOS05PV04uCj4+ICsJICogV2hlbiBub3QgVU5LTk9XTiB0aGlzIGdl dHMgdXNlZCBieSB0aGUgZHJtX2ZiX2hlbHBlcnMgdG8gcm90YXRlIHRoZQo+PiArCSAqIGZiIHRv IGNvbXBlbnNhdGUgYW5kIGdldHMgZXhwb3J0ZWQgYXMgcHJvcCB0byB1c2Vyc3BhY2UuCj4+ICsJ ICovCj4+ICsJaW50IHBhbmVsX29yaWVudGF0aW9uOwo+PiArCj4+ICAgCS8qKgo+PiAgIAkgKiBA Y29sb3JfZm9ybWF0czogSERNSSBDb2xvciBmb3JtYXRzLCBzZWxlY3RzIGJldHdlZW4gUkdCIGFu ZCBZQ3JDYgo+PiAgIAkgKiBtb2Rlcy4gVXNlZCBEUk1fQ09MT1JfRk9STUFUXF8gZGVmaW5lcywg d2hpY2ggYXJlIF9ub3RfIHRoZSBzYW1lIG9uZXMKPj4gQEAgLTEwMTksNiArMTAyOCw4IEBAIGlu dCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPj4gICAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCk7 Cj4+ICAgdm9pZCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICAgCQkJCQkJIHVpbnQ2NF90IGxpbmtf c3RhdHVzKTsKPj4gK2ludCBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJv cGVydHkoCj4+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgaW50IHdpZHRoLCBp bnQgaGVpZ2h0KTsKPj4gICAKPj4gICAvKioKPj4gICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAg LSBUaWxlIGdyb3VwIG1ldGFkYXRhCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9k ZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4+IGluZGV4IDBiNGFj MmViYzYxMC4uN2Q0ZWUxNzI2ZTBhIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9k ZV9jb25maWcuaAo+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+PiBAQCAt NzI4LDYgKzcyOCwxMyBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnIHsKPj4gICAJICovCj4+ICAg CXN0cnVjdCBkcm1fcHJvcGVydHkgKnN1Z2dlc3RlZF95X3Byb3BlcnR5Owo+PiAgIAo+PiArCS8q Kgo+PiArCSAqIEBwYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eTogT3B0aW9uYWwgY29ubmVjdG9y IHByb3BlcnR5IGluZGljYXRpbmcKPj4gKwkgKiBob3cgdGhlIGxjZC1wYW5lbCBpcyBtb3VudGVk IGluc2lkZSB0aGUgY2FzaW5nIChlLmcuIG5vcm1hbCBvcgo+PiArCSAqIHVwc2lkZS1kb3duKS4K Pj4gKwkgKi8KPj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwYW5lbF9vcmllbnRhdGlvbl9wcm9w ZXJ0eTsKPj4gKwo+PiAgIAkvKiBkdW1iIGlvY3RsIHBhcmFtZXRlcnMgKi8KPj4gICAJdWludDMy X3QgcHJlZmVycmVkX2RlcHRoLCBwcmVmZXJfc2hhZG93Owo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5o Cj4+IGluZGV4IDM0YjZiYjM0YjAwMi4uZjYwZmFlNjdiYzFmIDEwMDY0NAo+PiAtLS0gYS9pbmNs dWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9k ZS5oCj4+IEBAIC0xMjcsNiArMTI3LDEzIEBAIGV4dGVybiAiQyIgewo+PiAgICNkZWZpbmUgRFJN X01PREVfTElOS19TVEFUVVNfR09PRAkwCj4+ICAgI2RlZmluZSBEUk1fTU9ERV9MSU5LX1NUQVRV U19CQUQJMQo+PiAgIAo+PiArLyogUGFuZWwgT3JpZW50YXRpb24gb3B0aW9ucyAqLwo+PiArI2Rl ZmluZSBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9VTktOT1dOCS0xCj4+ICsjZGVmaW5lIERS TV9NT0RFX1BBTkVMX09SSUVOVEFUSU9OX05PUk1BTAkwCj4+ICsjZGVmaW5lIERSTV9NT0RFX1BB TkVMX09SSUVOVEFUSU9OX0JPVFRPTV9VUAkxCj4+ICsjZGVmaW5lIERSTV9NT0RFX1BBTkVMX09S SUVOVEFUSU9OX0xFRlRfVVAJMgo+PiArI2RlZmluZSBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElP Tl9SSUdIVF9VUAkzCj4+ICsKPj4gICAvKgo+PiAgICAqIERSTV9NT0RFX1JPVEFURV88ZGVncmVl cz4KPj4gICAgKgo+PiAtLSAKPj4gMi4xNC4yCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK