From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v5 10/12] drm/i915: Defer probe if gmux is present but its driver isn't Date: Tue, 16 Feb 2016 17:08:40 +0100 Message-ID: <20160216160840.GT32705@phenom.ffwll.local> References: <20160209090401.GA11240@phenom.ffwll.local> <20160214121008.GA16847@wunner.de> <20160216155820.GA17446@wunner.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160216155820.GA17446@wunner.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lukas Wunner Cc: intel-gfx , dri-devel , platform-driver-x86@vger.kernel.org, Ben Skeggs , Alex Deucher List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBGZWIgMTYsIDIwMTYgYXQgMDQ6NTg6MjBQTSArMDEwMCwgTHVrYXMgV3VubmVyIHdy b3RlOgo+IEhpLAo+IAo+IE9uIFN1biwgRmViIDE0LCAyMDE2IGF0IDAxOjQ2OjI4UE0gKzAxMDAs IERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBTdW4sIEZlYiAxNCwgMjAxNiBhdCAxOjEwIFBN LCBMdWthcyBXdW5uZXIgPGx1a2FzQHd1bm5lci5kZT4gd3JvdGU6Cj4gPiA+ICAvKioKPiA+ID4g KyAqIHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9wcm9iZV9kZWZlcigpIC0gd2hldGhlciB0byBkZWZl ciBwcm9iaW5nIGEgZ2l2ZW4gR1BVCj4gPiA+ICsgKiBAcGRldjogcGNpIGRldmljZSBvZiBHUFUK PiA+ID4gKyAqCj4gPiA+ICsgKiBEZXRlcm1pbmUgd2hldGhlciBhbnkgcHJlcmVxdWlzaXRlcyBh cmUgbm90IGZ1bGZpbGxlZCB0byBwcm9iZSBhIGdpdmVuIEdQVS4KPiA+IAo+ID4gSSdkIHBocmFz ZSB0aGlzIGFzICJEZXRlcm1pbmUgd2hldGhlciB0aGUgdmdhc3dpdGNoZXJvb3Igc3VwcG9ydCBp cwo+ID4gZnVsbHkgbG9hZGVkIiBhbmQgZHJvcCB0aGUgR1BVIHBhcnQgLSBpdCBjb3VsZCBiZSBu ZWVkZWQgYnkgc25kCj4gPiBkcml2ZXJzIGV2ZW50dWFsbHkgdG9vLgo+IAo+IE9rLCBJJ3ZlIHJl cGhyYXNlZCB0aGUga2VybmVsZG9jIHRvIHJlZmVyIHRvICJjbGllbnQiIGluc3RlYWQgb2YgIkdQ VSIKPiBhbmQgbW92ZWQgdGhlIHNpbmdsZSBleGlzdGluZyBjaGVjayBpbiBhbiBpZiBibG9jayBm b3IKPiBQQ0lfQ0xBU1NfRElTUExBWV9WR0EgZGV2aWNlcy4KPiAKPiAKPiA+ID4gKyAqIERSTSBk cml2ZXJzIHNob3VsZCBpbnZva2UgdGhpcyBlYXJseSBvbiBpbiB0aGVpciAtPnByb2JlIGNhbGxi YWNrIGFuZCByZXR1cm4KPiA+ID4gKyAqICUtRVBST0JFX0RFRkVSIGlmIGl0IGV2YWx1YXRlcyB0 byAldHJ1ZS4gVGhlIEdQVSBuZWVkIG5vdCBiZSByZWdpc3RlcmVkIHdpdGgKPiA+ID4gKyAqIHZn YV9zd2l0Y2hlcm9vX3JlZ2lzdGVyX2NsaWVudCgpIGJlZm9yZWhhbmQuCj4gPiAKPiA+IHMvbmVl ZCBub3QvbXVzdCBub3QvIC4uLiBpcyB5b3VyIG5hdGl2ZSBsYW5ndWFnZSBHZXJtYW4gYnkgYW55 IGNoYW5jZT8KPiAKPiBJbiBwcmluY2lwbGUgdGhlcmUncyBubyBoYXJtIGluIHJlZ2lzdGVyaW5n IHRoZSBjbGllbnQgZmlyc3QsCj4gdGhlbiBjaGVja2luZyBpZiBwcm9iaW5nIHNob3VsZCBiZSBk ZWZlcnJlZCwgYXMgbG9uZyBhcyB0aGUKPiBjbGllbnQgaXMgdW5yZWdpc3RlcmVkIGJlZm9yZSBk ZWZlcnJpbmcuIFRodXMgdGhlIGxhbmd1YWdlCj4gYWJvdmUgaXMgaW50ZW50aW9uYWxseSAibmVl ZCBub3QiIChtdXNzIG5pY2h0KSByYXRoZXIgdGhhbgo+ICJtdXN0IG5vdCIgKGRhcmYgbmljaHQp LiBJIGRpZG4ndCB3YW50IHRvIG1hbmRhdGUgc29tZXRoaW5nCj4gdGhhdCBpc24ndCBhY3R1YWxs eSByZXF1aXJlZC4gVGhlIGFib3ZlIHNlbnRlbmNlIGlzIG1lcmVseQo+IGFuIGFpZCBmb3IgZHJp dmVyIGRldmVsb3BlcnMgd2hvIG1pZ2h0IGJlIGNvbmZ1c2VkIGluIHdoaWNoCj4gb3JkZXIgdG8g Y2FsbCB3aGF0LgoKSSdkIHJlamVjdCBhbnkgZHJpdmVyIHRoYXQgZG9lcyB0aGlzLCByZWdpc3Rl cmluZywgdGhlbiBjaGVja2luZywgdGhlbgp1bnJlZ2lzdGVyaW5nIHNlZW1zIGV4dGVybWVseSB1 bnNhZmUuIEknZCByZWFsbHkgc3RpY2sgd2l0aCBtYW5kYXRvcnkKbGFuZ3VhZ2UgaGVyZSB0byBt YWtlIHRoaXMgY2xlYXIuCgo+ID4gQXNpZGUgZnJvbSB0aGF0IC4uLiBzaG91bGQgdmdhX3N3aXRj aGVyb29fcmVnaXN0ZXJfY2xpZW50IGNhbGwgdGhpcwo+ID4gaGVscGVyIGluc3RlYWQgZGlyZWN0 bHkgYW5kIHJldHVybiB0aGUgYXBwcm9wcmlhdGUgLUVERUZFUl9QUk9CRQo+ID4gZXJyb3I/IEkg cmVhbGl6ZSBmb3Igc29tZSBkcml2ZXJzIGl0IG1pZ2h0IGJlIHdheSB0b28gbGF0ZSB0byB1bnJv bAo+ID4gZnJvbSB0aGF0IHBvaW50IG9uLCBidXQgZS5nLiBpOTE1IGFscmVhZHkgdXNlcyAtRURF RkVSX1BST0JFLiBBbmQKPiA+IGNhbGxpbmcgaXQgdW5jb25kaXRpb25hbGx5IHdpbGwgbWFrZSBz dXJlIHRoYXQgaXQncyBlYXNpZXIgdG8gbm90aWNlCj4gPiB3aGVuIHBlb3BsZSBmb3JnZXQgdGhp cy4gU28gbWF5YmUgY2FsbCBpdCBib3RoIGZyb20gdGhlIHJlZ2lzdGVyCj4gPiBmdW5jdGlvbnMs IGFuZCBleHBvcnQgYXMgYSBzZXBhcmF0ZSBob29rPyBBbmQgZm9yIGk5MTUgd2Ugc2hvdWxkIGJl Cj4gPiBhYmxlIHRvIHJlbW92ZSB0aGF0IGVhcmx5IGNoZWNrIGVudGlyZWx5Lgo+IAo+IEknbSBh ZnJhaWQgdGhhdCB3b3VsZG4ndCBiZSBhIGdvb2QgaWRlYS4gVGhlIC0+cHJvYmUgaG9vayBpcwo+ IHBvdGVudGlhbGx5IGNhbGxlZCBkb3plbnMgb2YgdGltZXMgZHVyaW5nIGJvb3QgdW50aWwgaXQg ZmluYWxseQo+IHN1Y2NlZWRzIGFuZCB2Z2Ffc3dpdGNoZXJvb19yZWdpc3Rlcl9jbGllbnQoKSBp cyB1c3VhbGx5IGNhbGxlZAo+IGluIGEgZmFpcmx5IGxhdGUgZHJpdmVyIGxvYWQgc3RhZ2UuIElu IGk5MTUsIHdlIGFscmVhZHkgaGF2ZSBhCj4gd29ya2luZyBHRU0gYXQgdGhhdCBwb2ludCBhbmQg YW4gYWxtb3N0IGZ1bGx5IGJyb3VnaHQgdXAgR1BVLgo+IFJlcGVhdGluZyBicmluZyB1cCBhbmQg dGVhciBkb3duIGRvemVucyBvZiB0aW1lcyBpcyBhIG5pY2UKPiBzdHJlc3MgdGVzdCBidXQgbm90 aGluZyBJJ2QgaW5mbGljdCBvbiBwcm9kdWN0aW9uIHN5c3RlbXMuCj4gSSBpbWFnaW5lIGl0IHdv dWxkIGFsc28gc2V2ZXJlbHkgaW1wYWN0IGJvb3QgdGltZSBhbmQKPiBjbHV0dGVyIHRoZSBrZXJu ZWwgbG9nLgo+IAo+IFNvIGEgc2VwYXJhdGUgaGVscGVyIHNlZW1zIHRvIGJlIHRoZSBvbmx5IHNl bnNpYmxlIG9wdGlvbi4KCk9rLCBtYWtlcyBzZW5zZS4gSSBzdGlsbCB0aGluayBhZGRpbmcgdGhl IGNoZWNrIHRvIHRoZSBjbGllbnRfcmVnaXN0ZXIKZnVuY3Rpb24gd291bGQgYmUgZ29vZCwganVz dCBhcyBhIHNhZmV0eSBtZWFzdXJlLiBBbmQgSSBkb24ndCB0aGluayB5b3UncmUKY2FzZSBvZiBy ZWdpc3RlcigpLCBjaGVjaygpLCB1bnJlZ2lzdGVyKCkgaW4gY2FzZSBvZiBmYWlsdXJlIGlzIGEg dmFsaWQKdXNlLWNhc2UuIExldCdzIG5vdCBhbGxvdyBhbnlvbmUgdG8gb3Blbi1jb2RlIHRoYXQg aG9ycm9yIDstKQoKQ2hlZXJzLCBEYW5pZWwKCj4gPiA+ICsgKgo+ID4gPiArICogUmV0dXJuOiAl ZmFsc2UgdW5sZXNzIG9uZSBvZiB0aGUgZm9sbG93aW5nIGFwcGxpZXM6Cj4gPiA+ICsgKgo+ID4g PiArICogKiBPbiBwcmUtcmV0aW5hIE1hY0Jvb2sgUHJvcywgdGhlIGFwcGxlLWdtdXggZHJpdmVy IGlzIG5lZWRlZCB0byB0ZW1wb3JhcmlseQo+ID4gPiArICogICBzd2l0Y2ggRERDIHRvIHRoZSBp bmFjdGl2ZSBHUFUgc28gdGhhdCBpdCBjYW4gcHJvYmUgdGhlIHBhbmVsJ3MgRURJRC4KPiA+ID4g KyAqICAgVGhlcmVmb3JlIHJldHVybiAldHJ1ZSBpZiBnbXV4IGlzIGJ1aWx0IGludG8gdGhlIG1h Y2hpbmUsIEBwZGV2IGlzIHRoZQo+ID4gPiArICogICBpbmFjdGl2ZSBHUFUgYW5kIHRoZSBhcHBs ZS1nbXV4IGRyaXZlciBoYXMgbm90IHJlZ2lzdGVyZWQgaXRzIGhhbmRsZXIKPiA+ID4gKyAqICAg ZmxhZ3MsIHNpZ25pZnlpbmcgaXQgaGFzIG5vdCB5ZXQgbG9hZGVkIG9yIGhhcyBub3QgZmluaXNo ZWQgaW5pdGlhbGl6aW5nLgo+ID4gCj4gPiBJIHRoaW5rIHRoZSBhcHBsZS1zcGVjaWZpYyBjb21t ZW50IGhlcmUgc2hvdWxkIGJlIGEgc2VwYXJhdGUgY29tbWVudAo+ID4gcmlnaHQgYWJvdmUgdGhl IGlmIGNvbmRpdGlvbiBiZWxvdyAtIGl0IGRvZXNuJ3QgZXhwbGFpbiB0aGUgaW50ZXJmYWNlLAo+ ID4gb25seSBvbmUgc3BlY2lmaWMgY2FzZS4gQW5kIHdlIG1pZ2h0IGdyb3cgbW9yZSBvZiB0aG9z ZS4KPiAKPiBPaywgSSd2ZSBtb3ZlZCB0aGF0IHRvIGEgY29tbWVudC4KPiAKPiBVcGRhdGVkIHBh dGNoIGZvbGxvd3MgYWZ0ZXIgdGhlIHNjaXNzb3JzICYgcGVyZm9yYXRpb24uCj4gCj4gVGhhbmtz IGZvciB0aGUgZmVlZGJhY2shCj4gCj4gTHVrYXMKPiAKPiAtLSA+OCAtLQo+IFN1YmplY3Q6IFtQ QVRDSF0gdmdhX3N3aXRjaGVyb286IEFsbG93IGNsaWVudHMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIg dG8gZGVmZXIKPiAgcHJvYmluZwo+IAo+IFNvIGZhciB3ZSd2ZSBnb3Qgb25lIGNvbmRpdGlvbiB3 aGVuIERSTSBkcml2ZXJzIG5lZWQgdG8gZGVmZXIgcHJvYmluZwo+IG9uIGEgZHVhbCBHUFUgc3lz dGVtIGFuZCBpdCdzIGNvZGVkIHNlcGFyYXRlbHkgaW50byBlYWNoIG9mIHRoZSByZWxldmFudAo+ IGRyaXZlcnMuIEFzIHN1Z2dlc3RlZCBieSBEYW5pZWwgVmV0dGVyLCBkZWR1cGxpY2F0ZSB0aGF0 IGNvZGUgaW4gdGhlCj4gZHJpdmVycyBhbmQgbW92ZSBpdCB0byBhIG5ldyB2Z2Ffc3dpdGNoZXJv byBoZWxwZXIuIFRoaXMgeWllbGRzIGJldHRlcgo+IGVuY2Fwc3VsYXRpb24gb2YgY29uY2VwdHMg YW5kIGxldHMgdXMgYWRkIGZ1cnRoZXIgY2hlY2tzIGluIGEgY2VudHJhbAo+IHBsYWNlLiAoVGhl IGV4aXN0aW5nIGNoZWNrIHBlcnRhaW5zIHRvIHByZS1yZXRpbmEgTWFjQm9vayBQcm9zIGFuZCBh bgo+IGFkZGl0aW9uYWwgY2hlY2sgaXMgZXhwZWN0ZWQgdG8gYmUgbmVlZGVkIGZvciByZXRpbmFz LikKPiAKPiB2MjogVGhpcyBoZWxwZXIgY291bGQgZXZlbnR1YWxseSBiZSB1c2VkIGJ5IGF1ZGlv IGNsaWVudHMgYXMgd2VsbCwKPiAgICAgc28gcmVwaHJhc2Uga2VybmVsZG9jIHRvIHJlZmVyIHRv ICJjbGllbnQiIGluc3RlYWQgb2YgIkdQVSIKPiAgICAgYW5kIG1vdmUgdGhlIHNpbmdsZSBleGlz dGluZyBjaGVjayBpbiBhbiBpZiBibG9jayBzcGVjaWZpYwo+ICAgICB0byBQQ0lfQ0xBU1NfRElT UExBWV9WR0EgZGV2aWNlcy4gTW92ZSBkb2N1bWVudGF0aW9uIG9uCj4gICAgIHRoYXQgY2hlY2sg ZnJvbSBrZXJuZWxkb2MgdG8gYSBjb21tZW50LiAoRGFuaWVsIFZldHRlcikKPiAKPiBDYzogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBDYzogQmVuIFNrZWdncyA8YnNr ZWdnc0ByZWRoYXQuY29tPgo+IENjOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFt ZC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogTHVrYXMgV3VubmVyIDxsdWthc0B3dW5uZXIuZGU+Cj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgfCAxMCArLS0tLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMgfCAxMCArLS0tLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jICAgfCAxMCArLS0tLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L3ZnYS92Z2Ffc3dpdGNoZXJvby5jICAgICAgfCAyOCArKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvbGludXgvdmdhX3N3aXRjaGVyb28uaCAg ICAgICAgfCAgMiArKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDI3IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IGluZGV4IGU4ZDBmMTcuLjAx ZWYyNGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBAQCAtMzUsMTEgKzM1LDkgQEAK PiAgI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIKPiAgI2luY2x1ZGUgImludGVsX2Rydi5oIgo+ICAK PiAtI2luY2x1ZGUgPGxpbnV4L2FwcGxlLWdtdXguaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2NvbnNv bGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvcG1f cnVudGltZS5oPgo+IC0jaW5jbHVkZSA8bGludXgvdmdhYXJiLmg+Cj4gICNpbmNsdWRlIDxsaW51 eC92Z2Ffc3dpdGNoZXJvby5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+ ICAKPiBAQCAtOTcwLDEzICs5NjgsNyBAQCBzdGF0aWMgaW50IGk5MTVfcGNpX3Byb2JlKHN0cnVj dCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQo+ICAJaWYg KFBDSV9GVU5DKHBkZXYtPmRldmZuKSkKPiAgCQlyZXR1cm4gLUVOT0RFVjsKPiAgCj4gLQkvKgo+ IC0JICogYXBwbGUtZ211eCBpcyBuZWVkZWQgb24gZHVhbCBHUFUgTWFjQm9vayBQcm8KPiAtCSAq IHRvIHByb2JlIHRoZSBwYW5lbCBpZiB3ZSdyZSB0aGUgaW5hY3RpdmUgR1BVLgo+IC0JICovCj4g LQlpZiAoSVNfRU5BQkxFRChDT05GSUdfVkdBX0FSQikgJiYgSVNfRU5BQkxFRChDT05GSUdfVkdB X1NXSVRDSEVST08pICYmCj4gLQkgICAgYXBwbGVfZ211eF9wcmVzZW50KCkgJiYgcGRldiAhPSB2 Z2FfZGVmYXVsdF9kZXZpY2UoKSAmJgo+IC0JICAgICF2Z2Ffc3dpdGNoZXJvb19oYW5kbGVyX2Zs YWdzKCkpCj4gKwlpZiAodmdhX3N3aXRjaGVyb29fY2xpZW50X3Byb2JlX2RlZmVyKHBkZXYpKQo+ ICAJCXJldHVybiAtRVBST0JFX0RFRkVSOwo+ICAKPiAgCXJldHVybiBkcm1fZ2V0X3BjaV9kZXYo cGRldiwgZW50LCAmZHJpdmVyKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbm91dmVhdV9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMK PiBpbmRleCBiYjg0OThjLi45MTQxYmNkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L25vdXZlYXVfZHJtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2RybS5jCj4gQEAgLTIyLDEzICsyMiwxMSBAQAo+ICAgKiBBdXRob3JzOiBCZW4gU2tlZ2dz Cj4gICAqLwo+ICAKPiAtI2luY2x1ZGUgPGxpbnV4L2FwcGxlLWdtdXguaD4KPiAgI2luY2x1ZGUg PGxpbnV4L2NvbnNvbGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Cj4gICNpbmNsdWRl IDxsaW51eC9tb2R1bGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgo+ICAjaW5jbHVkZSA8 bGludXgvcG1fcnVudGltZS5oPgo+IC0jaW5jbHVkZSA8bGludXgvdmdhYXJiLmg+Cj4gICNpbmNs dWRlIDxsaW51eC92Z2Ffc3dpdGNoZXJvby5oPgo+ICAKPiAgI2luY2x1ZGUgImRybVAuaCIKPiBA QCAtMzE0LDEzICszMTIsNyBAQCBzdGF0aWMgaW50IG5vdXZlYXVfZHJtX3Byb2JlKHN0cnVjdCBw Y2lfZGV2ICpwZGV2LAo+ICAJYm9vbCBib290ID0gZmFsc2U7Cj4gIAlpbnQgcmV0Owo+ICAKPiAt CS8qCj4gLQkgKiBhcHBsZS1nbXV4IGlzIG5lZWRlZCBvbiBkdWFsIEdQVSBNYWNCb29rIFBybwo+ IC0JICogdG8gcHJvYmUgdGhlIHBhbmVsIGlmIHdlJ3JlIHRoZSBpbmFjdGl2ZSBHUFUuCj4gLQkg Ki8KPiAtCWlmIChJU19FTkFCTEVEKENPTkZJR19WR0FfQVJCKSAmJiBJU19FTkFCTEVEKENPTkZJ R19WR0FfU1dJVENIRVJPTykgJiYKPiAtCSAgICBhcHBsZV9nbXV4X3ByZXNlbnQoKSAmJiBwZGV2 ICE9IHZnYV9kZWZhdWx0X2RldmljZSgpICYmCj4gLQkgICAgIXZnYV9zd2l0Y2hlcm9vX2hhbmRs ZXJfZmxhZ3MoKSkKPiArCWlmICh2Z2Ffc3dpdGNoZXJvb19jbGllbnRfcHJvYmVfZGVmZXIocGRl dikpCj4gIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gIAo+ICAJLyogcmVtb3ZlIGNvbmZsaWN0 aW5nIGRyaXZlcnMgKHZlc2FmYiwgZWZpZmIgZXRjKSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2Rydi5jCj4gaW5kZXggY2FkMjU1NS4uN2JlMGMzOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX2Rydi5jCj4gQEAgLTM0LDExICszNCw5IEBACj4gICNpbmNsdWRlICJyYWRlb25f ZHJ2LmgiCj4gIAo+ICAjaW5jbHVkZSA8ZHJtL2RybV9wY2lpZHMuaD4KPiAtI2luY2x1ZGUgPGxp bnV4L2FwcGxlLWdtdXguaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KPiAgI2luY2x1 ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgo+IC0j aW5jbHVkZSA8bGludXgvdmdhYXJiLmg+Cj4gICNpbmNsdWRlIDxsaW51eC92Z2Ffc3dpdGNoZXJv by5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9nZW0uaD4KPiAgCj4gQEAgLTMyMSwxMyArMzE5LDcg QEAgc3RhdGljIGludCByYWRlb25fcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAo+ICB7 Cj4gIAlpbnQgcmV0Owo+ICAKPiAtCS8qCj4gLQkgKiBhcHBsZS1nbXV4IGlzIG5lZWRlZCBvbiBk dWFsIEdQVSBNYWNCb29rIFBybwo+IC0JICogdG8gcHJvYmUgdGhlIHBhbmVsIGlmIHdlJ3JlIHRo ZSBpbmFjdGl2ZSBHUFUuCj4gLQkgKi8KPiAtCWlmIChJU19FTkFCTEVEKENPTkZJR19WR0FfQVJC KSAmJiBJU19FTkFCTEVEKENPTkZJR19WR0FfU1dJVENIRVJPTykgJiYKPiAtCSAgICBhcHBsZV9n bXV4X3ByZXNlbnQoKSAmJiBwZGV2ICE9IHZnYV9kZWZhdWx0X2RldmljZSgpICYmCj4gLQkgICAg IXZnYV9zd2l0Y2hlcm9vX2hhbmRsZXJfZmxhZ3MoKSkKPiArCWlmICh2Z2Ffc3dpdGNoZXJvb19j bGllbnRfcHJvYmVfZGVmZXIocGRldikpCj4gIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gIAo+ ICAJLyogR2V0IHJpZCBvZiB0aGluZ3MgbGlrZSBvZmZiICovCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L3ZnYS92Z2Ffc3dpdGNoZXJvby5jIGIvZHJpdmVycy9ncHUvdmdhL3ZnYV9zd2l0Y2hl cm9vLmMKPiBpbmRleCA1NjI4N2FlLi42MTA4ZWJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L3ZnYS92Z2Ffc3dpdGNoZXJvby5jCj4gKysrIGIvZHJpdmVycy9ncHUvdmdhL3ZnYV9zd2l0Y2hl cm9vLmMKPiBAQCAtMzAsNiArMzAsNyBAQAo+ICAKPiAgI2RlZmluZSBwcl9mbXQoZm10KSAidmdh X3N3aXRjaGVyb286ICIgZm10Cj4gIAo+ICsjaW5jbHVkZSA8bGludXgvYXBwbGUtZ211eC5oPgo+ ICAjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5o Pgo+ICAjaW5jbHVkZSA8bGludXgvZmIuaD4KPiBAQCAtMzc1LDYgKzM3NiwzMyBAQCBmaW5kX2Fj dGl2ZV9jbGllbnQoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKPiAgfQo+ICAKPiAgLyoqCj4gKyAq IHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9wcm9iZV9kZWZlcigpIC0gd2hldGhlciB0byBkZWZlciBw cm9iaW5nIGEgZ2l2ZW4gY2xpZW50Cj4gKyAqIEBwZGV2OiBjbGllbnQgcGNpIGRldmljZQo+ICsg Kgo+ICsgKiBEZXRlcm1pbmUgd2hldGhlciBhbnkgcHJlcmVxdWlzaXRlcyBhcmUgbm90IGZ1bGZp bGxlZCB0byBwcm9iZSBhIGdpdmVuCj4gKyAqIGNsaWVudC4gRHJpdmVycyBzaG91bGQgaW52b2tl IHRoaXMgZWFybHkgb24gaW4gdGhlaXIgLT5wcm9iZSBjYWxsYmFjawo+ICsgKiBhbmQgcmV0dXJu ICUtRVBST0JFX0RFRkVSIGlmIGl0IGV2YWx1YXRlcyB0byAldHJ1ZS4gVGhlIGNsaWVudCBuZWVk Cj4gKyAqIG5vdCBiZSByZWdpc3RlcmVkIHdpdGggdmdhX3N3aXRjaGVyb29fcmVnaXN0ZXJfY2xp ZW50KCkgYmVmb3JlaGFuZC4KPiArICoKPiArICogUmV0dXJuOiAldHJ1ZSBpZiBwcm9iaW5nIHNo b3VsZCBiZSBkZWZlcnJlZCwgb3RoZXJ3aXNlICVmYWxzZS4KPiArICovCj4gK2Jvb2wgdmdhX3N3 aXRjaGVyb29fY2xpZW50X3Byb2JlX2RlZmVyKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQo+ICt7Cj4g KwlpZiAoKHBkZXYtPmNsYXNzID4+IDgpID09IFBDSV9DTEFTU19ESVNQTEFZX1ZHQSkgewo+ICsJ CS8qCj4gKwkJICogYXBwbGUtZ211eCBpcyBuZWVkZWQgb24gcHJlLXJldGluYSBNYWNCb29rIFBy bwo+ICsJCSAqIHRvIHByb2JlIHRoZSBwYW5lbCBpZiBwZGV2IGlzIHRoZSBpbmFjdGl2ZSBHUFUu Cj4gKwkJICovCj4gKwkJaWYgKGFwcGxlX2dtdXhfcHJlc2VudCgpICYmIHBkZXYgIT0gdmdhX2Rl ZmF1bHRfZGV2aWNlKCkgJiYKPiArCQkgICAgIXZnYXNyX3ByaXYuaGFuZGxlcl9mbGFncykKPiAr CQkJcmV0dXJuIHRydWU7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGZhbHNlOwo+ICt9Cj4gK0VYUE9S VF9TWU1CT0wodmdhX3N3aXRjaGVyb29fY2xpZW50X3Byb2JlX2RlZmVyKTsKPiArCj4gKy8qKgo+ ICAgKiB2Z2Ffc3dpdGNoZXJvb19nZXRfY2xpZW50X3N0YXRlKCkgLSBvYnRhaW4gcG93ZXIgc3Rh dGUgb2YgYSBnaXZlbiBjbGllbnQKPiAgICogQHBkZXY6IGNsaWVudCBwY2kgZGV2aWNlCj4gICAq Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdmdhX3N3aXRjaGVyb28uaCBiL2luY2x1ZGUv bGludXgvdmdhX3N3aXRjaGVyb28uaAo+IGluZGV4IGIzOWE1ZjMuLjk2MGJlZGIgMTAwNjQ0Cj4g LS0tIGEvaW5jbHVkZS9saW51eC92Z2Ffc3dpdGNoZXJvby5oCj4gKysrIGIvaW5jbHVkZS9saW51 eC92Z2Ffc3dpdGNoZXJvby5oCj4gQEAgLTE2NSw2ICsxNjUsNyBAQCBpbnQgdmdhX3N3aXRjaGVy b29fdW5sb2NrX2RkYyhzdHJ1Y3QgcGNpX2RldiAqcGRldik7Cj4gIAo+ICBpbnQgdmdhX3N3aXRj aGVyb29fcHJvY2Vzc19kZWxheWVkX3N3aXRjaCh2b2lkKTsKPiAgCj4gK2Jvb2wgdmdhX3N3aXRj aGVyb29fY2xpZW50X3Byb2JlX2RlZmVyKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKPiAgZW51bSB2 Z2Ffc3dpdGNoZXJvb19zdGF0ZSB2Z2Ffc3dpdGNoZXJvb19nZXRfY2xpZW50X3N0YXRlKHN0cnVj dCBwY2lfZGV2ICpkZXYpOwo+ICAKPiAgdm9pZCB2Z2Ffc3dpdGNoZXJvb19zZXRfZHluYW1pY19z d2l0Y2goc3RydWN0IHBjaV9kZXYgKnBkZXYsIGVudW0gdmdhX3N3aXRjaGVyb29fc3RhdGUgZHlu YW1pYyk7Cj4gQEAgLTE4OCw2ICsxODksNyBAQCBzdGF0aWMgaW5saW5lIGVudW0gdmdhX3N3aXRj aGVyb29faGFuZGxlcl9mbGFnc190IHZnYV9zd2l0Y2hlcm9vX2hhbmRsZXJfZmxhZ3Modgo+ICBz dGF0aWMgaW5saW5lIGludCB2Z2Ffc3dpdGNoZXJvb19sb2NrX2RkYyhzdHJ1Y3QgcGNpX2RldiAq cGRldikgeyByZXR1cm4gLUVOT0RFVjsgfQo+ICBzdGF0aWMgaW5saW5lIGludCB2Z2Ffc3dpdGNo ZXJvb191bmxvY2tfZGRjKHN0cnVjdCBwY2lfZGV2ICpwZGV2KSB7IHJldHVybiAtRU5PREVWOyB9 Cj4gIHN0YXRpYyBpbmxpbmUgaW50IHZnYV9zd2l0Y2hlcm9vX3Byb2Nlc3NfZGVsYXllZF9zd2l0 Y2godm9pZCkgeyByZXR1cm4gMDsgfQo+ICtzdGF0aWMgaW5saW5lIGJvb2wgdmdhX3N3aXRjaGVy b29fY2xpZW50X3Byb2JlX2RlZmVyKHN0cnVjdCBwY2lfZGV2ICpwZGV2KSB7IHJldHVybiBmYWxz ZTsgfQo+ICBzdGF0aWMgaW5saW5lIGVudW0gdmdhX3N3aXRjaGVyb29fc3RhdGUgdmdhX3N3aXRj aGVyb29fZ2V0X2NsaWVudF9zdGF0ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KSB7IHJldHVybiBWR0Ff U1dJVENIRVJPT19PTjsgfQo+ICAKPiAgc3RhdGljIGlubGluZSB2b2lkIHZnYV9zd2l0Y2hlcm9v X3NldF9keW5hbWljX3N3aXRjaChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgZW51bSB2Z2Ffc3dpdGNo ZXJvb19zdGF0ZSBkeW5hbWljKSB7fQo+IC0tIAo+IDEuOC41LjIgKEFwcGxlIEdpdC00OCkKPiAK Ci0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpo dHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK