From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 16/22] drm/i915: Make fb_tracking.lock a spinlock Date: Thu, 28 Jul 2016 12:02:01 +0200 Message-ID: <20160728100201.GD6232@phenom.ffwll.local> References: <1469618100-15298-1-git-send-email-chris@chris-wilson.co.uk> <1469618100-15298-17-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8E1336E7BB for ; Thu, 28 Jul 2016 10:02:06 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id q128so10358395wma.1 for ; Thu, 28 Jul 2016 03:02:06 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1469618100-15298-17-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdWwgMjcsIDIwMTYgYXQgMTI6MTQ6NTRQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFdlIG9ubHkgbmVlZCBhIHZlcnkgbGlnaHR3ZWlnaHQgbWVjaGFuaXNtIGhlcmUgYXMg dGhlIGxvY2tpbmcgaXMgb25seQo+IHVzZWQgZm9yIGNvLW9yZGluYXRpbmcgYSBiaXRmaWVsZC4K PiAKPiB2MjogTW92ZSB0aGUgY2hlYXAgdW5saWtlbHkgdGVzdHMgaW50byB0aGUgY2FsbGVyCj4g Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ CgpJIHRoaW5rIHRoZSBjb2RlIHNodWZmbGluZyBpbiBoZXJlIGJhZGx5IGJyZWFrcyB0aGUga2Vy bmVsZG9jLiBCZXN0IGZpeAp3b3VsZCBiZSB0byBleHRyYWN0IGEgc21hbGwgaGVhZGVyIGZvciBm cm9udGJ1ZmZlciB0cmFja2luZyBhbmQgcHVsbCB0aGF0CmludG8gdGhlIGtlcm5lbCBkb2MuIE11 Y2ggbGVzcyBwcmVmZXJyZWQgaXMgdG8gZXhwbGljaXRseSBwdWxsIGluIHRoZQprZXJuZWxkb2Mg ZnVuY3Rpb24tYnktZnVuY3Rpb24gKGJ1dCB0aGF0IHRlbmRzIHRvIGJlIHJhdGhlciBmcmFnaWxl IHdoZW4Kc29tZW9uZSBhZGRzIHNvbWV0aGluZyBuZXcpLgotRGFuaWVsCgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgfCAyOSArKysrKysrKysrKysrKy0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mcm9udGJ1ZmZlci5jIHwgNTQgKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAz NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCAzYTY4ZTYw NGFkMTAuLmEyNGQzMWUzZTAxNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0x NjY5LDcgKzE2NjksNyBAQCBzdHJ1Y3QgaW50ZWxfcGlwZV9jcmMgewo+ICB9Owo+ICAKPiAgc3Ry dWN0IGk5MTVfZnJvbnRidWZmZXJfdHJhY2tpbmcgewo+IC0Jc3RydWN0IG11dGV4IGxvY2s7Cj4g KwlzcGlubG9ja190IGxvY2s7Cj4gIAo+ICAJLyoKPiAgCSAqIFRyYWNraW5nIGJpdHMgZm9yIGRl bGF5ZWQgZnJvbnRidWZmZXIgZmx1c2hpbmcgZHUgdG8gZ3B1IGFjdGl2aXR5IG9yCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggMWZiOTU4ZGNjNzQ5Li43ZGIwODA4ZjY5NjEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtNDQ0Nyw3ICs0NDQ3LDcgQEAgaTkxNV9nZW1f bG9hZF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJZGV2X3ByaXYtPm1tLmlu dGVycnVwdGlibGUgPSB0cnVlOwo+ICAKPiAtCW11dGV4X2luaXQoJmRldl9wcml2LT5mYl90cmFj a2luZy5sb2NrKTsKPiArCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9j ayk7Cj4gIH0KPiAgCj4gIHZvaWQgaTkxNV9nZW1fbG9hZF9jbGVhbnVwKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBlNzRkODUxODY4YzUu LjAxMDU2Y2U4ZDQ2MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTExMzUs OCArMTEzNSw2IEBAIHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywgYm9vbCBzdGF0ZSk7Cj4gIHVpbnQzMl90IGRkaV9zaWduYWxfbGV2ZWxz KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ICAKPiAgLyogaW50ZWxfZnJvbnRidWZmZXIu YyAqLwo+IC12b2lkIGludGVsX2ZiX29ial9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCj4gLQkJCSAgICAgZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKTsKPiAgdm9p ZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwX3ByZXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiAgCQkJCSAgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiAgdm9pZCBpbnRlbF9mcm9u dGJ1ZmZlcl9mbGlwX2NvbXBsZXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gQEAgLTExNDcs OCArMTE0NSwzMSBAQCB1bnNpZ25lZCBpbnQgaW50ZWxfZmJfYWxpZ25faGVpZ2h0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gIAkJCQkgICB1bnNpZ25lZCBpbnQgaGVpZ2h0LAo+ICAJCQkJICAg dWludDMyX3QgcGl4ZWxfZm9ybWF0LAo+ICAJCQkJICAgdWludDY0X3QgZmJfZm9ybWF0X21vZGlm aWVyKTsKPiAtdm9pZCBpbnRlbF9mYl9vYmpfZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwgYm9vbCByZXRpcmUsCj4gLQkJCWVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbik7Cj4g Kwo+ICt2b2lkIF9faW50ZWxfZmJfb2JqX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiwKPiArCQkJICAgICAgIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbik7Cj4gK3N0 YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9mYl9vYmpfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqLAo+ICsJCQkJCSAgIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbikKPiAr ewo+ICsJaWYgKCFvYmotPmZyb250YnVmZmVyX2JpdHMpCj4gKwkJcmV0dXJuOwo+ICsKPiArCV9f aW50ZWxfZmJfb2JqX2ludmFsaWRhdGUob2JqLCBvcmlnaW4pOwo+ICt9Cj4gKwo+ICt2b2lkIF9f aW50ZWxfZmJfb2JqX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gKwkJ CSAgYm9vbCByZXRpcmUsCj4gKwkJCSAgZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKTsKPiArc3Rh dGljIGlubGluZSB2b2lkIGludGVsX2ZiX29ial9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAo+ICsJCQkJICAgICAgYm9vbCByZXRpcmUsCj4gKwkJCQkgICAgICBlbnVtIGZi X29wX29yaWdpbiBvcmlnaW4pCj4gK3sKPiArCWlmICghb2JqLT5mcm9udGJ1ZmZlcl9iaXRzKQo+ ICsJCXJldHVybjsKPiArCj4gKwlfX2ludGVsX2ZiX29ial9mbHVzaChvYmosIHJldGlyZSwgb3Jp Z2luKTsKPiArfQo+ICsKPiAgdTMyIGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgICB1aW50NjRfdCBmYl9t b2RpZmllciwgdWludDMyX3QgcGl4ZWxfZm9ybWF0KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Zyb250YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9mcm9udGJ1ZmZlci5jCj4gaW5kZXggYWM4NTM1NzAxMGI0Li5hMzhjY2ZlNDg5NGEg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJvbnRidWZmZXIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Zyb250YnVmZmVyLmMKPiBAQCAtNzYs MjQgKzc2LDE5IEBACj4gICAqIHVudGlsIHRoZSByZW5kZXJpbmcgY29tcGxldGVzIG9yIGEgZmxp cCBvbiB0aGlzIGZyb250YnVmZmVyIHBsYW5lIGlzCj4gICAqIHNjaGVkdWxlZC4KPiAgICovCj4g LXZvaWQgaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKPiAtCQkJICAgICBlbnVtIGZiX29wX29yaWdpbiBvcmlnaW4pCj4gK3ZvaWQgX19pbnRl bF9mYl9vYmpfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICsJ CQkgICAgICAgZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gb2JqLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCj4gIAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQo JmRldi0+c3RydWN0X211dGV4KSk7Cj4gIAo+IC0JaWYgKCFvYmotPmZyb250YnVmZmVyX2JpdHMp Cj4gLQkJcmV0dXJuOwo+IC0KPiAgCWlmIChvcmlnaW4gPT0gT1JJR0lOX0NTKSB7Cj4gLQkJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwo+IC0JCWRldl9wcml2LT5mYl90 cmFja2luZy5idXN5X2JpdHMKPiAtCQkJfD0gb2JqLT5mcm9udGJ1ZmZlcl9iaXRzOwo+IC0JCWRl dl9wcml2LT5mYl90cmFja2luZy5mbGlwX2JpdHMKPiAtCQkJJj0gfm9iai0+ZnJvbnRidWZmZXJf Yml0czsKPiAtCQltdXRleF91bmxvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKPiAr CQlzcGluX2xvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKPiArCQlkZXZfcHJpdi0+ ZmJfdHJhY2tpbmcuYnVzeV9iaXRzIHw9IG9iai0+ZnJvbnRidWZmZXJfYml0czsKPiArCQlkZXZf cHJpdi0+ZmJfdHJhY2tpbmcuZmxpcF9iaXRzICY9IH5vYmotPmZyb250YnVmZmVyX2JpdHM7Cj4g KwkJc3Bpbl91bmxvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKPiAgCX0KPiAgCj4g IAlpbnRlbF9wc3JfaW52YWxpZGF0ZShkZXYsIG9iai0+ZnJvbnRidWZmZXJfYml0cyk7Cj4gQEAg LTEyMCwxMSArMTE1LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsdXNoKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGRldik7Cj4gIAo+ICAJLyogRGVsYXkgZmx1c2hpbmcgd2hlbiByaW5ncyBh cmUgc3RpbGwgYnVzeS4qLwo+IC0JbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxv Y2spOwo+ICsJc3Bpbl9sb2NrKCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7Cj4gIAlmcm9u dGJ1ZmZlcl9iaXRzICY9IH5kZXZfcHJpdi0+ZmJfdHJhY2tpbmcuYnVzeV9iaXRzOwo+IC0JbXV0 ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7Cj4gKwlzcGluX3VubG9jaygm ZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwo+ICAKPiAtCWlmICghZnJvbnRidWZmZXJfYml0 cykKPiArCWlmIChmcm9udGJ1ZmZlcl9iaXRzID09IDApCj4gIAkJcmV0dXJuOwo+ICAKPiAgCWlu dGVsX2VkcF9kcnJzX2ZsdXNoKGRldiwgZnJvbnRidWZmZXJfYml0cyk7Cj4gQEAgLTE0Miw4ICsx MzcsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbHVzaChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAgKiBjb21wbGV0ZWQgYW5kIGZyb250YnVmZmVyIGNhY2hpbmcgY2FuIGJl IHN0YXJ0ZWQgYWdhaW4uIElmIEByZXRpcmUgaXMgdHJ1ZQo+ICAgKiB0aGVuIGFueSBkZWxheWVk IGZsdXNoZXMgd2lsbCBiZSB1bmJsb2NrZWQuCj4gICAqLwo+IC12b2lkIGludGVsX2ZiX29ial9m bHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+IC0JCQlib29sIHJldGlyZSwg ZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKQo+ICt2b2lkIF9faW50ZWxfZmJfb2JqX2ZsdXNoKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gKwkJCSAgYm9vbCByZXRpcmUsCj4gKwkJ CSAgZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gb2JqLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKPiBAQCAtMTUxLDIxICsxNDcsMTggQEAgdm9pZCBpbnRlbF9mYl9v YmpfZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCj4gIAlXQVJOX09O KCFtdXRleF9pc19sb2NrZWQoJmRldi0+c3RydWN0X211dGV4KSk7Cj4gIAo+IC0JaWYgKCFvYmot PmZyb250YnVmZmVyX2JpdHMpCj4gLQkJcmV0dXJuOwo+IC0KPiAgCWZyb250YnVmZmVyX2JpdHMg PSBvYmotPmZyb250YnVmZmVyX2JpdHM7Cj4gIAo+ICAJaWYgKHJldGlyZSkgewo+IC0JCW11dGV4 X2xvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKPiArCQlzcGluX2xvY2soJmRldl9w cml2LT5mYl90cmFja2luZy5sb2NrKTsKPiAgCQkvKiBGaWx0ZXIgb3V0IG5ldyBiaXRzIHNpbmNl IHJlbmRlcmluZyBzdGFydGVkLiAqLwo+ICAJCWZyb250YnVmZmVyX2JpdHMgJj0gZGV2X3ByaXYt PmZiX3RyYWNraW5nLmJ1c3lfYml0czsKPiAtCj4gIAkJZGV2X3ByaXYtPmZiX3RyYWNraW5nLmJ1 c3lfYml0cyAmPSB+ZnJvbnRidWZmZXJfYml0czsKPiAtCQltdXRleF91bmxvY2soJmRldl9wcml2 LT5mYl90cmFja2luZy5sb2NrKTsKPiArCQlzcGluX3VubG9jaygmZGV2X3ByaXYtPmZiX3RyYWNr aW5nLmxvY2spOwo+ICAJfQo+ICAKPiAtCWludGVsX2Zyb250YnVmZmVyX2ZsdXNoKGRldiwgZnJv bnRidWZmZXJfYml0cywgb3JpZ2luKTsKPiArCWlmIChmcm9udGJ1ZmZlcl9iaXRzKQo+ICsJCWlu dGVsX2Zyb250YnVmZmVyX2ZsdXNoKGRldiwgZnJvbnRidWZmZXJfYml0cywgb3JpZ2luKTsKPiAg fQo+ICAKPiAgLyoqCj4gQEAgLTE4NSwxMSArMTc4LDExIEBAIHZvaWQgaW50ZWxfZnJvbnRidWZm ZXJfZmxpcF9wcmVwYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIHsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCj4gLQltdXRleF9s b2NrKCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7Cj4gKwlzcGluX2xvY2soJmRldl9wcml2 LT5mYl90cmFja2luZy5sb2NrKTsKPiAgCWRldl9wcml2LT5mYl90cmFja2luZy5mbGlwX2JpdHMg fD0gZnJvbnRidWZmZXJfYml0czsKPiAgCS8qIFJlbW92ZSBzdGFsZSBidXN5IGJpdHMgZHVlIHRv IHRoZSBvbGQgYnVmZmVyLiAqLwo+ICAJZGV2X3ByaXYtPmZiX3RyYWNraW5nLmJ1c3lfYml0cyAm PSB+ZnJvbnRidWZmZXJfYml0czsKPiAtCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmZiX3RyYWNr aW5nLmxvY2spOwo+ICsJc3Bpbl91bmxvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsK PiAgCj4gIAlpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3VwZGF0ZShkZXYsIGZyb250YnVmZmVyX2Jp dHMpOwo+ICB9Cj4gQEAgLTIwOSwxMyArMjAyLDE0IEBAIHZvaWQgaW50ZWxfZnJvbnRidWZmZXJf ZmxpcF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gIAo+IC0JbXV0ZXhfbG9j aygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwo+ICsJc3Bpbl9sb2NrKCZkZXZfcHJpdi0+ ZmJfdHJhY2tpbmcubG9jayk7Cj4gIAkvKiBNYXNrIGFueSBjYW5jZWxsZWQgZmxpcHMuICovCj4g IAlmcm9udGJ1ZmZlcl9iaXRzICY9IGRldl9wcml2LT5mYl90cmFja2luZy5mbGlwX2JpdHM7Cj4g IAlkZXZfcHJpdi0+ZmJfdHJhY2tpbmcuZmxpcF9iaXRzICY9IH5mcm9udGJ1ZmZlcl9iaXRzOwo+ IC0JbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7Cj4gKwlzcGluX3Vu bG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwo+ICAKPiAtCWludGVsX2Zyb250YnVm ZmVyX2ZsdXNoKGRldiwgZnJvbnRidWZmZXJfYml0cywgT1JJR0lOX0ZMSVApOwo+ICsJaWYgKGZy b250YnVmZmVyX2JpdHMpCj4gKwkJaW50ZWxfZnJvbnRidWZmZXJfZmx1c2goZGV2LCBmcm9udGJ1 ZmZlcl9iaXRzLCBPUklHSU5fRkxJUCk7Cj4gIH0KPiAgCj4gIC8qKgo+IEBAIC0yMzQsMTAgKzIy OCwxMCBAQCB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwo+ICAKPiAtCW11dGV4X2xvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKPiAr CXNwaW5fbG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwo+ICAJLyogUmVtb3ZlIHN0 YWxlIGJ1c3kgYml0cyBkdWUgdG8gdGhlIG9sZCBidWZmZXIuICovCj4gIAlkZXZfcHJpdi0+ZmJf dHJhY2tpbmcuYnVzeV9iaXRzICY9IH5mcm9udGJ1ZmZlcl9iaXRzOwo+IC0JbXV0ZXhfdW5sb2Nr KCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7Cj4gKwlzcGluX3VubG9jaygmZGV2X3ByaXYt PmZiX3RyYWNraW5nLmxvY2spOwo+ICAKPiAgCWludGVsX2Zyb250YnVmZmVyX2ZsdXNoKGRldiwg ZnJvbnRidWZmZXJfYml0cywgT1JJR0lOX0ZMSVApOwo+ICB9Cj4gLS0gCj4gMi44LjEKPiAKPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdm eCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApE YW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8v YmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK