From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH v2 1/4] video: fb: Make fbcon dmi quirks usuable for drm drivers too Date: Tue, 17 Oct 2017 18:17:21 +0200 Message-ID: <693c6fd9-e405-869f-48d8-a0b0c30ff0c0@redhat.com> References: <20171001153317.2343-1-hdegoede@redhat.com> <20171001153317.2343-2-hdegoede@redhat.com> <20171002080127.4vlziqjhcqt33vmw@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8F9FC6E1FD for ; Tue, 17 Oct 2017 16:17:27 +0000 (UTC) In-Reply-To: <20171002080127.4vlziqjhcqt33vmw@phenom.ffwll.local> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , Hans de Goede Cc: linux-fbdev@vger.kernel.org, Bartlomiej Zolnierkiewicz , dri-devel@lists.freedesktop.org, Bastien Nocera , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SGksCgpTb3JyeSBmb3IgYmVpbmcgc2xvdyB0byByZXBseSwgSSd2ZSBiZWVuIGEgYml0IG92ZXJ3 aGVsbWVkIHdpdGgKb3RoZXIgc3R1ZmYgbGF0ZWx5LgoKT24gMTAvMDIvMjAxNyAxMDowMSBBTSwg RGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBTdW4sIE9jdCAwMSwgMjAxNyBhdCAwNTozMzoxNFBN ICswMjAwLCBIYW5zIGRlIEdvZWRlIHdyb3RlOgo+PiBTb21lIHg4NiBjbGFtc2hlbGwgZGVzaWdu IGRldmljZXMgdXNlIHBvcnRyYWl0IHRhYmxldCBMQ0QgcGFuZWxzIGFuZCBhCj4+IGRpc3BsYXkg ZW5naW5lIHdoaWNoIGNhbm5vdCAodHJhbnNwYXJlbnRseSkgcm90YXRlIGluIGhhcmR3YXJlLCBz byB3ZQo+PiBuZWVkIHRvIHJvdGF0ZSB0aGluZ3MgaW4gc29mdHdhcmUgLyBsZXQgdXNlciBzcGFj ZSBkZWFsIHdpdGggdGhpcy4KPj4KPj4gVGhlIGZiY29uIGNvZGUgaGFzIGEgc2V0IG9mIERNSSBi YXNlZCBxdWlya3MgdG8gYXV0b21hdGljYWxseSBkZXRlY3QKPj4gc3VjaCB0YWJsZXQgTENEIHBh bmVscyBhbmQgcm90YXRlIHRoZSBmYmNvbiB0byBjb21wZW5zYXRlLgo+Pgo+PiBUaGUgcGxhbiB3 YXMgZm9yIHVzZXJzcGFjZSAoZS5nLiBhIFdheWxhbmQgY29tcG9zaXRvcikgdG8gc2ltcGx5IHJl YWQKPj4gL3N5cy9jbGFzcy9ncmFwaGljcy9mYmNvbi9yb3RhdGUgYW5kIGFwcGx5IHRoZSByb3Rh dGlvbiBmcm9tIHRoZXJlIHRvCj4+IHRoZSBMQ0QgcGFuZWwgdG8gY29tcGVuc2F0ZS4KPj4KPj4g SG93ZXZlciB0aGlzIHdpbGwgbm90IHdvcmsgd2hlbiBhbiBleHRlcm5hbCBtb25pdG9yIGdldHMg cGx1Z2dlZCBpbiwKPj4gc2luY2Ugd2l0aCBmYmNvbiByb3RhdGlvbiBpcyBub3QgcGVyIG91dHB1 dCwgc28gdGhlIGZiY29uIHF1aXJrIGNvZGUKPj4gZGlzYWJsZXMgdGhlIHJvdGF0aW9uIHdoZW4g YW4gZXh0ZXJuYWwgbW9uaXRvciBpcyBwcmVzZW50Lgo+Pgo+PiBVc2luZyAvc3lzL2NsYXNzL2dy YXBoaWNzL2ZiY29uL3JvdGF0ZSB3aWxsIG5vdCBoZWxwIGluIHRoYXQgY2FzZQo+PiBzaW5jZSBp dCB3aWxsIGluZGljYXRlIG5vIHJvdGF0aW9uIGlzIGluIHVzZS4gU28gaW5zdGVhZCB3ZSBhcmUg Z29pbmcKPj4gdG8gbmVlZCBhIGRybSBjb25uZWN0ZXIgcHJvcGVydHkgZm9yIHRoaXMuCj4+Cj4+ IFRoaXMgY29tbWl0IGlzIGEgcHJlcGFyYXRpb24gcGF0Y2ggZm9yIGFkZGluZyB0aGUgZHJtLWNv bm5lY3Rlcgo+PiBwcm9wZXJ0eSwgYnkgbWFraW5nIHRoZSBmYmNvbiBxdWlyayBjb2RlIGdlbmVy YWxseSB1c2FibGUgc28gdGhhdAo+PiB0aGUgZHJtIGNvZGUgY2FuIHVzZSBpdCB0byBjaGVjayBm b3Igcm90YXRpb24gcXVpcmtzLgo+Pgo+PiBOb3RlIHRoaXMgY29tbWl0IHJlLXVzZXMgdGhlIEZC X0NNRExJTkUgS2NvbmZpZyBvcHRpb24gZm9yIHNlbGVjdGluZwo+PiBpZiB0aGUgcXVpcmsgY29k ZSBzaG91bGQgYmUgYnVpbGQsIHNpbmNlIHRoYXQgaXMgYWxyZWFkeSBzZWxlY3RlZCBieQo+PiBi b3RoIHRoZSBkcm0gYW5kIGZiY29uIGNvZGUuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUg R29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4gCj4gQ2FuIHdlIHBscyBqdXN0IG91dHJpZ2h0 IG1vdmUgdGhpcyBvdXQgb2YgZmJkZXY/IGZiZGV2IGlzIGRlYWQsIEkgZG9uJ3QKPiB3YW50IHRv IGFkZC9tYWludGFpbiBuZXcgc3R1ZmYgaW4gdGhlcmUgKGV4Y2VwdCBmYmNvbiwgYnV0IHRoYXQg c2hvdWxkIG5vdAo+IGRlYWwgd2l0aCBzdHVmZiBsaWtlIHRoaXMpLgoKU3VyZSB3ZSBjYW4gZG8g dGhhdCwgYnV0IGZiY29uIGFsc28gbmVlZHMgYWNjZXNzIHRvIHRoZSBxdWlya3MsIHNvIHRoZW4K d2UgbmVlZCB0byBoYXZlIHNvbWUgcGFydCBvZiB0aGUgZHJtIGNvZGUgd2hpY2ggYWx3YXlzIGdl dHMgYnVpbHRpbiBpbnRvCnRoZSBrZXJuZWwgYW5kIG1ha2UgdGhlIGRybSBjb2RlIGV4cG9ydCBh IGZ1bmN0aW9uIGZvciB0aGlzIHdoaWNoIHRoZQpmYmNvbiBjb2RlIHVzZXMuCgpUaGUgcmVhc29u IHdoeSBmYmNvbiB1c2VzIHRoaXMgaXMgYmVjYXVzZSB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgdGhl IEJJT1MKZG9lcyBub3Qgc2V0dXAgdGhlIEVGSUZCIHdpdGggdGhlIGNvcnJlY3Qgcm90YXRpb24s IHR5cGljYWxseSBiZWNhdXNlCnRoZSBoYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IDkwIC8gMjcw IGRlZ3JlZXMgcm90YXRpb24gYW5kIHRoZQpzY3JlZW4gaGFzIGJlZW4gbW91bnRlZCByb3RhdGVk IDkwIC8gMjcwIGRlZ3JlZXMgcm90YXRpb24uCgpSZWdhcmRzLAoKSGFucwoKCj4gVGhpcyBwcm9i YWJseSBtZWFucyBzb21lIHNlcmlvdXMgcGF0Y2ggc2VyaWVzIGFjcm9iYXRpY3MsIG9yIGp1c3Qg YnJlYWtpbmcKPiB0aGUgY3VycmVudCBmYmNvbi1vbmx5IGhhY2sgYW5kIHJlYnVpbGRpbmcgaXQg aW4gZHJtIChpbiB0aGUgc2FtZSBzZXJpZXMpLgogPgo+IC1EYW5pZWwKPiAKPj4gLS0tCj4+IENo YW5nZXMgaW4gdjI6Cj4+IC1SZWJhc2VkIG9uIDQuMTQtcmMxCj4+IC0tLQo+PiAgIGRyaXZlcnMv dmlkZW8vZmJkZXYvY29yZS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCj4+ ICAgLi4uL2NvcmUve2ZiY29uX2RtaV9xdWlya3MuYyA9PiBmYl9kbWlfcXVpcmtzLmN9ICAgfCAx NSArKysrKysrKystLS0tLS0KPj4gICBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJjb24uYyAg ICAgICAgICAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrLS0tLS0tLS0KPj4gICBkcml2ZXJz L3ZpZGVvL2ZiZGV2L2NvcmUvZmJjb24uaCAgICAgICAgICAgICAgICAgICB8ICA2IC0tLS0tLQo+ PiAgIGluY2x1ZGUvbGludXgvZmIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDYgKysrKysrCj4+ICAgNSBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAyMyBkZWxl dGlvbnMoLSkKPj4gICByZW5hbWUgZHJpdmVycy92aWRlby9mYmRldi9jb3JlL3tmYmNvbl9kbWlf cXVpcmtzLmMgPT4gZmJfZG1pX3F1aXJrcy5jfSAoOTElKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy92aWRlby9mYmRldi9jb3JlL01ha2VmaWxlIGIvZHJpdmVycy92aWRlby9mYmRldi9jb3Jl L01ha2VmaWxlCj4+IGluZGV4IDczNDkzYmJkN2ExNS4uMDZjYWYwMzdhODIyIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9jb3JlL01ha2VmaWxlCj4+IEBAIC0xLDQgKzEsNyBAQAo+PiAgIG9iai0kKENP TkZJR19GQl9DTURMSU5FKSAgICAgICAgICArPSBmYl9jbWRsaW5lLm8KPj4gK2lmZXEgKCQoQ09O RklHX0RNSSkseSkKPj4gK29iai0kKENPTkZJR19GQl9DTURMSU5FKSAgICAgICAgICArPSBmYl9k bWlfcXVpcmtzLm8KPj4gK2VuZGlmCj4+ICAgb2JqLSQoQ09ORklHX0ZCX05PVElGWSkgICAgICAg ICAgICs9IGZiX25vdGlmeS5vCj4+ICAgb2JqLSQoQ09ORklHX0ZCKSAgICAgICAgICAgICAgICAg ICs9IGZiLm8KPj4gICBmYi15ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOj0gZmJtZW0u byBmYm1vbi5vIGZiY21hcC5vIGZic3lzZnMubyBcCj4+IEBAIC0xNCw5ICsxNyw2IEBAIGlmZXEg KCQoQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04pLHkpCj4+ICAgZmIteQkJCQkg ICs9IGZiY29uX3JvdGF0ZS5vIGZiY29uX2N3Lm8gZmJjb25fdWQubyBcCj4+ICAgCQkJCSAgICAg ZmJjb25fY2N3Lm8KPj4gICBlbmRpZgo+PiAtaWZlcSAoJChDT05GSUdfRE1JKSx5KQo+PiAtZmIt eQkJCQkgICs9IGZiY29uX2RtaV9xdWlya3Mubwo+PiAtZW5kaWYKPj4gICBlbmRpZgo+PiAgIGZi LW9ianMgICAgICAgICAgICAgICAgICAgICAgICAgICA6PSAkKGZiLXkpCj4+ICAgCj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJjb25fZG1pX3F1aXJrcy5jIGIvZHJp dmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RtaV9xdWlya3MuYwo+PiBzaW1pbGFyaXR5IGluZGV4 IDkxJQo+PiByZW5hbWUgZnJvbSBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJjb25fZG1pX3F1 aXJrcy5jCj4+IHJlbmFtZSB0byBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZG1pX3F1aXJr cy5jCj4+IGluZGV4IDY5MDRlNDdkMWU1MS4uZDVmZGYzMjQ1ZjgzIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJjb25fZG1pX3F1aXJrcy5jCj4+ICsrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kbWlfcXVpcmtzLmMKPj4gQEAgLTEsNSArMSw1IEBACj4+ ICAgLyoKPj4gLSAqICBmYmNvbl9kbWlfcXVpcmtzLmMgLS0gRE1JIGJhc2VkIHF1aXJrIGRldGVj dGlvbiBmb3IgZmJjb24KPj4gKyAqICBmYl9kbWlfcXVpcmtzLmMgLS0gRE1JIGJhc2VkIExDRCBw YW5lbCByb3RhdGlvbiBxdWlyayBkZXRlY3Rpb24KPj4gICAgKgo+PiAgICAqCUNvcHlyaWdodCAo QykgMjAxNyBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgo+PiAgICAqCj4+IEBA IC0xMSw3ICsxMSw2IEBACj4+ICAgI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgo+PiAgICNpbmNsdWRl IDxsaW51eC9mYi5oPgo+PiAgICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPj4gLSNpbmNsdWRl ICJmYmNvbi5oIgo+PiAgIAo+PiAgIC8qCj4+ICAgICogU29tZSB4ODYgY2xhbXNoZWxsIGRlc2ln biBkZXZpY2VzIHVzZSBwb3J0cmFpdCB0YWJsZXQgc2NyZWVucyBhbmQgYSBkaXNwbGF5Cj4+IEBA IC0xMTIsNyArMTExLDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCByb3Rh dGVfZGF0YVtdID0gewo+PiAgIAl7fQo+PiAgIH07Cj4+ICAgCj4+IC1pbnQgZmJjb25fcGxhdGZv cm1fZ2V0X3JvdGF0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPj4gKy8qCj4+ICsgKiBOb3RlIHRo aXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcm90YXRpb24gbmVjZXNzYXJ5IHRvIHB1dCB0aGUgZGlz cGxheQo+PiArICogdGhlIHJpZ2h0IHdheSB1cCwgb3IgLTEgaWYgdGhlcmUgaXMgbm8gcXVpcmsu Cj4+ICsgKi8KPj4gK2ludCBmYl9nZXRfcGFuZWxfcm90YXRlX3F1aXJrKGludCB3aWR0aCwgaW50 IGhlaWdodCkKPj4gICB7Cj4+ICAgCWNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICptYXRjaDsK Pj4gICAJY29uc3Qgc3RydWN0IGZiY29uX2RtaV9yb3RhdGVfZGF0YSAqZGF0YTsKPj4gQEAgLTEy NCw4ICsxMjcsNyBAQCBpbnQgZmJjb25fcGxhdGZvcm1fZ2V0X3JvdGF0ZShzdHJ1Y3QgZmJfaW5m byAqaW5mbykKPj4gICAJICAgICBtYXRjaCA9IGRtaV9maXJzdF9tYXRjaChtYXRjaCArIDEpKSB7 Cj4+ICAgCQlkYXRhID0gbWF0Y2gtPmRyaXZlcl9kYXRhOwo+PiAgIAo+PiAtCQlpZiAoZGF0YS0+ d2lkdGggIT0gaW5mby0+dmFyLnhyZXMgfHwKPj4gLQkJICAgIGRhdGEtPmhlaWdodCAhPSBpbmZv LT52YXIueXJlcykKPj4gKwkJaWYgKGRhdGEtPndpZHRoICE9IHdpZHRoIHx8IGRhdGEtPmhlaWdo dCAhPSBoZWlnaHQpCj4+ICAgCQkJY29udGludWU7Cj4+ICAgCj4+ICAgCQlpZiAoIWRhdGEtPmJp b3NfZGF0ZXMpCj4+IEBAIC0xNDEsNSArMTQzLDYgQEAgaW50IGZiY29uX3BsYXRmb3JtX2dldF9y b3RhdGUoc3RydWN0IGZiX2luZm8gKmluZm8pCj4+ICAgCQl9Cj4+ICAgCX0KPj4gICAKPj4gLQly ZXR1cm4gRkJfUk9UQVRFX1VSOwo+PiArCXJldHVybiAtMTsKPj4gICB9Cj4+ICtFWFBPUlRfU1lN Qk9MX0dQTChmYl9nZXRfcGFuZWxfcm90YXRlX3F1aXJrKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvY29yZS9mYmNvbi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2Zi Y29uLmMKPj4gaW5kZXggMDQ2MTJmOTM4YmFiLi4yZTE3ZWEwMmMyOTUgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYmNvbi5jCj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvY29yZS9mYmNvbi5jCj4+IEBAIC05NjMsMTAgKzk2MywxMyBAQCBzdGF0aWMgY29uc3Qg Y2hhciAqZmJjb25fc3RhcnR1cCh2b2lkKQo+PiAgIAlvcHMtPmN1cl9yb3RhdGUgPSAtMTsKPj4g ICAJb3BzLT5jdXJfYmxpbmtfamlmZmllcyA9IEhaIC8gNTsKPj4gICAJaW5mby0+ZmJjb25fcGFy ID0gb3BzOwo+PiAtCWlmIChpbml0aWFsX3JvdGF0aW9uICE9IC0xKQo+PiAtCQlwLT5jb25fcm90 YXRlID0gaW5pdGlhbF9yb3RhdGlvbjsKPj4gLQllbHNlCj4+IC0JCXAtPmNvbl9yb3RhdGUgPSBm YmNvbl9wbGF0Zm9ybV9nZXRfcm90YXRlKGluZm8pOwo+PiArCXAtPmNvbl9yb3RhdGUgPSBpbml0 aWFsX3JvdGF0aW9uOwo+PiArCWlmIChwLT5jb25fcm90YXRlID09IC0xKQo+PiArCQlwLT5jb25f cm90YXRlID0gZmJfZ2V0X3BhbmVsX3JvdGF0ZV9xdWlyayhpbmZvLT52YXIueHJlcywKPj4gKwkJ CQkJCQkgIGluZm8tPnZhci55cmVzKTsKPj4gKwlpZiAocC0+Y29uX3JvdGF0ZSA9PSAtMSkKPj4g KwkJcC0+Y29uX3JvdGF0ZSA9IEZCX1JPVEFURV9VUjsKPj4gKwo+PiAgIAlzZXRfYmxpdHRpbmdf dHlwZSh2YywgaW5mbyk7Cj4+ICAgCj4+ICAgCWlmIChpbmZvLT5maXgudHlwZSAhPSBGQl9UWVBF X1RFWFQpIHsKPj4gQEAgLTExMDMsMTAgKzExMDYsMTMgQEAgc3RhdGljIHZvaWQgZmJjb25faW5p dChzdHJ1Y3QgdmNfZGF0YSAqdmMsIGludCBpbml0KQo+PiAgIAo+PiAgIAlvcHMgPSBpbmZvLT5m YmNvbl9wYXI7Cj4+ICAgCW9wcy0+Y3VyX2JsaW5rX2ppZmZpZXMgPSBtc2Vjc190b19qaWZmaWVz KHZjLT52Y19jdXJfYmxpbmtfbXMpOwo+PiAtCWlmIChpbml0aWFsX3JvdGF0aW9uICE9IC0xKQo+ PiAtCQlwLT5jb25fcm90YXRlID0gaW5pdGlhbF9yb3RhdGlvbjsKPj4gLQllbHNlCj4+IC0JCXAt PmNvbl9yb3RhdGUgPSBmYmNvbl9wbGF0Zm9ybV9nZXRfcm90YXRlKGluZm8pOwo+PiArCXAtPmNv bl9yb3RhdGUgPSBpbml0aWFsX3JvdGF0aW9uOwo+PiArCWlmIChwLT5jb25fcm90YXRlID09IC0x KQo+PiArCQlwLT5jb25fcm90YXRlID0gZmJfZ2V0X3BhbmVsX3JvdGF0ZV9xdWlyayhpbmZvLT52 YXIueHJlcywKPj4gKwkJCQkJCQkgIGluZm8tPnZhci55cmVzKTsKPj4gKwlpZiAocC0+Y29uX3Jv dGF0ZSA9PSAtMSkKPj4gKwkJcC0+Y29uX3JvdGF0ZSA9IEZCX1JPVEFURV9VUjsKPj4gKwo+PiAg IAlzZXRfYmxpdHRpbmdfdHlwZSh2YywgaW5mbyk7Cj4+ICAgCj4+ICAgCWNvbHMgPSB2Yy0+dmNf Y29sczsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYmNvbi5oIGIv ZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZiY29uLmgKPj4gaW5kZXggMThmM2FjMTQ0MjM3Li4z NzQ2ODI4MzU2ZWQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYmNv bi5oCj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYmNvbi5oCj4+IEBAIC0yNjEs MTAgKzI2MSw0IEBAIGV4dGVybiB2b2lkIGZiY29uX3NldF9yb3RhdGUoc3RydWN0IGZiY29uX29w cyAqb3BzKTsKPj4gICAjZGVmaW5lIGZiY29uX3NldF9yb3RhdGUoeCkgZG8ge30gd2hpbGUoMCkK Pj4gICAjZW5kaWYgLyogQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gKi8KPj4g ICAKPj4gLSNpZmRlZiBDT05GSUdfRE1JCj4+IC1pbnQgZmJjb25fcGxhdGZvcm1fZ2V0X3JvdGF0 ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+IC0jZWxzZQo+PiAtI2RlZmluZSBmYmNvbl9wbGF0 Zm9ybV9nZXRfcm90YXRlKGkpIEZCX1JPVEFURV9VUgo+PiAtI2VuZGlmIC8qIENPTkZJR19ETUkg Ki8KPj4gLQo+PiAgICNlbmRpZiAvKiBfVklERU9fRkJDT05fSCAqLwo+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC9mYi5oIGIvaW5jbHVkZS9saW51eC9mYi5oCj4+IGluZGV4IGY0Mzg2YjBj Y2Y0MC4uNzUyNzk2NWM1YjUzIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4g KysrIGIvaW5jbHVkZS9saW51eC9mYi5oCj4+IEBAIC04MTQsNiArODE0LDEyIEBAIGV4dGVybiBp bnQgZmJfZmluZF9tb2RlKHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLAo+PiAgIAkJCWNv bnN0IHN0cnVjdCBmYl92aWRlb21vZGUgKmRlZmF1bHRfbW9kZSwKPj4gICAJCQl1bnNpZ25lZCBp bnQgZGVmYXVsdF9icHApOwo+PiAgIAo+PiArI2lmZGVmIENPTkZJR19ETUkKPj4gK2ludCBmYl9n ZXRfcGFuZWxfcm90YXRlX3F1aXJrKGludCB3aWR0aCwgaW50IGhlaWdodCk7Cj4+ICsjZWxzZQo+ PiArI2RlZmluZSBmYl9nZXRfcGFuZWxfcm90YXRlX3F1aXJrKHdpZHRoLCBoZWlnaHQpICgtMSkK Pj4gKyNlbmRpZiAvKiBDT05GSUdfRE1JICovCj4+ICsKPj4gICAvKiBDb252ZW5pZW5jZSBsb2dn aW5nIG1hY3JvcyAqLwo+PiAgICNkZWZpbmUgZmJfZXJyKGZiX2luZm8sIGZtdCwgLi4uKQkJCQkJ XAo+PiAgIAlwcl9lcnIoImZiJWQ6ICIgZm10LCAoZmJfaW5mbyktPm5vZGUsICMjX19WQV9BUkdT X18pCj4+IC0tIAo+PiAyLjE0LjIKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+PiBkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=