From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukas Wunner Subject: Re: [PATCH v5 10/12] drm/i915: Defer probe if gmux is present but its driver isn't Date: Tue, 16 Feb 2016 16:58:20 +0100 Message-ID: <20160216155820.GA17446@wunner.de> References: <20160209090401.GA11240@phenom.ffwll.local> <20160214121008.GA16847@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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Alex Deucher , intel-gfx , Ben Skeggs , dri-devel , platform-driver-x86@vger.kernel.org List-Id: platform-driver-x86.vger.kernel.org SGksCgpPbiBTdW4sIEZlYiAxNCwgMjAxNiBhdCAwMTo0NjoyOFBNICswMTAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+IE9uIFN1biwgRmViIDE0LCAyMDE2IGF0IDE6MTAgUE0sIEx1a2FzIFd1bm5l ciA8bHVrYXNAd3VubmVyLmRlPiB3cm90ZToKPiA+ICAvKioKPiA+ICsgKiB2Z2Ffc3dpdGNoZXJv b19jbGllbnRfcHJvYmVfZGVmZXIoKSAtIHdoZXRoZXIgdG8gZGVmZXIgcHJvYmluZyBhIGdpdmVu IEdQVQo+ID4gKyAqIEBwZGV2OiBwY2kgZGV2aWNlIG9mIEdQVQo+ID4gKyAqCj4gPiArICogRGV0 ZXJtaW5lIHdoZXRoZXIgYW55IHByZXJlcXVpc2l0ZXMgYXJlIG5vdCBmdWxmaWxsZWQgdG8gcHJv YmUgYSBnaXZlbiBHUFUuCj4gCj4gSSdkIHBocmFzZSB0aGlzIGFzICJEZXRlcm1pbmUgd2hldGhl ciB0aGUgdmdhc3dpdGNoZXJvb3Igc3VwcG9ydCBpcwo+IGZ1bGx5IGxvYWRlZCIgYW5kIGRyb3Ag dGhlIEdQVSBwYXJ0IC0gaXQgY291bGQgYmUgbmVlZGVkIGJ5IHNuZAo+IGRyaXZlcnMgZXZlbnR1 YWxseSB0b28uCgpPaywgSSd2ZSByZXBocmFzZWQgdGhlIGtlcm5lbGRvYyB0byByZWZlciB0byAi Y2xpZW50IiBpbnN0ZWFkIG9mICJHUFUiCmFuZCBtb3ZlZCB0aGUgc2luZ2xlIGV4aXN0aW5nIGNo ZWNrIGluIGFuIGlmIGJsb2NrIGZvcgpQQ0lfQ0xBU1NfRElTUExBWV9WR0EgZGV2aWNlcy4KCgo+ ID4gKyAqIERSTSBkcml2ZXJzIHNob3VsZCBpbnZva2UgdGhpcyBlYXJseSBvbiBpbiB0aGVpciAt PnByb2JlIGNhbGxiYWNrIGFuZCByZXR1cm4KPiA+ICsgKiAlLUVQUk9CRV9ERUZFUiBpZiBpdCBl dmFsdWF0ZXMgdG8gJXRydWUuIFRoZSBHUFUgbmVlZCBub3QgYmUgcmVnaXN0ZXJlZCB3aXRoCj4g PiArICogdmdhX3N3aXRjaGVyb29fcmVnaXN0ZXJfY2xpZW50KCkgYmVmb3JlaGFuZC4KPiAKPiBz L25lZWQgbm90L211c3Qgbm90LyAuLi4gaXMgeW91ciBuYXRpdmUgbGFuZ3VhZ2UgR2VybWFuIGJ5 IGFueSBjaGFuY2U/CgpJbiBwcmluY2lwbGUgdGhlcmUncyBubyBoYXJtIGluIHJlZ2lzdGVyaW5n IHRoZSBjbGllbnQgZmlyc3QsCnRoZW4gY2hlY2tpbmcgaWYgcHJvYmluZyBzaG91bGQgYmUgZGVm ZXJyZWQsIGFzIGxvbmcgYXMgdGhlCmNsaWVudCBpcyB1bnJlZ2lzdGVyZWQgYmVmb3JlIGRlZmVy cmluZy4gVGh1cyB0aGUgbGFuZ3VhZ2UKYWJvdmUgaXMgaW50ZW50aW9uYWxseSAibmVlZCBub3Qi IChtdXNzIG5pY2h0KSByYXRoZXIgdGhhbgoibXVzdCBub3QiIChkYXJmIG5pY2h0KS4gSSBkaWRu J3Qgd2FudCB0byBtYW5kYXRlIHNvbWV0aGluZwp0aGF0IGlzbid0IGFjdHVhbGx5IHJlcXVpcmVk LiBUaGUgYWJvdmUgc2VudGVuY2UgaXMgbWVyZWx5CmFuIGFpZCBmb3IgZHJpdmVyIGRldmVsb3Bl cnMgd2hvIG1pZ2h0IGJlIGNvbmZ1c2VkIGluIHdoaWNoCm9yZGVyIHRvIGNhbGwgd2hhdC4KCgo+ IEFzaWRlIGZyb20gdGhhdCAuLi4gc2hvdWxkIHZnYV9zd2l0Y2hlcm9vX3JlZ2lzdGVyX2NsaWVu dCBjYWxsIHRoaXMKPiBoZWxwZXIgaW5zdGVhZCBkaXJlY3RseSBhbmQgcmV0dXJuIHRoZSBhcHBy b3ByaWF0ZSAtRURFRkVSX1BST0JFCj4gZXJyb3I/IEkgcmVhbGl6ZSBmb3Igc29tZSBkcml2ZXJz IGl0IG1pZ2h0IGJlIHdheSB0b28gbGF0ZSB0byB1bnJvbAo+IGZyb20gdGhhdCBwb2ludCBvbiwg YnV0IGUuZy4gaTkxNSBhbHJlYWR5IHVzZXMgLUVERUZFUl9QUk9CRS4gQW5kCj4gY2FsbGluZyBp dCB1bmNvbmRpdGlvbmFsbHkgd2lsbCBtYWtlIHN1cmUgdGhhdCBpdCdzIGVhc2llciB0byBub3Rp Y2UKPiB3aGVuIHBlb3BsZSBmb3JnZXQgdGhpcy4gU28gbWF5YmUgY2FsbCBpdCBib3RoIGZyb20g dGhlIHJlZ2lzdGVyCj4gZnVuY3Rpb25zLCBhbmQgZXhwb3J0IGFzIGEgc2VwYXJhdGUgaG9vaz8g QW5kIGZvciBpOTE1IHdlIHNob3VsZCBiZQo+IGFibGUgdG8gcmVtb3ZlIHRoYXQgZWFybHkgY2hl Y2sgZW50aXJlbHkuCgpJJ20gYWZyYWlkIHRoYXQgd291bGRuJ3QgYmUgYSBnb29kIGlkZWEuIFRo ZSAtPnByb2JlIGhvb2sgaXMKcG90ZW50aWFsbHkgY2FsbGVkIGRvemVucyBvZiB0aW1lcyBkdXJp bmcgYm9vdCB1bnRpbCBpdCBmaW5hbGx5CnN1Y2NlZWRzIGFuZCB2Z2Ffc3dpdGNoZXJvb19yZWdp c3Rlcl9jbGllbnQoKSBpcyB1c3VhbGx5IGNhbGxlZAppbiBhIGZhaXJseSBsYXRlIGRyaXZlciBs b2FkIHN0YWdlLiBJbiBpOTE1LCB3ZSBhbHJlYWR5IGhhdmUgYQp3b3JraW5nIEdFTSBhdCB0aGF0 IHBvaW50IGFuZCBhbiBhbG1vc3QgZnVsbHkgYnJvdWdodCB1cCBHUFUuClJlcGVhdGluZyBicmlu ZyB1cCBhbmQgdGVhciBkb3duIGRvemVucyBvZiB0aW1lcyBpcyBhIG5pY2UKc3RyZXNzIHRlc3Qg YnV0IG5vdGhpbmcgSSdkIGluZmxpY3Qgb24gcHJvZHVjdGlvbiBzeXN0ZW1zLgpJIGltYWdpbmUg aXQgd291bGQgYWxzbyBzZXZlcmVseSBpbXBhY3QgYm9vdCB0aW1lIGFuZApjbHV0dGVyIHRoZSBr ZXJuZWwgbG9nLgoKU28gYSBzZXBhcmF0ZSBoZWxwZXIgc2VlbXMgdG8gYmUgdGhlIG9ubHkgc2Vu c2libGUgb3B0aW9uLgoKCj4gPiArICoKPiA+ICsgKiBSZXR1cm46ICVmYWxzZSB1bmxlc3Mgb25l IG9mIHRoZSBmb2xsb3dpbmcgYXBwbGllczoKPiA+ICsgKgo+ID4gKyAqICogT24gcHJlLXJldGlu YSBNYWNCb29rIFByb3MsIHRoZSBhcHBsZS1nbXV4IGRyaXZlciBpcyBuZWVkZWQgdG8gdGVtcG9y YXJpbHkKPiA+ICsgKiAgIHN3aXRjaCBEREMgdG8gdGhlIGluYWN0aXZlIEdQVSBzbyB0aGF0IGl0 IGNhbiBwcm9iZSB0aGUgcGFuZWwncyBFRElELgo+ID4gKyAqICAgVGhlcmVmb3JlIHJldHVybiAl dHJ1ZSBpZiBnbXV4IGlzIGJ1aWx0IGludG8gdGhlIG1hY2hpbmUsIEBwZGV2IGlzIHRoZQo+ID4g KyAqICAgaW5hY3RpdmUgR1BVIGFuZCB0aGUgYXBwbGUtZ211eCBkcml2ZXIgaGFzIG5vdCByZWdp c3RlcmVkIGl0cyBoYW5kbGVyCj4gPiArICogICBmbGFncywgc2lnbmlmeWluZyBpdCBoYXMgbm90 IHlldCBsb2FkZWQgb3IgaGFzIG5vdCBmaW5pc2hlZCBpbml0aWFsaXppbmcuCj4gCj4gSSB0aGlu ayB0aGUgYXBwbGUtc3BlY2lmaWMgY29tbWVudCBoZXJlIHNob3VsZCBiZSBhIHNlcGFyYXRlIGNv bW1lbnQKPiByaWdodCBhYm92ZSB0aGUgaWYgY29uZGl0aW9uIGJlbG93IC0gaXQgZG9lc24ndCBl eHBsYWluIHRoZSBpbnRlcmZhY2UsCj4gb25seSBvbmUgc3BlY2lmaWMgY2FzZS4gQW5kIHdlIG1p Z2h0IGdyb3cgbW9yZSBvZiB0aG9zZS4KCk9rLCBJJ3ZlIG1vdmVkIHRoYXQgdG8gYSBjb21tZW50 LgoKVXBkYXRlZCBwYXRjaCBmb2xsb3dzIGFmdGVyIHRoZSBzY2lzc29ycyAmIHBlcmZvcmF0aW9u LgoKVGhhbmtzIGZvciB0aGUgZmVlZGJhY2shCgpMdWthcwoKLS0gPjggLS0KU3ViamVjdDogW1BB VENIXSB2Z2Ffc3dpdGNoZXJvbzogQWxsb3cgY2xpZW50cyB0byBkZXRlcm1pbmUgd2hldGhlciB0 byBkZWZlcgogcHJvYmluZwoKU28gZmFyIHdlJ3ZlIGdvdCBvbmUgY29uZGl0aW9uIHdoZW4gRFJN IGRyaXZlcnMgbmVlZCB0byBkZWZlciBwcm9iaW5nCm9uIGEgZHVhbCBHUFUgc3lzdGVtIGFuZCBp dCdzIGNvZGVkIHNlcGFyYXRlbHkgaW50byBlYWNoIG9mIHRoZSByZWxldmFudApkcml2ZXJzLiBB cyBzdWdnZXN0ZWQgYnkgRGFuaWVsIFZldHRlciwgZGVkdXBsaWNhdGUgdGhhdCBjb2RlIGluIHRo ZQpkcml2ZXJzIGFuZCBtb3ZlIGl0IHRvIGEgbmV3IHZnYV9zd2l0Y2hlcm9vIGhlbHBlci4gVGhp cyB5aWVsZHMgYmV0dGVyCmVuY2Fwc3VsYXRpb24gb2YgY29uY2VwdHMgYW5kIGxldHMgdXMgYWRk IGZ1cnRoZXIgY2hlY2tzIGluIGEgY2VudHJhbApwbGFjZS4gKFRoZSBleGlzdGluZyBjaGVjayBw ZXJ0YWlucyB0byBwcmUtcmV0aW5hIE1hY0Jvb2sgUHJvcyBhbmQgYW4KYWRkaXRpb25hbCBjaGVj ayBpcyBleHBlY3RlZCB0byBiZSBuZWVkZWQgZm9yIHJldGluYXMuKQoKdjI6IFRoaXMgaGVscGVy IGNvdWxkIGV2ZW50dWFsbHkgYmUgdXNlZCBieSBhdWRpbyBjbGllbnRzIGFzIHdlbGwsCiAgICBz byByZXBocmFzZSBrZXJuZWxkb2MgdG8gcmVmZXIgdG8gImNsaWVudCIgaW5zdGVhZCBvZiAiR1BV IgogICAgYW5kIG1vdmUgdGhlIHNpbmdsZSBleGlzdGluZyBjaGVjayBpbiBhbiBpZiBibG9jayBz cGVjaWZpYwogICAgdG8gUENJX0NMQVNTX0RJU1BMQVlfVkdBIGRldmljZXMuIE1vdmUgZG9jdW1l bnRhdGlvbiBvbgogICAgdGhhdCBjaGVjayBmcm9tIGtlcm5lbGRvYyB0byBhIGNvbW1lbnQuIChE YW5pZWwgVmV0dGVyKQoKQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ CkNjOiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+CkNjOiBBbGV4IERldWNoZXIgPGFs ZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IEx1a2FzIFd1bm5lciA8bHVr YXNAd3VubmVyLmRlPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAg fCAxMCArLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIHwg MTAgKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMgICB8IDEw ICstLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L3ZnYS92Z2Ffc3dpdGNoZXJvby5jICAgICAgfCAyOCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L3ZnYV9zd2l0Y2hlcm9v LmggICAgICAgIHwgIDIgKysKIDUgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMjcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggZThkMGYxNy4uMDFlZjI0 YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0zNSwxMSArMzUsOSBAQAogI2luY2x1ZGUg Imk5MTVfdHJhY2UuaCIKICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKIAotI2luY2x1ZGUgPGxpbnV4 L2FwcGxlLWdtdXguaD4KICNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+CiAjaW5jbHVkZSA8bGlu dXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgotI2luY2x1ZGUgPGxp bnV4L3ZnYWFyYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZnYV9zd2l0Y2hlcm9vLmg+CiAjaW5jbHVk ZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgogCkBAIC05NzAsMTMgKzk2OCw3IEBAIHN0YXRpYyBp bnQgaTkxNV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lf ZGV2aWNlX2lkICplbnQpCiAJaWYgKFBDSV9GVU5DKHBkZXYtPmRldmZuKSkKIAkJcmV0dXJuIC1F Tk9ERVY7CiAKLQkvKgotCSAqIGFwcGxlLWdtdXggaXMgbmVlZGVkIG9uIGR1YWwgR1BVIE1hY0Jv b2sgUHJvCi0JICogdG8gcHJvYmUgdGhlIHBhbmVsIGlmIHdlJ3JlIHRoZSBpbmFjdGl2ZSBHUFUu Ci0JICovCi0JaWYgKElTX0VOQUJMRUQoQ09ORklHX1ZHQV9BUkIpICYmIElTX0VOQUJMRUQoQ09O RklHX1ZHQV9TV0lUQ0hFUk9PKSAmJgotCSAgICBhcHBsZV9nbXV4X3ByZXNlbnQoKSAmJiBwZGV2 ICE9IHZnYV9kZWZhdWx0X2RldmljZSgpICYmCi0JICAgICF2Z2Ffc3dpdGNoZXJvb19oYW5kbGVy X2ZsYWdzKCkpCisJaWYgKHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9wcm9iZV9kZWZlcihwZGV2KSkK IAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CiAKIAlyZXR1cm4gZHJtX2dldF9wY2lfZGV2KHBkZXYs IGVudCwgJmRyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2RybS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwppbmRleCBi Yjg0OThjLi45MTQxYmNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2RybS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKQEAg LTIyLDEzICsyMiwxMSBAQAogICogQXV0aG9yczogQmVuIFNrZWdncwogICovCiAKLSNpbmNsdWRl IDxsaW51eC9hcHBsZS1nbXV4Lmg+CiAjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgogI2luY2x1 ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8 bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgotI2luY2x1ZGUgPGxp bnV4L3ZnYWFyYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZnYV9zd2l0Y2hlcm9vLmg+CiAKICNpbmNs dWRlICJkcm1QLmgiCkBAIC0zMTQsMTMgKzMxMiw3IEBAIHN0YXRpYyBpbnQgbm91dmVhdV9kcm1f cHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAJYm9vbCBib290ID0gZmFsc2U7CiAJaW50IHJl dDsKIAotCS8qCi0JICogYXBwbGUtZ211eCBpcyBuZWVkZWQgb24gZHVhbCBHUFUgTWFjQm9vayBQ cm8KLQkgKiB0byBwcm9iZSB0aGUgcGFuZWwgaWYgd2UncmUgdGhlIGluYWN0aXZlIEdQVS4KLQkg Ki8KLQlpZiAoSVNfRU5BQkxFRChDT05GSUdfVkdBX0FSQikgJiYgSVNfRU5BQkxFRChDT05GSUdf VkdBX1NXSVRDSEVST08pICYmCi0JICAgIGFwcGxlX2dtdXhfcHJlc2VudCgpICYmIHBkZXYgIT0g dmdhX2RlZmF1bHRfZGV2aWNlKCkgJiYKLQkgICAgIXZnYV9zd2l0Y2hlcm9vX2hhbmRsZXJfZmxh Z3MoKSkKKwlpZiAodmdhX3N3aXRjaGVyb29fY2xpZW50X3Byb2JlX2RlZmVyKHBkZXYpKQogCQly ZXR1cm4gLUVQUk9CRV9ERUZFUjsKIAogCS8qIHJlbW92ZSBjb25mbGljdGluZyBkcml2ZXJzICh2 ZXNhZmIsIGVmaWZiIGV0YykgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKaW5kZXgg Y2FkMjU1NS4uN2JlMGMzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKQEAgLTM0 LDExICszNCw5IEBACiAjaW5jbHVkZSAicmFkZW9uX2Rydi5oIgogCiAjaW5jbHVkZSA8ZHJtL2Ry bV9wY2lpZHMuaD4KLSNpbmNsdWRlIDxsaW51eC9hcHBsZS1nbXV4Lmg+CiAjaW5jbHVkZSA8bGlu dXgvY29uc29sZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4 L3BtX3J1bnRpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC92Z2FhcmIuaD4KICNpbmNsdWRlIDxsaW51 eC92Z2Ffc3dpdGNoZXJvby5oPgogI2luY2x1ZGUgPGRybS9kcm1fZ2VtLmg+CiAKQEAgLTMyMSwx MyArMzE5LDcgQEAgc3RhdGljIGludCByYWRlb25fcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpw ZGV2LAogewogCWludCByZXQ7CiAKLQkvKgotCSAqIGFwcGxlLWdtdXggaXMgbmVlZGVkIG9uIGR1 YWwgR1BVIE1hY0Jvb2sgUHJvCi0JICogdG8gcHJvYmUgdGhlIHBhbmVsIGlmIHdlJ3JlIHRoZSBp bmFjdGl2ZSBHUFUuCi0JICovCi0JaWYgKElTX0VOQUJMRUQoQ09ORklHX1ZHQV9BUkIpICYmIElT X0VOQUJMRUQoQ09ORklHX1ZHQV9TV0lUQ0hFUk9PKSAmJgotCSAgICBhcHBsZV9nbXV4X3ByZXNl bnQoKSAmJiBwZGV2ICE9IHZnYV9kZWZhdWx0X2RldmljZSgpICYmCi0JICAgICF2Z2Ffc3dpdGNo ZXJvb19oYW5kbGVyX2ZsYWdzKCkpCisJaWYgKHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9wcm9iZV9k ZWZlcihwZGV2KSkKIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CiAKIAkvKiBHZXQgcmlkIG9mIHRo aW5ncyBsaWtlIG9mZmIgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L3ZnYS92Z2Ffc3dpdGNo ZXJvby5jIGIvZHJpdmVycy9ncHUvdmdhL3ZnYV9zd2l0Y2hlcm9vLmMKaW5kZXggNTYyODdhZS4u NjEwOGViZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvdmdhL3ZnYV9zd2l0Y2hlcm9vLmMKKysr IGIvZHJpdmVycy9ncHUvdmdhL3ZnYV9zd2l0Y2hlcm9vLmMKQEAgLTMwLDYgKzMwLDcgQEAKIAog I2RlZmluZSBwcl9mbXQoZm10KSAidmdhX3N3aXRjaGVyb286ICIgZm10CiAKKyNpbmNsdWRlIDxs aW51eC9hcHBsZS1nbXV4Lmg+CiAjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgogI2luY2x1ZGUg PGxpbnV4L2RlYnVnZnMuaD4KICNpbmNsdWRlIDxsaW51eC9mYi5oPgpAQCAtMzc1LDYgKzM3Niwz MyBAQCBmaW5kX2FjdGl2ZV9jbGllbnQoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKIH0KIAogLyoq CisgKiB2Z2Ffc3dpdGNoZXJvb19jbGllbnRfcHJvYmVfZGVmZXIoKSAtIHdoZXRoZXIgdG8gZGVm ZXIgcHJvYmluZyBhIGdpdmVuIGNsaWVudAorICogQHBkZXY6IGNsaWVudCBwY2kgZGV2aWNlCisg KgorICogRGV0ZXJtaW5lIHdoZXRoZXIgYW55IHByZXJlcXVpc2l0ZXMgYXJlIG5vdCBmdWxmaWxs ZWQgdG8gcHJvYmUgYSBnaXZlbgorICogY2xpZW50LiBEcml2ZXJzIHNob3VsZCBpbnZva2UgdGhp cyBlYXJseSBvbiBpbiB0aGVpciAtPnByb2JlIGNhbGxiYWNrCisgKiBhbmQgcmV0dXJuICUtRVBS T0JFX0RFRkVSIGlmIGl0IGV2YWx1YXRlcyB0byAldHJ1ZS4gVGhlIGNsaWVudCBuZWVkCisgKiBu b3QgYmUgcmVnaXN0ZXJlZCB3aXRoIHZnYV9zd2l0Y2hlcm9vX3JlZ2lzdGVyX2NsaWVudCgpIGJl Zm9yZWhhbmQuCisgKgorICogUmV0dXJuOiAldHJ1ZSBpZiBwcm9iaW5nIHNob3VsZCBiZSBkZWZl cnJlZCwgb3RoZXJ3aXNlICVmYWxzZS4KKyAqLworYm9vbCB2Z2Ffc3dpdGNoZXJvb19jbGllbnRf cHJvYmVfZGVmZXIoc3RydWN0IHBjaV9kZXYgKnBkZXYpCit7CisJaWYgKChwZGV2LT5jbGFzcyA+ PiA4KSA9PSBQQ0lfQ0xBU1NfRElTUExBWV9WR0EpIHsKKwkJLyoKKwkJICogYXBwbGUtZ211eCBp cyBuZWVkZWQgb24gcHJlLXJldGluYSBNYWNCb29rIFBybworCQkgKiB0byBwcm9iZSB0aGUgcGFu ZWwgaWYgcGRldiBpcyB0aGUgaW5hY3RpdmUgR1BVLgorCQkgKi8KKwkJaWYgKGFwcGxlX2dtdXhf cHJlc2VudCgpICYmIHBkZXYgIT0gdmdhX2RlZmF1bHRfZGV2aWNlKCkgJiYKKwkJICAgICF2Z2Fz cl9wcml2LmhhbmRsZXJfZmxhZ3MpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CisKKwlyZXR1cm4gZmFs c2U7Cit9CitFWFBPUlRfU1lNQk9MKHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9wcm9iZV9kZWZlcik7 CisKKy8qKgogICogdmdhX3N3aXRjaGVyb29fZ2V0X2NsaWVudF9zdGF0ZSgpIC0gb2J0YWluIHBv d2VyIHN0YXRlIG9mIGEgZ2l2ZW4gY2xpZW50CiAgKiBAcGRldjogY2xpZW50IHBjaSBkZXZpY2UK ICAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3ZnYV9zd2l0Y2hlcm9vLmggYi9pbmNsdWRl L2xpbnV4L3ZnYV9zd2l0Y2hlcm9vLmgKaW5kZXggYjM5YTVmMy4uOTYwYmVkYiAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC92Z2Ffc3dpdGNoZXJvby5oCisrKyBiL2luY2x1ZGUvbGludXgvdmdh X3N3aXRjaGVyb28uaApAQCAtMTY1LDYgKzE2NSw3IEBAIGludCB2Z2Ffc3dpdGNoZXJvb191bmxv Y2tfZGRjKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKIAogaW50IHZnYV9zd2l0Y2hlcm9vX3Byb2Nl c3NfZGVsYXllZF9zd2l0Y2godm9pZCk7CiAKK2Jvb2wgdmdhX3N3aXRjaGVyb29fY2xpZW50X3By b2JlX2RlZmVyKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKIGVudW0gdmdhX3N3aXRjaGVyb29fc3Rh dGUgdmdhX3N3aXRjaGVyb29fZ2V0X2NsaWVudF9zdGF0ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KTsK IAogdm9pZCB2Z2Ffc3dpdGNoZXJvb19zZXRfZHluYW1pY19zd2l0Y2goc3RydWN0IHBjaV9kZXYg KnBkZXYsIGVudW0gdmdhX3N3aXRjaGVyb29fc3RhdGUgZHluYW1pYyk7CkBAIC0xODgsNiArMTg5 LDcgQEAgc3RhdGljIGlubGluZSBlbnVtIHZnYV9zd2l0Y2hlcm9vX2hhbmRsZXJfZmxhZ3NfdCB2 Z2Ffc3dpdGNoZXJvb19oYW5kbGVyX2ZsYWdzKHYKIHN0YXRpYyBpbmxpbmUgaW50IHZnYV9zd2l0 Y2hlcm9vX2xvY2tfZGRjKHN0cnVjdCBwY2lfZGV2ICpwZGV2KSB7IHJldHVybiAtRU5PREVWOyB9 CiBzdGF0aWMgaW5saW5lIGludCB2Z2Ffc3dpdGNoZXJvb191bmxvY2tfZGRjKHN0cnVjdCBwY2lf ZGV2ICpwZGV2KSB7IHJldHVybiAtRU5PREVWOyB9CiBzdGF0aWMgaW5saW5lIGludCB2Z2Ffc3dp dGNoZXJvb19wcm9jZXNzX2RlbGF5ZWRfc3dpdGNoKHZvaWQpIHsgcmV0dXJuIDA7IH0KK3N0YXRp YyBpbmxpbmUgYm9vbCB2Z2Ffc3dpdGNoZXJvb19jbGllbnRfcHJvYmVfZGVmZXIoc3RydWN0IHBj aV9kZXYgKnBkZXYpIHsgcmV0dXJuIGZhbHNlOyB9CiBzdGF0aWMgaW5saW5lIGVudW0gdmdhX3N3 aXRjaGVyb29fc3RhdGUgdmdhX3N3aXRjaGVyb29fZ2V0X2NsaWVudF9zdGF0ZShzdHJ1Y3QgcGNp X2RldiAqZGV2KSB7IHJldHVybiBWR0FfU1dJVENIRVJPT19PTjsgfQogCiBzdGF0aWMgaW5saW5l IHZvaWQgdmdhX3N3aXRjaGVyb29fc2V0X2R5bmFtaWNfc3dpdGNoKHN0cnVjdCBwY2lfZGV2ICpw ZGV2LCBlbnVtIHZnYV9zd2l0Y2hlcm9vX3N0YXRlIGR5bmFtaWMpIHt9Ci0tIAoxLjguNS4yIChB cHBsZSBHaXQtNDgpCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK