From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 01/53] drm/i915: Remove ironlake rc6 support Date: Thu, 5 Mar 2015 16:22:42 +0100 Message-ID: <20150305152241.GH18775@phenom.ffwll.local> References: <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1425564183-22296-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by gabe.freedesktop.org (Postfix) with ESMTP id 15DE16E7C1 for ; Thu, 5 Mar 2015 07:21:04 -0800 (PST) Received: by wiwh11 with SMTP id h11so39472440wiw.3 for ; Thu, 05 Mar 2015 07:21:03 -0800 (PST) Content-Disposition: inline In-Reply-To: <1425564183-22296-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: John.C.Harrison@Intel.com Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXIgMDUsIDIwMTUgYXQgMDI6MDM6MDNQTSArMDAwMCwgSm9obi5DLkhhcnJpc29u QEludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25A SW50ZWwuY29tPgo+IAo+IEFwcGFyZW50bHksIHRoaXMgaGFzIG5ldmVyIHdvcmtlZCByZWxpYWJs eSBhbmQgaXMgY3VycmVudGx5IGRpc2FibGVkLiBBbHNvLCB0aGUKPiBnYWlucyBhcmUgbm90IHBh cnRpY3VsYXJseSBpbXByZXNzaXZlLiBUaHVzIHJhdGhlciB0aGFuIHRyeSB0byBrZWVwIHVudXNl ZCBjb2RlCj4gZnJvbSBkZWNheWluZyBhbmQgaGF2aW5nIHRvIHVwZGF0ZSBpdCBmb3Igb3RoZXIg ZHJpdmVyIGNoYW5nZXMsIGl0IHdhcyBkZWNpZGVkCj4gdG8gc2ltcGx5IHJlbW92ZSBpdC4KPiAK PiBGb3I6IFZJWi01MTE1Cj4gU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhh cnJpc29uQEludGVsLmNvbT4KClF1ZXVlZCBmb3IgLW5leHQsIHRoYW5rcyBmb3IgdGhlIHBhdGNo LgotRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAg fCAgIDEyIC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgICAz IC0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgICAgMiAtCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgIDEgLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgfCAgMTU1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNzMgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRleCA2OGExZTZlLi4xOGU0OTAwIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMTg0NiwxOCArMTg0Niw2IEBA IHN0YXRpYyBpbnQgaTkxNV9jb250ZXh0X3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQg KnVudXNlZCkKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gLQlpZiAoZGV2X3By aXYtPmlwcy5wd3JjdHgpIHsKPiAtCQlzZXFfcHV0cyhtLCAicG93ZXIgY29udGV4dCAiKTsKPiAt CQlkZXNjcmliZV9vYmoobSwgZGV2X3ByaXYtPmlwcy5wd3JjdHgpOwo+IC0JCXNlcV9wdXRjKG0s ICdcbicpOwo+IC0JfQo+IC0KPiAtCWlmIChkZXZfcHJpdi0+aXBzLnJlbmRlcmN0eCkgewo+IC0J CXNlcV9wdXRzKG0sICJyZW5kZXIgY29udGV4dCAiKTsKPiAtCQlkZXNjcmliZV9vYmoobSwgZGV2 X3ByaXYtPmlwcy5yZW5kZXJjdHgpOwo+IC0JCXNlcV9wdXRjKG0sICdcbicpOwo+IC0JfQo+IC0K PiAgCWxpc3RfZm9yX2VhY2hfZW50cnkoY3R4LCAmZGV2X3ByaXYtPmNvbnRleHRfbGlzdCwgbGlu aykgewo+ICAJCWlmICghaTkxNS5lbmFibGVfZXhlY2xpc3RzICYmCj4gIAkJICAgIGN0eC0+bGVn YWN5X2h3X2N0eC5yY3Nfc3RhdGUgPT0gTlVMTCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBp bmRleCA3OThmYTg4Li4wNWYxMDZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAg LTEwNTMsOSArMTA1Myw2IEBAIHN0cnVjdCBpbnRlbF9pbGtfcG93ZXJfbWdtdCB7Cj4gIAo+ICAJ aW50IGNfbTsKPiAgCWludCByX3Q7Cj4gLQo+IC0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg KnB3cmN0eDsKPiAtCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpyZW5kZXJjdHg7Cj4gIH07 Cj4gIAo+ICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gaW5kZXggNWMzNTA5OC4uNTFmN2VkNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTM5MDQsOCArMTM5MDQsNiBAQCB2b2lkIGludGVsX21v ZGVzZXRfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCWludGVsX2ZiY19k aXNhYmxlKGRldik7Cj4gIAo+IC0JaXJvbmxha2VfdGVhcmRvd25fcmM2KGRldik7Cj4gLQo+ICAJ bXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAo+ICAJLyogZmx1c2ggYW55IGRl bGF5ZWQgdGFza3Mgb3IgcGVuZGluZyB3b3JrICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiBpbmRleCBmNDMwNWJlLi5iNzkzNTU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiBAQCAtMTIyOSw3ICsxMjI5LDYgQEAgdm9pZCBpbnRlbF9lbmFibGVfZ3RfcG93ZXJzYXZlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX2Rpc2FibGVfZ3RfcG93ZXJzYXZl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX3N1c3BlbmRfZ3RfcG93ZXJz YXZlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX3Jlc2V0X2d0X3Bvd2Vy c2F2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAtdm9pZCBpcm9ubGFrZV90ZWFyZG93bl9y YzYoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgZ2VuNl91cGRhdGVfcmluZ19mcmVx KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGdlbjZfcnBzX2lkbGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBnZW42X3Jwc19ib29zdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGlu ZGV4IDU0MmNmNjguLjA3NjI1NzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAt MzUzOSw0MSArMzUzOSw2IEBAIHZvaWQgaW50ZWxfdXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCQkJCQkgICBwaXhlbF9zaXplLCBlbmFibGVkLCBz Y2FsZWQpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgo+ IC1pbnRlbF9hbGxvY19jb250ZXh0X3BhZ2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAtewo+ IC0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eDsKPiAtCWludCByZXQ7Cj4gLQo+IC0J V0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXYtPnN0cnVjdF9tdXRleCkpOwo+IC0KPiAtCWN0 eCA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChkZXYsIDQwOTYpOwo+IC0JaWYgKCFjdHgpIHsKPiAt CQlEUk1fREVCVUcoImZhaWxlZCB0byBhbGxvYyBwb3dlciBjb250ZXh0LCBSQzYgZGlzYWJsZWRc biIpOwo+IC0JCXJldHVybiBOVUxMOwo+IC0JfQo+IC0KPiAtCXJldCA9IGk5MTVfZ2VtX29ial9n Z3R0X3BpbihjdHgsIDQwOTYsIDApOwo+IC0JaWYgKHJldCkgewo+IC0JCURSTV9FUlJPUigiZmFp bGVkIHRvIHBpbiBwb3dlciBjb250ZXh0OiAlZFxuIiwgcmV0KTsKPiAtCQlnb3RvIGVycl91bnJl ZjsKPiAtCX0KPiAtCj4gLQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2d0dF9kb21haW4o Y3R4LCAxKTsKPiAtCWlmIChyZXQpIHsKPiAtCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXQtZG9t YWluIG9uIHBvd2VyIGNvbnRleHQ6ICVkXG4iLCByZXQpOwo+IC0JCWdvdG8gZXJyX3VucGluOwo+ IC0JfQo+IC0KPiAtCXJldHVybiBjdHg7Cj4gLQo+IC1lcnJfdW5waW46Cj4gLQlpOTE1X2dlbV9v YmplY3RfZ2d0dF91bnBpbihjdHgpOwo+IC1lcnJfdW5yZWY6Cj4gLQlkcm1fZ2VtX29iamVjdF91 bnJlZmVyZW5jZSgmY3R4LT5iYXNlKTsKPiAtCXJldHVybiBOVUxMOwo+IC19Cj4gLQo+ICAvKioK PiAgICogTG9jayBwcm90ZWN0aW5nIElQUyByZWxhdGVkIGRhdGEgc3RydWN0dXJlcwo+ICAgKi8K PiBAQCAtNDk5MCwxMjQgKzQ5NTUsNiBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2VuYWJsZV9y cHMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0 KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKPiAgfQo+ICAKPiAtdm9pZCBpcm9ubGFrZV90ZWFy ZG93bl9yYzYoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAtewo+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCj4gLQlpZiAoZGV2X3By aXYtPmlwcy5yZW5kZXJjdHgpIHsKPiAtCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihkZXZf cHJpdi0+aXBzLnJlbmRlcmN0eCk7Cj4gLQkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJmRl dl9wcml2LT5pcHMucmVuZGVyY3R4LT5iYXNlKTsKPiAtCQlkZXZfcHJpdi0+aXBzLnJlbmRlcmN0 eCA9IE5VTEw7Cj4gLQl9Cj4gLQo+IC0JaWYgKGRldl9wcml2LT5pcHMucHdyY3R4KSB7Cj4gLQkJ aTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oZGV2X3ByaXYtPmlwcy5wd3JjdHgpOwo+IC0JCWRy bV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZkZXZfcHJpdi0+aXBzLnB3cmN0eC0+YmFzZSk7Cj4g LQkJZGV2X3ByaXYtPmlwcy5wd3JjdHggPSBOVUxMOwo+IC0JfQo+IC19Cj4gLQo+IC1zdGF0aWMg dm9pZCBpcm9ubGFrZV9kaXNhYmxlX3JjNihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IC17Cj4g LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ IC0KPiAtCWlmIChJOTE1X1JFQUQoUFdSQ1RYQSkpIHsKPiAtCQkvKiBXYWtlIHRoZSBHUFUsIHBy ZXZlbnQgUkM2LCB0aGVuIHJlc3RvcmUgUlNUREJZQ1RMICovCj4gLQkJSTkxNV9XUklURShSU1RE QllDVEwsIEk5MTVfUkVBRChSU1REQllDVEwpIHwgUkNYX1NXX0VYSVQpOwo+IC0JCXdhaXRfZm9y KCgoSTkxNV9SRUFEKFJTVERCWUNUTCkgJiBSU1hfU1RBVFVTX01BU0spID09IFJTWF9TVEFUVVNf T04pLAo+IC0JCQkgNTApOwo+IC0KPiAtCQlJOTE1X1dSSVRFKFBXUkNUWEEsIDApOwo+IC0JCVBP U1RJTkdfUkVBRChQV1JDVFhBKTsKPiAtCj4gLQkJSTkxNV9XUklURShSU1REQllDVEwsIEk5MTVf UkVBRChSU1REQllDVEwpICYgflJDWF9TV19FWElUKTsKPiAtCQlQT1NUSU5HX1JFQUQoUlNUREJZ Q1RMKTsKPiAtCX0KPiAtfQo+IC0KPiAtc3RhdGljIGludCBpcm9ubGFrZV9zZXR1cF9yYzYoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAtewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCj4gLQlpZiAoZGV2X3ByaXYtPmlwcy5yZW5k ZXJjdHggPT0gTlVMTCkKPiAtCQlkZXZfcHJpdi0+aXBzLnJlbmRlcmN0eCA9IGludGVsX2FsbG9j X2NvbnRleHRfcGFnZShkZXYpOwo+IC0JaWYgKCFkZXZfcHJpdi0+aXBzLnJlbmRlcmN0eCkKPiAt CQlyZXR1cm4gLUVOT01FTTsKPiAtCj4gLQlpZiAoZGV2X3ByaXYtPmlwcy5wd3JjdHggPT0gTlVM TCkKPiAtCQlkZXZfcHJpdi0+aXBzLnB3cmN0eCA9IGludGVsX2FsbG9jX2NvbnRleHRfcGFnZShk ZXYpOwo+IC0JaWYgKCFkZXZfcHJpdi0+aXBzLnB3cmN0eCkgewo+IC0JCWlyb25sYWtlX3RlYXJk b3duX3JjNihkZXYpOwo+IC0JCXJldHVybiAtRU5PTUVNOwo+IC0JfQo+IC0KPiAtCXJldHVybiAw Owo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBpcm9ubGFrZV9lbmFibGVfcmM2KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gLXsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gJmRl dl9wcml2LT5yaW5nW1JDU107Cj4gLQlib29sIHdhc19pbnRlcnJ1cHRpYmxlOwo+IC0JaW50IHJl dDsKPiAtCj4gLQkvKiByYzYgZGlzYWJsZWQgYnkgZGVmYXVsdCBkdWUgdG8gcmVwZWF0ZWQgcmVw b3J0cyBvZiBoYW5naW5nIGR1cmluZwo+IC0JICogYm9vdCBhbmQgcmVzdW1lLgo+IC0JICovCj4g LQlpZiAoIWludGVsX2VuYWJsZV9yYzYoZGV2KSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JV0FSTl9P TighbXV0ZXhfaXNfbG9ja2VkKCZkZXYtPnN0cnVjdF9tdXRleCkpOwo+IC0KPiAtCXJldCA9IGly b25sYWtlX3NldHVwX3JjNihkZXYpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm47Cj4gLQo+IC0J d2FzX2ludGVycnVwdGlibGUgPSBkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZTsKPiAtCWRldl9w cml2LT5tbS5pbnRlcnJ1cHRpYmxlID0gZmFsc2U7Cj4gLQo+IC0JLyoKPiAtCSAqIEdQVSBjYW4g YXV0b21hdGljYWxseSBwb3dlciBkb3duIHRoZSByZW5kZXIgdW5pdCBpZiBnaXZlbiBhIHBhZ2UK PiAtCSAqIHRvIHNhdmUgc3RhdGUuCj4gLQkgKi8KPiAtCXJldCA9IGludGVsX3JpbmdfYmVnaW4o cmluZywgNik7Cj4gLQlpZiAocmV0KSB7Cj4gLQkJaXJvbmxha2VfdGVhcmRvd25fcmM2KGRldik7 Cj4gLQkJZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGUgPSB3YXNfaW50ZXJydXB0aWJsZTsKPiAt CQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX1NVU1BFTkRf RkxVU0ggfCBNSV9TVVNQRU5EX0ZMVVNIX0VOKTsKPiAtCWludGVsX3JpbmdfZW1pdChyaW5nLCBN SV9TRVRfQ09OVEVYVCk7Cj4gLQlpbnRlbF9yaW5nX2VtaXQocmluZywgaTkxNV9nZW1fb2JqX2dn dHRfb2Zmc2V0KGRldl9wcml2LT5pcHMucmVuZGVyY3R4KSB8Cj4gLQkJCU1JX01NX1NQQUNFX0dU VCB8Cj4gLQkJCU1JX1NBVkVfRVhUX1NUQVRFX0VOIHwKPiAtCQkJTUlfUkVTVE9SRV9FWFRfU1RB VEVfRU4gfAo+IC0JCQlNSV9SRVNUT1JFX0lOSElCSVQpOwo+IC0JaW50ZWxfcmluZ19lbWl0KHJp bmcsIE1JX1NVU1BFTkRfRkxVU0gpOwo+IC0JaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1Ap Owo+IC0JaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX0ZMVVNIKTsKPiAtCWludGVsX3JpbmdfYWR2 YW5jZShyaW5nKTsKPiAtCj4gLQkvKgo+IC0JICogV2FpdCBmb3IgdGhlIGNvbW1hbmQgcGFyc2Vy IHRvIGFkdmFuY2UgcGFzdCBNSV9TRVRfQ09OVEVYVC4gVGhlIEhXCj4gLQkgKiBkb2VzIGFuIGlt cGxpY2l0IGZsdXNoLCBjb21iaW5lZCB3aXRoIE1JX0ZMVVNIIGFib3ZlLCBpdCBzaG91bGQgYmUK PiAtCSAqIHNhZmUgdG8gYXNzdW1lIHRoYXQgcmVuZGVyY3R4IGlzIHZhbGlkCj4gLQkgKi8KPiAt CXJldCA9IGludGVsX3JpbmdfaWRsZShyaW5nKTsKPiAtCWRldl9wcml2LT5tbS5pbnRlcnJ1cHRp YmxlID0gd2FzX2ludGVycnVwdGlibGU7Cj4gLQlpZiAocmV0KSB7Cj4gLQkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gZW5hYmxlIGlyb25sYWtlIHBvd2VyIHNhdmluZ3NcbiIpOwo+IC0JCWlyb25sYWtl X3RlYXJkb3duX3JjNihkZXYpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4gLQlJOTE1X1dSSVRF KFBXUkNUWEEsIGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChkZXZfcHJpdi0+aXBzLnB3cmN0eCkg fCBQV1JDVFhfRU4pOwo+IC0JSTkxNV9XUklURShSU1REQllDVEwsIEk5MTVfUkVBRChSU1REQllD VEwpICYgflJDWF9TV19FWElUKTsKPiAtCj4gLQlpbnRlbF9wcmludF9yYzZfaW5mbyhkZXYsIEdF TjZfUkNfQ1RMX1JDNl9FTkFCTEUpOwo+IC19Cj4gLQo+ICBzdGF0aWMgdW5zaWduZWQgbG9uZyBp bnRlbF9weGZyZXEodTMyIHZpZGZyZXEpCj4gIHsKPiAgCXVuc2lnbmVkIGxvbmcgZnJlcTsKPiBA QCAtNTY1NSw3ICs1NTAyLDYgQEAgdm9pZCBpbnRlbF9kaXNhYmxlX2d0X3Bvd2Vyc2F2ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCWlmIChJU19JUk9OTEFLRV9NKGRldikpIHsKPiAg CQlpcm9ubGFrZV9kaXNhYmxlX2RycHMoZGV2KTsKPiAtCQlpcm9ubGFrZV9kaXNhYmxlX3JjNihk ZXYpOwo+ICAJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA2KSB7Cj4gIAkJaW50 ZWxfc3VzcGVuZF9ndF9wb3dlcnNhdmUoZGV2KTsKPiAgCj4gQEAgLTU3MjYsNyArNTU3Miw2IEBA IHZvaWQgaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAJaWYgKElTX0lST05MQUtFX00oZGV2KSkgewo+ICAJCW11dGV4X2xvY2soJmRldi0+c3RydWN0 X211dGV4KTsKPiAgCQlpcm9ubGFrZV9lbmFibGVfZHJwcyhkZXYpOwo+IC0JCWlyb25sYWtlX2Vu YWJsZV9yYzYoZGV2KTsKPiAgCQlpbnRlbF9pbml0X2Vtb24oZGV2KTsKPiAgCQltdXRleF91bmxv Y2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgCX0gZWxzZSBpZiAoSU5URUxfSU5GTyhkZXYpLT5n ZW4gPj0gNikgewo+IC0tIAo+IDEuNy45LjUKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5n aW5lZXIsIEludGVsIENvcnBvcmF0aW9uCis0MSAoMCkgNzkgMzY1IDU3IDQ4IC0gaHR0cDovL2Js b2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK