From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Gaignard Subject: Re: [PULL] drm-misc-next Date: Fri, 13 Oct 2017 16:24:38 +0200 Message-ID: References: <20171012120522.6l72f3vg7jzzuhcr@phenom.ffwll.local> <8f95e623-9480-97dc-2414-77086d8aa49d@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qt0-x22b.google.com (mail-qt0-x22b.google.com [IPv6:2607:f8b0:400d:c0d::22b]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85BA36EB2B for ; Fri, 13 Oct 2017 14:24:40 +0000 (UTC) Received: by mail-qt0-x22b.google.com with SMTP id f15so19870985qtf.7 for ; Fri, 13 Oct 2017 07:24:40 -0700 (PDT) In-Reply-To: <8f95e623-9480-97dc-2414-77086d8aa49d@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maarten Lankhorst Cc: Daniel Vetter , Intel Graphics Development , Joonas Lahtinen , "dri-devel@lists.freedesktop.org" , Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org MjAxNy0xMC0xMyAxNjowOCBHTVQrMDI6MDAgTWFhcnRlbiBMYW5raG9yc3QKPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT46Cj4gT3AgMTItMTAtMTcgb20gMTQ6MDUgc2NocmVlZiBE YW5pZWwgVmV0dGVyOgo+PiBIaSBEYXZlLAo+Pgo+PiBkcm0tbWlzYy1uZXh0LTIwMTctMTAtMTI6 Cj4+IE1vcmUgNC4xNSBkcm0tbWlzYyBzdHVmZjoKPj4KPj4gQ3Jvc3Mtc3Vic3lzdGVtIENoYW5n ZXM6Cj4+IC0gYnJpZGdlIGNsZWFudXAgcmVmYWN0b3IgKEJlbmphbWluIEdhaWduYXJkKQo+Pgo+ PiBDb3JlIENoYW5nZXM6Cj4+IC0gbGVzcyBzdXJwcmlzaW5nIGF0b21pYyBpdGVyYXRvcnMgKE1h YXJ0ZW4pLCBmaXhlcyBhbiBvb3BzIGludHJvZHVjZWQKPj4gICBpbiBkcm0tbmV4dAo+PiAtIGJl dHRlciBnZW0vZmIgaGVscGVyIGRvY3MgKE5vcmFsZikKPj4gLSBmaXggZG1hLWJ1ZiByY3UgcmFj ZXMgKENocmlzdGlhbiBLw7ZuaWcpCj4+Cj4+IERyaXZlciBDaGFuZ2VzOgo+PiAtIGFkdjc1MTE6 IENFQyBzdXBwb3J0IChIYW5zIFZlcmt1aWwpCj4+IC0gc3VuNGkgdXBkYXRlIGZyb20gQ2hlbi1Z dSB0byBpbXByb3ZlIGhkbWkgYW5kIEEzMSBzdXBwb3J0Cj4+IC0gc2lpODYyMDogYWRkIHJlbW90 ZSBjb250cm9sIHN1cHBvcnQgKE1hY2VpZWogUHVyc2tpKQo+Pgo+PiBOZXcgZHJpdmVyczoKPj4g LSBTaUk5MjM0IGJyaWRnZSBkcml2ZXIgKE1hY2llaiBQdXJza2kpCj4+IC0gNyIgcnBpIHRvdWNo IHBhbmVsIChFcmljIEFuaG9sdCkKPj4KPj4gTm90ZSB0aGF0IHRoaXMgY29udGFpbnMgYSB0b3Bp YyBwdWxsIGZyb20gcmVnbWFwLCBuZWVkZWQgYnkgdGhlIHN1bjRpCj4+IGNoYW5nZXMuIE1hcmsg QnJvd24gc2VudCB0aGF0IG91dCBmb3IgcHVsbGluZyBpbnRvIGRybS1taXNjLgo+Pgo+PiBDaGVl cnMsIERhbmllbAo+PiBUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IDE1NDM4YWIw NjUxNWIwOTNkNjFlMmYzNWJiMjdkMjFlNWU3Zjk2NmU6Cj4+Cj4+ICAgTWVyZ2UgdGFnICdkcm0t bWlzYy1uZXh0LTIwMTctMTAtMDUnIG9mIGdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dp dC9kcm0tbWlzYyBpbnRvIGRybS1uZXh0ICgyMDE3LTEwLTA2IDExOjEwOjI1ICsxMDAwKQo+Pgo+ PiBhcmUgYXZhaWxhYmxlIGluIHRoZSBnaXQgcmVwb3NpdG9yeSBhdDoKPj4KPj4gICBnaXQ6Ly9h bm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9kcm0vZHJtLW1pc2MgdGFncy9kcm0tbWlzYy1uZXh0LTIw MTctMTAtMTIKPj4KPj4gZm9yIHlvdSB0byBmZXRjaCBjaGFuZ2VzIHVwIHRvIGNjY2Y0ZTNmZTNl Mjg2YjU1NjM0YzJjNWQwYzQzOTlmNDI4OGU0NDA6Cj4+Cj4+ICAgZHJtL2RwOiBXQVJOIGFib3V0 IGludmFsaWQvdW5rbm93biBsaW5rIHJhdGVzIGFuZCBidyBjb2RlcyAoMjAxNy0xMC0xMSAxODo0 MTo0NCArMDMwMCkKPj4KPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiBNb3JlIDQuMTUgZHJtLW1pc2Mgc3R1ZmY6Cj4+ Cj4+IENyb3NzLXN1YnN5c3RlbSBDaGFuZ2VzOgo+PiAtIGJyaWRnZSBjbGVhbnVwIHJlZmFjdG9y IChCZW5qYW1pbiBHYWlnbmFyZCkKPj4KPj4gQ29yZSBDaGFuZ2VzOgo+PiAtIGxlc3Mgc3VycHJp c2luZyBhdG9taWMgaXRlcmF0b3JzIChNYWFydGVuKSwgZml4ZXMgYW4gb29wcyBpbnRyb2R1Y2Vk Cj4+ICAgaW4gZHJtLW5leHQKPj4gLSBiZXR0ZXIgZ2VtL2ZiIGhlbHBlciBkb2NzIChOb3JhbGYp Cj4+IC0gZml4IGRtYS1idWYgcmN1IHJhY2VzIChDaHJpc3RpYW4gS8O2bmlnKQo+Pgo+PiBEcml2 ZXIgQ2hhbmdlczoKPj4gLSBhZHY3NTExOiBDRUMgc3VwcG9ydCAoSGFucyBWZXJrdWlsKQo+PiAt IHN1bjRpIHVwZGF0ZSBmcm9tIENoZW4tWXUgdG8gaW1wcm92ZSBoZG1pIGFuZCBBMzEgc3VwcG9y dAo+PiAtIHNpaTg2MjA6IGFkZCByZW1vdGUgY29udHJvbCBzdXBwb3J0IChNYWNlaWVqIFB1cnNr aSkKPj4KPj4gTmV3IGRyaXZlcnM6Cj4+IC0gU2lJOTIzNCBicmlkZ2UgZHJpdmVyIChNYWNpZWog UHVyc2tpKQo+PiAtIDciIHJwaSB0b3VjaCBwYW5lbCAoRXJpYyBBbmhvbHQpCj4+Cj4+IE5vdGUg dGhhdCB0aGlzIGNvbnRhaW5zIGEgdG9waWMgcHVsbCBmcm9tIHJlZ21hcCwgbmVlZGVkIGJ5IHRo ZSBzdW40aQo+PiBjaGFuZ2VzLiBNYXJrIEJyb3duIHNlbnQgdGhhdCBvdXQgZm9yIHB1bGxpbmcg aW50byBkcm0tbWlzYy4KPj4KPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiBBaXNod2FyeWEgUGFudCAoMSk6Cj4+ICAg ICAgIGRybS9tc20vbWRwNTogcmVtb3ZlIGxlc3MgdGhhbiAwIGNvbXBhcmlzb24gZm9yIHVuc2ln bmVkIHZhbHVlCj4+Cj4+IENoZW4tWXUgVHNhaSAoMTApOgo+PiAgICAgICByZWdtYXA6IGFkZCBp b3BvbGwtbGlrZSBwb2xsaW5nIG1hY3JvIGZvciByZWdtYXBfZmllbGQKPj4gICAgICAgZHJtL3N1 bjRpOiB0Y29uOiBBZGQgdmFyaWFudCBjYWxsYmFjayBmb3IgVENPTiBvdXRwdXQgbXV4aW5nCj4+ ICAgICAgIGRybS9zdW40aTogdGNvbjogQWRkIHN1cHBvcnQgZm9yIGRlbXV4aW5nIFRDT04gb3V0 cHV0IG9uIEEzMQo+PiAgICAgICBkcm0vc3VuNGk6IGhkbWk6IERpc2FibGUgY2xrcyBpbiBiaW5k IGZ1bmN0aW9uIGVycm9yIHBhdGggYW5kIHVuYmluZCBmdW5jdGlvbgo+PiAgICAgICBkcm0vc3Vu NGk6IGhkbWk6IGNyZWF0ZSBhIHJlZ21hcCBmb3IgbGF0ZXIgdXNlCj4+ICAgICAgIGRybS9zdW40 aTogaGRtaTogQWxsb3cgdXNpbmcgc2Vjb25kIFBMTCBhcyBUTURTIGNsayBwYXJlbnQKPj4gICAg ICAgZHQtYmluZGluZ3M6IGRpc3BsYXk6IHN1bjRpOiBBZGQgYmluZGluZyBmb3IgQTMxIEhETUkg Y29udHJvbGxlcgo+PiAgICAgICBkcm0vc3VuNGk6IGhkbWk6IEFkZCBzdXBwb3J0IGZvciBjb250 cm9sbGVyIGhhcmR3YXJlIHZhcmlhbnRzCj4+ICAgICAgIGRybS9zdW40aTogaGRtaTogQWRkIEEz MSBzcGVjaWZpYyBEREMgcmVnaXN0ZXIgZGVmaW5pdGlvbnMKPj4gICAgICAgZHJtL3N1bjRpOiBo ZG1pOiBBZGQgc3VwcG9ydCBmb3IgQTMxJ3MgSERNSSBjb250cm9sbGVyCj4+Cj4+IENocmlzdGlh biBLw7ZuaWcgKDIpOgo+PiAgICAgICBkbWEtYnVmOiBtYWtlIHJlc2VydmF0aW9uX29iamVjdF9j b3B5X2ZlbmNlcyByY3Ugc2F2ZQo+PiAgICAgICBkbWEtZmVuY2U6IGZpeCBkbWFfZmVuY2VfZ2V0 X3JjdV9zYWZlIHYyCj4+Cj4+IERhbmllbCBWZXR0ZXIgKDEpOgo+PiAgICAgICBNZXJnZSB0YWcg J3JlZ21hcC1wb2xsLWZpZWxkJyBvZiBnaXQ6Ly9naXQua2VybmVsLm9yZy8uLi4vYnJvb25pZS9y ZWdtYXAgaW50byBkcm0tbWlzYy1uZXh0Cj4+Cj4+IEVyaWMgQW5ob2x0ICgyKToKPj4gICAgICAg ZHQtYmluZGluZ3M6IERvY3VtZW50IHRoZSBSYXNwYmVycnkgUGkgVG91Y2hzY3JlZW4gbm9kZXMu Cj4+ICAgICAgIGRybS9wYW5lbDogQWRkIHN1cHBvcnQgZm9yIHRoZSBSYXNwYmVycnkgUGkgNyIg VG91Y2hzY3JlZW4uCj4+Cj4+IEhhbnMgVmVya3VpbCAoMik6Cj4+ICAgICAgIGR0LWJpbmRpbmdz OiBhZGksYWR2NzUxMS50eHQ6IGRvY3VtZW50IGNlYyBjbG9jawo+PiAgICAgICBkcm06IGFkdjc1 MTEvMzM6IGFkZCBIRE1JIENFQyBzdXBwb3J0Cj4+Cj4+IEphbmkgTmlrdWxhICgxKToKPj4gICAg ICAgZHJtL2RwOiBXQVJOIGFib3V0IGludmFsaWQvdW5rbm93biBsaW5rIHJhdGVzIGFuZCBidyBj b2Rlcwo+Pgo+PiBKZWZmeSBDaGVuICgxKToKPj4gICAgICAgZHJtL2F0b21pYzogVW5yZWYgZHVw bGljYXRlZCBkcm1fYXRvbWljX3N0YXRlIGluIGRybV9hdG9taWNfaGVscGVyX3Jlc3VtZSgpCj4+ Cj4+IE1hYXJ0ZW4gTGFua2hvcnN0ICgyKToKPj4gICAgICAgZHJtL2F0b21pYzogUmVtb3ZlIHVu bmVlZGVkIG51bGwgY2hlY2sgZm9yIHByaXZhdGUgb2JqZWN0cwo+PiAgICAgICBkcm0vYXRvbWlj OiBNYWtlIGF0b21pYyBpdGVyYXRvcnMgbGVzcyBzdXJwcmlzaW5nCj4+Cj4+IE1hY2llaiBQdXJz a2kgKDIpOgo+PiAgICAgICBkcm0vYnJpZGdlOiBhZGQgU2lsaWNvbiBJbWFnZSBTaUk5MjM0IGRy aXZlcgo+PiAgICAgICBkcm0vYnJpZGdlL3NpaTg2MjA6IGFkZCByZW1vdGUgY29udHJvbCBzdXBw b3J0Cj4+Cj4+IE5vcmFsZiBUcsO4bm5lcyAoMSk6Cj4+ICAgICAgIGRybS9nZW0tZmItaGVscGVy OiBJbXByb3ZlIGRvY3VtZW50YXRpb24KPj4KPj4gYmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9y ZyAoNSk6Cj4+ICAgICAgIGRybS9icmlkZ2U6IG1ha2UgZHJtX3BhbmVsX2JyaWRnZV9yZW1vdmUg bW9yZSByb2J1c3QKPj4gICAgICAgZHJtL2RybV9vZjogYWRkIGRybV9vZl9wYW5lbF9icmlkZ2Vf cmVtb3ZlIGZ1bmN0aW9uCj4KPiBKdXN0IGZvdW5kIG91dCB0aGF0IHRoaXMgYnJlYWtzIG1vZHVs YXIgZHJtIHdpdGggY3Jvc3MgZGVwZW5kZW5jeSBiZXR3ZWVuIGRybV9vZi5jIGFuZCBkcm1fYnJp ZGdlLgo+Cj4gaW5zbW9kIGRybSBmYWlscyB3aXRoCj4gWyA2MDg3LjY3NDM5MF0gZHJtOiBVbmtu b3duIHN5bWJvbCBkcm1fcGFuZWxfYnJpZGdlX3JlbW92ZSAoZXJyIDApCj4KPiB3aGljaCBpcyBk ZWZpbmVkIGluIGRybV9rbXNfaGVscGVyLmtvCj4KPiBPZmZlbmRpbmcgY29tbWl0IGlzIGxpa2Vs eToKPgo+IGNvbW1pdCBjNzAwODdlOGYxNmYxZGZlNzAzZDIyM2FhZGQ5NWVkZTFjZGU4ZTMwCj4g QXV0aG9yOiBiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnIDxiZW5qYW1pbi5nYWlnbmFyZEBs aW5hcm8ub3JnPgo+IERhdGU6ICAgTW9uIE9jdCAyIDExOjM0OjQ1IDIwMTcgKzAyMDAKPgo+ICAg ICBkcm0vZHJtX29mOiBhZGQgZHJtX29mX3BhbmVsX2JyaWRnZV9yZW1vdmUgZnVuY3Rpb24KPgo+ IEZpeHVwIGJlbG93Pwo+Cj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9vZi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9vZi5jCj4gaW5kZXggN2Ez NjkzNGVhNWRiLi40YzE5MWMwNTBlN2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9vZi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9vZi5jCj4gQEAgLTI2MiwzNiArMjYy LDMgQEAgaW50IGRybV9vZl9maW5kX3BhbmVsX29yX2JyaWRnZShjb25zdCBzdHJ1Y3QgZGV2aWNl X25vZGUgKm5wLAo+ICAgICAgICAgcmV0dXJuIHJldDsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQ TChkcm1fb2ZfZmluZF9wYW5lbF9vcl9icmlkZ2UpOwo+IC0KPiAtI2lmZGVmIENPTkZJR19EUk1f UEFORUxfQlJJREdFCj4gLS8qCj4gLSAqIGRybV9vZl9wYW5lbF9icmlkZ2VfcmVtb3ZlIC0gcmVt b3ZlIHBhbmVsIGJyaWRnZQo+IC0gKiBAbnA6IGRldmljZSB0cmVlIG5vZGUgY29udGFpbmluZyBw YW5lbCBicmlkZ2Ugb3V0cHV0IHBvcnRzCj4gLSAqCj4gLSAqIFJlbW92ZSB0aGUgcGFuZWwgYnJp ZGdlIG9mIGEgZ2l2ZW4gRFQgbm9kZSdzIHBvcnQgYW5kIGVuZHBvaW50IG51bWJlcgo+IC0gKgo+ IC0gKiBSZXR1cm5zIHplcm8gaWYgc3VjY2Vzc2Z1bCwgb3Igb25lIG9mIHRoZSBzdGFuZGFyZCBl cnJvciBjb2RlcyBpZiBpdCBmYWlscy4KPiAtICovCj4gLWludCBkcm1fb2ZfcGFuZWxfYnJpZGdl X3JlbW92ZShjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgcG9ydCwgaW50IGVuZHBvaW50KQo+IC17Cj4gLSAgICAgICBzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlOwo+IC0gICAgICAgc3RydWN0IGRldmljZV9ub2RlICpyZW1v dGU7Cj4gLQo+IC0gICAgICAgcmVtb3RlID0gb2ZfZ3JhcGhfZ2V0X3JlbW90ZV9ub2RlKG5wLCBw b3J0LCBlbmRwb2ludCk7Cj4gLSAgICAgICBpZiAoIXJlbW90ZSkKPiAtICAgICAgICAgICAgICAg cmV0dXJuIC1FTk9ERVY7Cj4gLQo+IC0gICAgICAgYnJpZGdlID0gb2ZfZHJtX2ZpbmRfYnJpZGdl KHJlbW90ZSk7Cj4gLSAgICAgICBkcm1fcGFuZWxfYnJpZGdlX3JlbW92ZShicmlkZ2UpOwo+IC0K PiAtICAgICAgIHJldHVybiAwOwo+IC19Cj4gLSNlbHNlCj4gLWludCBkcm1fb2ZfcGFuZWxfYnJp ZGdlX3JlbW92ZShjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgcG9ydCwgaW50IGVuZHBvaW50KQo+IC17Cj4gLSAgICAgICBy ZXR1cm4gLUVJTlZBTDsKPiAtfQo+IC0jZW5kaWYKPiAtRVhQT1JUX1NZTUJPTF9HUEwoZHJtX29m X3BhbmVsX2JyaWRnZV9yZW1vdmUpOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fb2Yu aCBiL2luY2x1ZGUvZHJtL2RybV9vZi5oCj4gaW5kZXggMzkwOTY2ZTRhMzA4Li5kMjBlYzRlMDQz MWQgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX29mLmgKPiArKysgYi9pbmNsdWRlL2Ry bS9kcm1fb2YuaAo+IEBAIC0yLDYgKzIsOSBAQAo+ICAjZGVmaW5lIF9fRFJNX09GX0hfXwo+Cj4g ICNpbmNsdWRlIDxsaW51eC9vZl9ncmFwaC5oPgo+ICsjaWYgSVNfRU5BQkxFRChDT05GSUdfT0Yp ICYmIElTX0VOQUJMRUQoQ09ORklHX0RSTV9QQU5FTF9CUklER0UpCj4gKyNpbmNsdWRlIDxkcm0v ZHJtX2JyaWRnZS5oPgo+ICsjZW5kaWYKPgo+ICBzdHJ1Y3QgY29tcG9uZW50X21hc3Rlcl9vcHM7 Cj4gIHN0cnVjdCBjb21wb25lbnRfbWF0Y2g7Cj4gQEAgLTI5LDggKzMyLDYgQEAgaW50IGRybV9v Zl9maW5kX3BhbmVsX29yX2JyaWRnZShjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsIGludCBlbmRwb2ludCwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fcGFuZWwgKipwYW5lbCwK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICoqYnJp ZGdlKTsKPiAtaW50IGRybV9vZl9wYW5lbF9icmlkZ2VfcmVtb3ZlKGNvbnN0IHN0cnVjdCBkZXZp Y2Vfbm9kZSAqbnAsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0LCBp bnQgZW5kcG9pbnQpOwo+ICAjZWxzZQo+ICBzdGF0aWMgaW5saW5lIHVpbnQzMl90IGRybV9vZl9m aW5kX3Bvc3NpYmxlX2NydGNzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUg KnBvcnQpCj4gQEAgLTY3LDEzICs2OCwzNSBAQCBzdGF0aWMgaW5saW5lIGludCBkcm1fb2ZfZmlu ZF9wYW5lbF9vcl9icmlkZ2UoY29uc3Qgc3RydWN0IGRldmljZV9ub2RlICpucCwKPiAgewo+ICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gIH0KPiArI2VuZGlmCj4KPiArLyoKPiArICogZHJtX29m X3BhbmVsX2JyaWRnZV9yZW1vdmUgLSByZW1vdmUgcGFuZWwgYnJpZGdlCj4gKyAqIEBucDogZGV2 aWNlIHRyZWUgbm9kZSBjb250YWluaW5nIHBhbmVsIGJyaWRnZSBvdXRwdXQgcG9ydHMKPiArICoK PiArICogUmVtb3ZlIHRoZSBwYW5lbCBicmlkZ2Ugb2YgYSBnaXZlbiBEVCBub2RlJ3MgcG9ydCBh bmQgZW5kcG9pbnQgbnVtYmVyCj4gKyAqCj4gKyAqIFJldHVybnMgemVybyBpZiBzdWNjZXNzZnVs LCBvciBvbmUgb2YgdGhlIHN0YW5kYXJkIGVycm9yIGNvZGVzIGlmIGl0IGZhaWxzLgo+ICsgKi8K PiAgc3RhdGljIGlubGluZSBpbnQgZHJtX29mX3BhbmVsX2JyaWRnZV9yZW1vdmUoY29uc3Qgc3Ry dWN0IGRldmljZV9ub2RlICpucCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgcG9ydCwgaW50IGVuZHBvaW50KQo+ICB7Cj4gKyNpZiBJU19FTkFCTEVE KENPTkZJR19PRikgJiYgSVNfRU5BQkxFRChDT05GSUdfRFJNX1BBTkVMX0JSSURHRSkKPiArICAg ICAgIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2U7Cj4gKyAgICAgICBzdHJ1Y3QgZGV2aWNlX25v ZGUgKnJlbW90ZTsKPiArCj4gKyAgICAgICByZW1vdGUgPSBvZl9ncmFwaF9nZXRfcmVtb3RlX25v ZGUobnAsIHBvcnQsIGVuZHBvaW50KTsKPiArICAgICAgIGlmICghcmVtb3RlKQo+ICsgICAgICAg ICAgICAgICByZXR1cm4gLUVOT0RFVjsKPiArCj4gKyAgICAgICBicmlkZ2UgPSBvZl9kcm1fZmlu ZF9icmlkZ2UocmVtb3RlKTsKPiArICAgICAgIGRybV9wYW5lbF9icmlkZ2VfcmVtb3ZlKGJyaWRn ZSk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gKyNlbHNlCj4gICAgICAgICByZXR1cm4gLUVJ TlZBTDsKPiAtfQo+ICAjZW5kaWYKPiArfQo+Cj4gIHN0YXRpYyBpbmxpbmUgaW50IGRybV9vZl9l bmNvZGVyX2FjdGl2ZV9lbmRwb2ludF9pZChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlcikKPgoKQWNrZWQtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5q YW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK