From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 2/3] drm/i915/bxt: add revision id for A1 stepping and use it Date: Wed, 07 Oct 2015 11:32:03 +0300 Message-ID: <87d1wr84fw.fsf@intel.com> References: <1444131676-12187-1-git-send-email-jani.nikula@intel.com> <1444131676-12187-2-git-send-email-jani.nikula@intel.com> <20151006122937.GV26517@intel.com> <87zizw864w.fsf@intel.com> <20151006190237.GB26517@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id DBCAA6E219 for ; Wed, 7 Oct 2015 01:28:41 -0700 (PDT) In-Reply-To: <20151006190237.GB26517@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org, Sarah Sharp , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwNiBPY3QgMjAxNSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gVHVlLCBPY3QgMDYsIDIwMTUgYXQgMDQ6NDM6MTFQTSAr MDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IE9uIFR1ZSwgMDYgT2N0IDIwMTUsIFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+PiA+IE9uIFR1 ZSwgT2N0IDA2LCAyMDE1IGF0IDAyOjQxOjE1UE0gKzAzMDAsIEphbmkgTmlrdWxhIHdyb3RlOgo+ PiA+PiBQcmVmZXIgaW5jbHVzaXZlIHJhbmdlcyBmb3IgcmV2aXNpb24gY2hlY2tzIHJhdGhlciB0 aGFuICJiZWxvdyBCMCIuIFBlcgo+PiA+PiBzcGVjcyBBMiBpcyBub3QgdXNlZCwgc28gcmV2aWQg PD0gQTEgbWF0Y2hlcyByZXZpZCA8IEIwLgo+PiA+Cj4+ID4gVGhlIHcvYSBkYiB3b3VsZCBzYXkg VU5USUxfQjAgZXRjLiwgc28gbWlnaHQgYmUgZWFzaWVyIHRvIGNoZWNrIGFnYWluc3QKPj4gPiBp dCBpZiB3ZSBrZWVwIHRvIHRoZSBzYW1lIGNvbnZlbnRpb24uCj4+IAo+PiBTbyBJIHdhbnRlZCB0 byBkb3VibGUgY2hlY2sgd2hhdCB0aGUgY29udmVudGlvbiBpcy4gSSBwaWNrZWQKPj4gV2FSc0Rp c2FibGVDb2Fyc2VQb3dlckdhdGluZy4KPj4gCj4+IEtCTCAtIFNJV0FfRk9SRVZFUgo+PiBCWFQg LSBTSV9XQV9CRUZPUkUoQlhUX1JFVl9JRF9CMCkKPj4gU0tMIC0gU0lXQV9VTlRJTF9TS0xfRTAK Pj4gCj4+IERlc2NyaXB0aW9uICJEaXNhYmxlIGNvYXJzZSBwb3dlciBnYXRpbmcgZm9yIEdUNCB1 bnRpbCBHVCBGMCBzdGVwcGluZy4iCj4+IAo+PiAqcm9sbHMgZXllcyoKPj4gCj4+IFNvIGlzIHRo YXQgInVudGlsIiB0aGVyZSBpbmNsdXNpdmUgb3Igbm9uLWluY2x1c2l2ZT8gVGhlIGRiIGlzCj4+ IGNvbnRyYWRpY3RpbmcgaXRzZWxmLi4uCj4KPiBIbW0uIE15IHJlY29sbGVjdGlvbiB3YXMgdGhh dCBpdCdzIGV4Y2x1c2l2ZSwgYnV0IG5vdyB0aGF0IEkgbG9vayBhdAo+IHlvdXIgZmluZGluZ3Mg YW5kIHNvbWUgb3RoZXIgd29ya2Fyb3VuZHMsIGl0IGRvZXMgbG9vayBhIGJpdCBtb3JlIGxpa2UK PiBpbmNsdXNpdmUuCj4KPiBJIHdvdWxkIHRoaW5rIHRoZSBleGNsdXNpdmUgdGhpbmcgd291bGQg YmUgZWFzaWVyIHRvIG1haW50YWluIHNpbmNlCj4gdGhlIGhzZCBzcGVjaWZpZXMgdGhlIHN0ZXBw aW5nIGluIHdoaWNoIHN0dWZmIGdvdCBmaXhlZCwgYW5kIHRoZQo+IGV4Y2x1c2l2ZSBjb252ZW50 aW9uIHdvdWxkIHRoZW4gaGF2ZSB0aGUgc2FtZSBzdGVwcGluZyBsaXN0ZWQuIEVnLiBpZgo+IHRo ZSBoc2Qgc2F5cyBmaXhlZCBpbiBFMCwgYnV0IHRoZSB3L2EgZGIgc2F5cyBVTlRJTF9EMCwgdGhl biBvbmUgaXMKPiBsZWZ0IHdvbmRlcmluZyBhYm91dCBEMSsgQnV0IHBlcmhhcHMgc3VjaCBzdGVw cGluZ3MgZGlkbid0IGV2ZW4gZXhpc3QuCj4KPiBXZWxsLCBpbiByZWFsaXR5IGl0J3MgYWxsIG92 ZXIgdGhlIHBsYWNlLiBFZy4gbG9va2luZyBhdCB0aGUgQkRXIFVOVElMX0QwCj4gc3R1ZmYsIHNv bWUgYXJlIGZpeGVkIGluIEUwLCBzb21lIGFyZSBmaXhlZCBpbiBEMCwgYW5kIGF0IGxlYXN0IG9u ZSB3YXMKPiBmaXhlZCBpbiBCMCBhY2NvcmRpbmcgdG8gaHNkLiBTbyBJJ20gc3RhcnRpbmcgdG8g dGhpbmsgdGhhdCB0aGUgbWVhbmluZwo+IG9mIHRoZSB0YWcgZGVwZW5kcyBlbnRpcmVseSBvbiB0 aGUgcGVyc29uIHdobyBwdXNoZWQgdGhlIGNoYW5nZS4KCldpdGggdGhhdCwgSSBzdGFuZCBieSB0 aGUgcGF0Y2hlcyBJIHN1Ym1pdHRlZCBhcyB0aGV5IGFyZS4KCkJSLApKYW5pLgoKCj4KPj4gQ2M6 IFNhcmFoIHdobyBoYXMgYWxzbyBsb29rZWQgYXQgd29ya2Fyb3VuZHMKPj4gcmVjZW50bHkuCj4+ IAo+PiBSb2RyaWdvLCBmb3Igb25lIHRoaW5nLCBJJ2xsIHdhbnQgd29ya2Fyb3VuZHMgZm9yIFNL TCBhbmQgS0JMIGluCj4+IGRpZmZlcmVudCBjb25kaXRpb25zIGluc3RlYWQgb2YgY29uZmxhdGVk IGludG8gU0tMIQo+PiAKPj4gQnV0IHdoYXQgYWJvdXQgdGhpcyBub24taW5jbHVzaXZlIGVuZCBv ZiByYW5nZT8gSXQnbGwgbWF0dGVyIGluIHBhdGNoCj4+IDMvMy4gSXQncyBub3Qgc28gbXVjaCBh IHByb2JsZW0gZm9yIHJhbmdlcywgYnV0IHJhdGhlciBmb3Igc3BlY2lmaWMKPj4gcmV2aXNpb25z LCB3aGVyZSB5b3UnZCBoYXZlIHRvIGluY2x1ZGUgYSByZXZpc2lvbiBub3QgbWVudGlvbmVkIGlu IHRoZQo+PiBzcGVjIGF0IGFsbCwgZS5nLiBmb3IgQjAgb25seToKPj4gCj4+IAlJU19TS0xfUkVW SUQoZGV2LCBTS0xfUkVWSURfQjAsIFNLTF9SRVZJRF9DMCkKPj4gCj4+IGluc3RlYWQgb2YgdGhl IGN1cnJlbnQgcHJvcG9zYWw6Cj4+IAo+PiAJSVNfU0tMX1JFVklEKGRldiwgU0tMX1JFVklEX0Iw LCBTS0xfUkVWSURfQjApCj4+IAo+PiBJJ20gbm90IHJlYWxseSBmb25kIG9mIGFkZGluZyBzZXBh cmF0ZSBtYWNyb3MgZm9yIGNoZWNraW5nIHNwZWNpZmljCj4+IHZzLiByYW5nZXMuCj4+IAo+PiBU aG91Z2h0cz8KPj4gCj4+IEJSLAo+PiBKYW5pLgo+PiAKPj4gCj4+IAo+PiAKPj4gCj4+ID4KPj4g Pj4gCj4+ID4+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5j b20+Cj4+ID4+IC0tLQo+PiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg ICAgICAgIHwgMSArCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAg ICAgICAgfCAyICstCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMgfCAyICstCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAg ICAgICAgfCAyICstCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAg ICAgICAgfCAyICstCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAg ICAgICAgfCAyICstCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAg ICAgICAgfCA4ICsrKystLS0tCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j ICAgICAgICAgICAgfCA2ICsrKy0tLQo+PiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jICAgIHwgNiArKystLS0KPj4gPj4gIDkgZmlsZXMgY2hhbmdlZCwgMTYgaW5z ZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4+ID4+IAo+PiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPj4gPj4gaW5kZXggYTNiMTM3NzE1NjA0Li45ODMzYTIwNTU5MzAgMTAwNjQ0Cj4+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiA+PiBAQCAtMjUwOSw2ICsyNTA5LDcgQEAgc3Ry dWN0IGRybV9pOTE1X2NtZF90YWJsZSB7Cj4+ID4+ICAjZGVmaW5lIFNLTF9SRVZJRF9GMAkJMHg1 Cj4+ID4+ICAKPj4gPj4gICNkZWZpbmUgQlhUX1JFVklEX0EwCQkweDAKPj4gPj4gKyNkZWZpbmUg QlhUX1JFVklEX0ExCQkweDEKPj4gPj4gICNkZWZpbmUgQlhUX1JFVklEX0IwCQkweDMKPj4gPj4g ICNkZWZpbmUgQlhUX1JFVklEX0MwCQkweDkKPj4gPj4gIAo+PiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKPj4gPj4gaW5kZXggZjBjZmJiOWVlMTJjLi5mZDJkODgwNjU2YjIgMTAwNjQ0Cj4+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPj4gPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+PiA+PiBAQCAtMzc1Nyw3ICszNzU3LDcgQEAgaW50 IGk5MTVfZ2VtX3NldF9jYWNoaW5nX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4+ID4+ICAJCSAqIGNhY2hlbGluZSwgd2hlcmVhcyBub3JtYWxseSBzdWNoIGNhY2hl bGluZXMgd291bGQgZ2V0Cj4+ID4+ICAJCSAqIGludmFsaWRhdGVkLgo+PiA+PiAgCQkgKi8KPj4g Pj4gLQkJaWYgKElTX0JST1hUT04oZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYpIDwgQlhUX1JFVklE X0IwKQo+PiA+PiArCQlpZiAoSVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JFVklEKGRldikgPD0g QlhUX1JFVklEX0ExKQo+PiA+PiAgCQkJcmV0dXJuIC1FTk9ERVY7Cj4+ID4+ICAKPj4gPj4gIAkJ bGV2ZWwgPSBJOTE1X0NBQ0hFX0xMQzsKPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3VjX3N1Ym1pc3Npb24uYwo+PiA+PiBpbmRleCAwMzZiNDJiYWU4MjcuLjg2M2FhNWM4MjQ2NiAx MDA2NDQKPj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lv bi5jCj4+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24u Ywo+PiA+PiBAQCAtMTYxLDcgKzE2MSw3IEBAIHN0YXRpYyBpbnQgaG9zdDJndWNfc2FtcGxlX2Zv cmNld2FrZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCj4+ID4+ICAJZGF0YVswXSA9IEhPU1QyR1VD X0FDVElPTl9TQU1QTEVfRk9SQ0VXQUtFOwo+PiA+PiAgCS8qIFdhUnNEaXNhYmxlQ29hcnNlUG93 ZXJHYXRpbmc6c2tsLGJ4dCAqLwo+PiA+PiAgCWlmICghaW50ZWxfZW5hYmxlX3JjNihkZXZfcHJp di0+ZGV2KSB8fAo+PiA+PiAtCSAgICAoSVNfQlJPWFRPTihkZXYpICYmIChJTlRFTF9SRVZJRChk ZXYpIDwgQlhUX1JFVklEX0IwKSkgfHwKPj4gPj4gKwkgICAgKElTX0JST1hUT04oZGV2KSAmJiAo SU5URUxfUkVWSUQoZGV2KSA8PSBCWFRfUkVWSURfQTEpKSB8fAo+PiA+PiAgCSAgICAoSVNfU0tM X0dUMyhkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDw9IFNLTF9SRVZJRF9FMCkpIHx8Cj4+ID4+ ICAJICAgIChJU19TS0xfR1Q0KGRldikgJiYgKElOVEVMX1JFVklEKGRldikgPD0gU0tMX1JFVklE X0UwKSkpCj4+ID4+ICAJCWRhdGFbMV0gPSAwOwo+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku Ywo+PiA+PiBpbmRleCBiMjVlOTlhNDMyZmIuLmI4MGUwZjVlYzVkYyAxMDA2NDQKPj4gPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4gPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4gPj4gQEAgLTMyNDcsNyArMzI0Nyw3IEBAIHZvaWQg aW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwb3J0IHBvcnQpCj4+ ID4+ICAJCSAqIE9uIEJYVCBBMC9BMSwgc3cgbmVlZHMgdG8gYWN0aXZhdGUgRERJQSBIUEQgbG9n aWMgYW5kCj4+ID4+ICAJCSAqIGludGVycnVwdHMgdG8gY2hlY2sgdGhlIGV4dGVybmFsIHBhbmVs IGNvbm5lY3Rpb24uCj4+ID4+ICAJCSAqLwo+PiA+PiAtCQlpZiAoSVNfQlJPWFRPTihkZXZfcHJp dikgJiYgKElOVEVMX1JFVklEKGRldikgPCBCWFRfUkVWSURfQjApCj4+ID4+ICsJCWlmIChJU19C Uk9YVE9OKGRldl9wcml2KSAmJiAoSU5URUxfUkVWSUQoZGV2KSA8PSBCWFRfUkVWSURfQTEpCj4+ ID4+ICAJCQkJCSAmJiBwb3J0ID09IFBPUlRfQikKPj4gPj4gIAkJCWRldl9wcml2LT5ob3RwbHVn LmlycV9wb3J0W1BPUlRfQV0gPSBpbnRlbF9kaWdfcG9ydDsKPj4gPj4gIAkJZWxzZQo+PiA+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gPj4gaW5kZXggOGQzNGNhN2IyODdhLi44YmFmNmZlMDYz MTMgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4g Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiA+PiBAQCAtNjA4Nyw3 ICs2MDg3LDcgQEAgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4+ID4+ICAJCWJyZWFrOwo+PiA+PiAgCWNhc2UgUE9SVF9C Ogo+PiA+PiAgCQlpbnRlbF9lbmNvZGVyLT5ocGRfcGluID0gSFBEX1BPUlRfQjsKPj4gPj4gLQkJ aWYgKElTX0JST1hUT04oZGV2X3ByaXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDwgQlhUX1JFVklE X0IwKSkKPj4gPj4gKwkJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpICYmIChJTlRFTF9SRVZJRChk ZXYpIDw9IEJYVF9SRVZJRF9BMSkpCj4+ID4+ICAJCQlpbnRlbF9lbmNvZGVyLT5ocGRfcGluID0g SFBEX1BPUlRfQTsKPj4gPj4gIAkJYnJlYWs7Cj4+ID4+ICAJY2FzZSBQT1JUX0M6Cj4+ID4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4gPj4gaW5kZXggMDNkODU5MDljNmFiLi4zMmU5MTE3 ZWU4ZTMgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku Ywo+PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4gPj4gQEAg LTIwNjgsNyArMjA2OCw3IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPj4gPj4gIAkJICogT24gQlhUIEEw L0ExLCBzdyBuZWVkcyB0byBhY3RpdmF0ZSBERElBIEhQRCBsb2dpYyBhbmQKPj4gPj4gIAkJICog aW50ZXJydXB0cyB0byBjaGVjayB0aGUgZXh0ZXJuYWwgcGFuZWwgY29ubmVjdGlvbi4KPj4gPj4g IAkJICovCj4+ID4+IC0JCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSAmJiAoSU5URUxfUkVWSUQo ZGV2KSA8IEJYVF9SRVZJRF9CMCkpCj4+ID4+ICsJCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSAm JiAoSU5URUxfUkVWSUQoZGV2KSA8PSBCWFRfUkVWSURfQTEpKQo+PiA+PiAgCQkJaW50ZWxfZW5j b2Rlci0+aHBkX3BpbiA9IEhQRF9QT1JUX0E7Cj4+ID4+ICAJCWVsc2UKPj4gPj4gIAkJCWludGVs X2VuY29kZXItPmhwZF9waW4gPSBIUERfUE9SVF9COwo+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYwo+PiA+PiBpbmRleCA4MjVmYTdhOGRmODYuLmFjZDRmYTMzMmE4MCAxMDA2NDQKPj4gPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gPj4gQEAgLTE5ODYsNyArMTk4Niw3IEBAIHN0 YXRpYyBpbnQgbG9naWNhbF9yZW5kZXJfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4+ID4+ICAJCXJpbmctPmluaXRfaHcgPSBnZW44X2luaXRfcmVuZGVyX3Jpbmc7Cj4+ID4+ICAJ cmluZy0+aW5pdF9jb250ZXh0ID0gZ2VuOF9pbml0X3Jjc19jb250ZXh0Owo+PiA+PiAgCXJpbmct PmNsZWFudXAgPSBpbnRlbF9maW5pX3BpcGVfY29udHJvbDsKPj4gPj4gLQlpZiAoSVNfQlJPWFRP TihkZXYpICYmIElOVEVMX1JFVklEKGRldikgPCBCWFRfUkVWSURfQjApIHsKPj4gPj4gKwlpZiAo SVNfQlJPWFRPTihkZXYpICYmIElOVEVMX1JFVklEKGRldikgPD0gQlhUX1JFVklEX0ExKSB7Cj4+ ID4+ICAJCXJpbmctPmdldF9zZXFubyA9IGJ4dF9hX2dldF9zZXFubzsKPj4gPj4gIAkJcmluZy0+ c2V0X3NlcW5vID0gYnh0X2Ffc2V0X3NlcW5vOwo+PiA+PiAgCX0gZWxzZSB7Cj4+ID4+IEBAIC0y MDM4LDcgKzIwMzgsNyBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfYnNkX3JpbmdfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+PiA+PiAgCQlHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJVUFQgPDwg R0VOOF9WQ1MxX0lSUV9TSElGVDsKPj4gPj4gIAo+PiA+PiAgCXJpbmctPmluaXRfaHcgPSBnZW44 X2luaXRfY29tbW9uX3Jpbmc7Cj4+ID4+IC0JaWYgKElTX0JST1hUT04oZGV2KSAmJiBJTlRFTF9S RVZJRChkZXYpIDwgQlhUX1JFVklEX0IwKSB7Cj4+ID4+ICsJaWYgKElTX0JST1hUT04oZGV2KSAm JiBJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkgewo+PiA+PiAgCQlyaW5nLT5nZXRf c2Vxbm8gPSBieHRfYV9nZXRfc2Vxbm87Cj4+ID4+ICAJCXJpbmctPnNldF9zZXFubyA9IGJ4dF9h X3NldF9zZXFubzsKPj4gPj4gIAl9IGVsc2Ugewo+PiA+PiBAQCAtMjA5Myw3ICsyMDkzLDcgQEAg c3RhdGljIGludCBsb2dpY2FsX2JsdF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK Pj4gPj4gIAkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IEdFTjhfQkNTX0lSUV9TSElG VDsKPj4gPj4gIAo+PiA+PiAgCXJpbmctPmluaXRfaHcgPSBnZW44X2luaXRfY29tbW9uX3Jpbmc7 Cj4+ID4+IC0JaWYgKElTX0JST1hUT04oZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYpIDwgQlhUX1JF VklEX0IwKSB7Cj4+ID4+ICsJaWYgKElTX0JST1hUT04oZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYp IDw9IEJYVF9SRVZJRF9BMSkgewo+PiA+PiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBieHRfYV9nZXRf c2Vxbm87Cj4+ID4+ICAJCXJpbmctPnNldF9zZXFubyA9IGJ4dF9hX3NldF9zZXFubzsKPj4gPj4g IAl9IGVsc2Ugewo+PiA+PiBAQCAtMjEyMyw3ICsyMTIzLDcgQEAgc3RhdGljIGludCBsb2dpY2Fs X3ZlYm94X3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiA+PiAgCQlHVF9DT05U RVhUX1NXSVRDSF9JTlRFUlJVUFQgPDwgR0VOOF9WRUNTX0lSUV9TSElGVDsKPj4gPj4gIAo+PiA+ PiAgCXJpbmctPmluaXRfaHcgPSBnZW44X2luaXRfY29tbW9uX3Jpbmc7Cj4+ID4+IC0JaWYgKElT X0JST1hUT04oZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYpIDwgQlhUX1JFVklEX0IwKSB7Cj4+ID4+ ICsJaWYgKElTX0JST1hUT04oZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9B MSkgewo+PiA+PiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBieHRfYV9nZXRfc2Vxbm87Cj4+ID4+ICAJ CXJpbmctPnNldF9zZXFubyA9IGJ4dF9hX3NldF9zZXFubzsKPj4gPj4gIAl9IGVsc2Ugewo+PiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPj4gPj4gaW5kZXggNjBkMTIwYzQ3MmFiLi5lMjU3OTFl ODc0OGYgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK Pj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+PiA+PiBAQCAtNDM0 OCw3ICs0MzQ4LDcgQEAgc3RhdGljIHZvaWQgZ2VuNl9zZXRfcnBzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHU4IHZhbCkKPj4gPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+PiA+PiAgCj4+ID4+ICAJLyogV2FHc3ZEaXNhYmxlVHVyYm86 IFdvcmthcm91bmQgdG8gZGlzYWJsZSB0dXJibyBvbiBCWFQgQSogKi8KPj4gPj4gLQlpZiAoSVNf QlJPWFRPTihkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDwgQlhUX1JFVklEX0IwKSkKPj4gPj4g KwlpZiAoSVNfQlJPWFRPTihkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9B MSkpCj4+ID4+ICAJCXJldHVybjsKPj4gPj4gIAo+PiA+PiAgCVdBUk5fT04oIW11dGV4X2lzX2xv Y2tlZCgmZGV2X3ByaXYtPnJwcy5od19sb2NrKSk7Cj4+ID4+IEBAIC00NjcyLDcgKzQ2NzIsNyBA QCBzdGF0aWMgdm9pZCBnZW45X2VuYWJsZV9ycHMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4g Pj4gIAlnZW42X2luaXRfcnBzX2ZyZXF1ZW5jaWVzKGRldik7Cj4+ID4+ICAKPj4gPj4gIAkvKiBX YUdzdkRpc2FibGVUdXJibzogV29ya2Fyb3VuZCB0byBkaXNhYmxlIHR1cmJvIG9uIEJYVCBBKiAq Lwo+PiA+PiAtCWlmIChJU19CUk9YVE9OKGRldikgJiYgKElOVEVMX1JFVklEKGRldikgPCBCWFRf UkVWSURfQjApKSB7Cj4+ID4+ICsJaWYgKElTX0JST1hUT04oZGV2KSAmJiAoSU5URUxfUkVWSUQo ZGV2KSA8PSBCWFRfUkVWSURfQTEpKSB7Cj4+ID4+ICAJCWludGVsX3VuY29yZV9mb3JjZXdha2Vf cHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKPj4gPj4gIAkJcmV0dXJuOwo+PiA+PiAgCX0K Pj4gPj4gQEAgLTQ3NTgsNyArNDc1OCw3IEBAIHN0YXRpYyB2b2lkIGdlbjlfZW5hYmxlX3JjNihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiA+PiAgCSAqIDNiOiBFbmFibGUgQ29hcnNlIFBvd2Vy IEdhdGluZyBvbmx5IHdoZW4gUkM2IGlzIGVuYWJsZWQuCj4+ID4+ICAJICogV2FSc0Rpc2FibGVD b2Fyc2VQb3dlckdhdGluZzpza2wsYnh0IC0gUmVuZGVyL01lZGlhIFBHIG5lZWQgdG8gYmUgZGlz YWJsZWQgd2l0aCBSQzYuCj4+ID4+ICAJICovCj4+ID4+IC0JaWYgKChJU19CUk9YVE9OKGRldikg JiYgKElOVEVMX1JFVklEKGRldikgPCBCWFRfUkVWSURfQjApKSB8fAo+PiA+PiArCWlmICgoSVNf QlJPWFRPTihkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkpIHx8Cj4+ ID4+ICAJICAgICgoSVNfU0tMX0dUMyhkZXYpIHx8IElTX1NLTF9HVDQoZGV2KSkgJiYgKElOVEVM X1JFVklEKGRldikgPD0gU0tMX1JFVklEX0UwKSkpCj4+ID4+ICAJCUk5MTVfV1JJVEUoR0VOOV9Q R19FTkFCTEUsIDApOwo+PiA+PiAgCWVsc2UKPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuYwo+PiA+PiBpbmRleCBjODJjNzRjYWE3M2MuLjM3NTNlNzUxOGQ0OSAxMDA2 NDQKPj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4+ ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+PiA+PiBA QCAtOTE2LDE0ICs5MTYsMTQgQEAgc3RhdGljIGludCBnZW45X2luaXRfd29ya2Fyb3VuZHMoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPj4gPj4gIAo+PiA+PiAgCWlmICgoSVNfU0tZTEFL RShkZXYpICYmIChJTlRFTF9SRVZJRChkZXYpID09IFNLTF9SRVZJRF9BMCB8fAo+PiA+PiAgCSAg ICBJTlRFTF9SRVZJRChkZXYpID09IFNLTF9SRVZJRF9CMCkpIHx8Cj4+ID4+IC0JICAgIChJU19C Uk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJRF9CMCkpIHsKPj4gPj4g KwkgICAgKElTX0JST1hUT04oZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9B MSkpIHsKPj4gPj4gIAkJLyogV2FEaXNhYmxlRGdNaXJyb3JGaXhJbkhhbGZTbGljZUNoaWNrZW41 OnNrbCxieHQgKi8KPj4gPj4gIAkJV0FfQ0xSX0JJVF9NQVNLRUQoR0VOOV9IQUxGX1NMSUNFX0NI SUNLRU41LAo+PiA+PiAgCQkJCSAgR0VOOV9ER19NSVJST1JfRklYX0VOQUJMRSk7Cj4+ID4+ICAJ fQo+PiA+PiAgCj4+ID4+ICAJaWYgKChJU19TS1lMQUtFKGRldikgJiYgSU5URUxfUkVWSUQoZGV2 KSA8PSBTS0xfUkVWSURfQjApIHx8Cj4+ID4+IC0JICAgIChJU19CUk9YVE9OKGRldikgJiYgSU5U RUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJRF9CMCkpIHsKPj4gPj4gKwkgICAgKElTX0JST1hUT04o ZGV2KSAmJiBJTlRFTF9SRVZJRChkZXYpIDw9IEJYVF9SRVZJRF9BMSkpIHsKPj4gPj4gIAkJLyog V2FTZXREaXNhYmxlUGl4TWFza0NhbW1pbmdBbmRSaHdvSW5Db21tb25TbGljZUNoaWNrZW46c2ts LGJ4dCAqLwo+PiA+PiAgCQlXQV9TRVRfQklUX01BU0tFRChHRU43X0NPTU1PTl9TTElDRV9DSElD S0VOMSwKPj4gPj4gIAkJCQkgIEdFTjlfUkhXT19PUFRJTUlaQVRJT05fRElTQUJMRSk7Cj4+ID4+ IEBAIC05NTIsNyArOTUyLDcgQEAgc3RhdGljIGludCBnZW45X2luaXRfd29ya2Fyb3VuZHMoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPj4gPj4gIAo+PiA+PiAgCS8qIFdhRGlzYWJsZU1h c2tCYXNlZENhbW1pbmdJblJDQzpza2wsYnh0ICovCj4+ID4+ICAJaWYgKChJU19TS1lMQUtFKGRl dikgJiYgSU5URUxfUkVWSUQoZGV2KSA9PSBTS0xfUkVWSURfQzApIHx8Cj4+ID4+IC0JICAgIChJ U19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJRF9CMCkpCj4+ID4+ ICsJICAgIChJU19CUk9YVE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2KSA8PSBCWFRfUkVWSURf QTEpKQo+PiA+PiAgCQlXQV9TRVRfQklUX01BU0tFRChTTElDRV9FQ09fQ0hJQ0tFTjAsCj4+ID4+ ICAJCQkJICBQSVhFTF9NQVNLX0NBTU1JTkdfRElTQUJMRSk7Cj4+ID4+ICAKPj4gPj4gLS0gCj4+ ID4+IDIuMS40Cj4+ID4+IAo+PiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+PiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+ID4+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gPj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+PiA+Cj4+ID4gLS0gCj4+ID4gVmlsbGUgU3ly asOkbMOkCj4+ID4gSW50ZWwgT1RDCj4+IAo+PiAtLSAKPj4gSmFuaSBOaWt1bGEsIEludGVsIE9w ZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCj4KPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJ bnRlbCBPVEMKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBD ZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK