From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Siluvery, Arun" Subject: Re: [PATCH v2 1/2] drm/i915: Initialize bdw workarounds in logical ring mode too Date: Wed, 05 Nov 2014 09:54:18 +0000 Message-ID: <5459F3CA.8040708@linux.intel.com> References: <1411560132-9086-1-git-send-email-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 6F0076E560 for ; Wed, 5 Nov 2014 01:54:21 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi , Michel Thierry Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org T24gMDQvMTEvMjAxNCAxOToyMywgUm9kcmlnbyBWaXZpIHdyb3RlOgo+IFRoZXNlIHBhdGNoZXMg Z290IGxpc3RlZCB0byAtY29sbGVjdG9yIGJ1dCBnb3QgYSBodWdlIGNvbmZsaWN0LiBJZiBpdAo+ IGlzIHN0aWxsIHJlbGV2YW50IHBsZWFzZSByZWJhc2UgaXQuCj4KVGhpcyBwYXRjaCBpcyBjdXJy ZW50bHkgbm90IHJlbGV2YW50LCByZWJhc2VkIHZlcnNpb24gaXMgYWxyZWFkeSBzZW50IHRvIAp0 aGUgbGlzdCBmb3IgcmV2aWV3LgoKaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wYXRjaC81 MTc4NzcxLwoKcmVnYXJkcwpBcnVuCgo+IEFsc28gbXkgYmlrZXNoZWQgaXMgdG8gZmluZG8gYmV0 dGVyIG5hbWVzIHRvIGhlbHAgb24gZGlmZmVyZW50aWF0ZQo+IHRoZW0gYXQgbGVhc3QuCj4KPiBP biBXZWQsIFNlcCAyNCwgMjAxNCBhdCA1OjAyIEFNLCBNaWNoZWwgVGhpZXJyeQo+IDxtaWNoZWwu dGhpZXJyeUBpbnRlbC5jb20+IHdyb3RlOgo+PiBGb2xsb3dpbmcgdGhlIGxlZ2FjeSByaW5nIHN1 Ym1pc3Npb24gZXhhbXBsZSwgdXBkYXRlIHRoZQo+PiByaW5nLT5pbml0X2NvbnRleHQoKSBob29r IHRvIHN1cHBvcnQgdGhlIGV4ZWNsaXN0IHN1Ym1pc3Npb24gbW9kZS4KPj4KPj4gV29ya2Fyb3Vu ZHMgYXJlIGRlZmluZWQgaW4gYmR3X2VtaXRfd29ya2Fyb3VuZHMoKSwgYnV0IHRoZSBlbWl0Cj4+ IG5vdyBkZXBlbmRzIG9uIHRoZSByaW5nIHN1Ym1pc3Npb24gbW9kZS4KPj4KPj4gdjI6IFVwZGF0 ZWQgYWZ0ZXIgIkNsZWFudXAgcHJlIHByb2Qgd29ya2Fyb3VuZHMiCj4+Cj4+IEZvcjogVklaLTQw OTIKPj4gU2lnbmVkLW9mZi1ieTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVs LmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5j IHwgIDIgKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA2 NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYyB8IDc1ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8IDExICsrKyst Cj4+ICAgNCBmaWxlcyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0p Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPj4gaW5kZXggN2I3 M2IzNi4uZDFlZDIxYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYwo+PiBAQCAtNjU3LDcgKzY1Nyw3IEBAIGRvbmU6Cj4+Cj4+ICAgICAgICAgIGlmICh1bmlu aXRpYWxpemVkKSB7Cj4+ICAgICAgICAgICAgICAgICAgaWYgKHJpbmctPmluaXRfY29udGV4dCkg ewo+PiAtICAgICAgICAgICAgICAgICAgICAgICByZXQgPSByaW5nLT5pbml0X2NvbnRleHQocmlu Zyk7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJpbmctPmluaXRfY29udGV4dChy aW5nLT5idWZmZXIpOwo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkKPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJyaW5nIGluaXQgY29udGV4 dDogJWRcbiIsIHJldCk7Cj4+ICAgICAgICAgICAgICAgICAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwo+PiBpbmRleCBkNjRkNTE4Li5hMGFhM2YwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwo+PiBAQCAtMTAyMCw2ICsxMDIwLDYyIEBAIGludCBpbnRlbF9sb2dpY2FsX3Jp bmdfYmVnaW4oc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsIGludCBudW1fZHdvcmRz KQo+PiAgICAgICAgICByZXR1cm4gMDsKPj4gICB9Cj4+Cj4+ICtzdGF0aWMgaW5saW5lIHZvaWQg aW50ZWxfbG9naWNhbF9yaW5nX2VtaXRfd2Eoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdi dWYsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBhZGRyLCB1 MzIgdmFsdWUpCj4+ICt7Cj4+ICsgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9 IHJpbmdidWYtPnJpbmc7Cj4+ICsgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJpbmct PmRldjsKPj4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+PiArCj4+ICsgICAgICAgaWYgKFdBUk5fT04oZGV2X3ByaXYtPm51bV93 YV9yZWdzID49IEk5MTVfTUFYX1dBX1JFR1MpKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuOwo+ PiArCj4+ICsgICAgICAgaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgTUlfTE9BRF9S RUdJU1RFUl9JTU0oMSkpOwo+PiArICAgICAgIGludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdi dWYsIGFkZHIpOwo+PiArICAgICAgIGludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIHZh bHVlKTsKPj4gKwo+PiArICAgICAgIGRldl9wcml2LT5pbnRlbF93YV9yZWdzW2Rldl9wcml2LT5u dW1fd2FfcmVnc10uYWRkciA9IGFkZHI7Cj4+ICsgICAgICAgZGV2X3ByaXYtPmludGVsX3dhX3Jl Z3NbZGV2X3ByaXYtPm51bV93YV9yZWdzXS5tYXNrID0gdmFsdWUgJiAweEZGRkY7Cj4+ICsgICAg ICAgLyogdmFsdWUgaXMgdXBkYXRlZCB3aXRoIHRoZSBzdGF0dXMgb2YgcmVtYWluaW5nIGJpdHMg b2YgdGhpcwo+PiArICAgICAgICAqIHJlZ2lzdGVyIHdoZW4gaXQgaXMgcmVhZCBmcm9tIGRlYnVn ZnMgZmlsZQo+PiArICAgICAgICAqLwo+PiArICAgICAgIGRldl9wcml2LT5pbnRlbF93YV9yZWdz W2Rldl9wcml2LT5udW1fd2FfcmVnc10udmFsdWUgPSB2YWx1ZTsKPj4gKyAgICAgICBkZXZfcHJp di0+bnVtX3dhX3JlZ3MrKzsKPj4gK30KPj4gKwo+PiArc3RhdGljIGludCBiZHdfaW5pdF9sb2dp Y2FsX3dvcmthcm91bmRzKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKQo+PiArewo+ PiArICAgICAgIGludCByZXQ7Cj4+ICsgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZyA9IHJpbmdidWYtPnJpbmc7Cj4+ICsgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJp bmctPmRldjsKPj4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+PiArCj4+ICsgICAgICAgLyoKPj4gKyAgICAgICAgKiB3b3JrYXJv dW5kcyBhcHBsaWVkIGluIHRoaXMgZm4gYXJlIHBhcnQgb2YgcmVnaXN0ZXIgc3RhdGUgY29udGV4 dCwKPj4gKyAgICAgICAgKiB0aGV5IG5lZWQgdG8gYmUgcmUtaW5pdGlhbGl6ZWQgZm9sbG93ZWQg YnkgZ3B1IHJlc2V0LCBzdXNwZW5kL3Jlc3VtZSwKPj4gKyAgICAgICAgKiBtb2R1bGUgcmVsb2Fk Lgo+PiArICAgICAgICAqLwo+PiArICAgICAgIGRldl9wcml2LT5udW1fd2FfcmVncyA9IDA7Cj4+ ICsgICAgICAgbWVtc2V0KGRldl9wcml2LT5pbnRlbF93YV9yZWdzLCAwLCBzaXplb2YoZGV2X3By aXYtPmludGVsX3dhX3JlZ3MpKTsKPj4gKwo+PiArICAgICAgIC8qCj4+ICsgICAgICAgICogdXBk YXRlIHRoZSBudW1iZXIgb2YgZHdvcmRzIHJlcXVpcmVkIGJhc2VkIG9uIHRoZQo+PiArICAgICAg ICAqIGFjdHVhbCBudW1iZXIgb2Ygd29ya2Fyb3VuZHMgYXBwbGllZAo+PiArICAgICAgICAqLwo+ PiArICAgICAgIHJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyaW5nYnVmLCBCRFdfV0Ff RFdPUkRTX1NJWkUpOwo+PiArICAgICAgIGlmIChyZXQpCj4+ICsgICAgICAgICAgICAgICByZXR1 cm4gcmV0Owo+PiArCj4+ICsgICAgICAgYmR3X2VtaXRfd29ya2Fyb3VuZHMocmluZ2J1Zik7Cj4+ ICsKPj4gKyAgICAgICBpbnRlbF9sb2dpY2FsX3JpbmdfYWR2YW5jZShyaW5nYnVmKTsKPj4gKwo+ PiArICAgICAgIERSTV9ERUJVR19EUklWRVIoIk51bWJlciBvZiBXb3JrYXJvdW5kcyBhcHBsaWVk OiAlZFxuIiwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGRldl9wcml2LT5udW1fd2FfcmVn cyk7Cj4+ICsKPj4gKyAgICAgICByZXR1cm4gMDsKPj4gK30KPj4gKwo+PiAgIHN0YXRpYyBpbnQg Z2VuOF9pbml0X2NvbW1vbl9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCj4+ICAg ewo+PiAgICAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2Owo+PiBAQCAt MTMxNSw2ICsxMzcxLDEwIEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yZW5kZXJfcmluZ19pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICAgICAgICAgIGlmIChIQVNfTDNfRFBGKGRldikpCj4+ ICAgICAgICAgICAgICAgICAgcmluZy0+aXJxX2tlZXBfbWFzayB8PSBHVF9SRU5ERVJfTDNfUEFS SVRZX0VSUk9SX0lOVEVSUlVQVDsKPj4KPj4gKyAgICAgICBpZiAoSVNfQlJPQURXRUxMKGRldikp Cj4+ICsgICAgICAgICAgICAgICByaW5nLT5pbml0X2NvbnRleHQgPSBiZHdfaW5pdF9sb2dpY2Fs X3dvcmthcm91bmRzOwo+PiArICAgICAgIHJpbmctPmVtaXRfd2EgPSBpbnRlbF9sb2dpY2FsX3Jp bmdfZW1pdF93YTsKPj4gKwo+PiAgICAgICAgICByaW5nLT5pbml0ID0gZ2VuOF9pbml0X3JlbmRl cl9yaW5nOwo+PiAgICAgICAgICByaW5nLT5jbGVhbnVwID0gaW50ZWxfZmluaV9waXBlX2NvbnRy b2w7Cj4+ICAgICAgICAgIHJpbmctPmdldF9zZXFubyA9IGdlbjhfZ2V0X3NlcW5vOwo+PiBAQCAt MTgwMiw2ICsxODYyLDEyIEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVkX2NyZWF0ZShz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+PiAgICAgICAgICB9Cj4+Cj4+ICAgICAgICAgIGlm IChyaW5nLT5pZCA9PSBSQ1MgJiYgIWN0eC0+cmNzX2luaXRpYWxpemVkKSB7Cj4+ICsgICAgICAg ICAgICAgICBpZiAocmluZy0+aW5pdF9jb250ZXh0KSB7Cj4+ICsgICAgICAgICAgICAgICAgICAg ICAgIHJldCA9IHJpbmctPmluaXRfY29udGV4dChyaW5nYnVmKTsKPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgaWYgKHJldCkKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1f RVJST1IoInJpbmcgaW5pdCBjb250ZXh0OiAlZFxuIiwgcmV0KTsKPj4gKyAgICAgICAgICAgICAg IH0KPj4gKwo+PiAgICAgICAgICAgICAgICAgIHJldCA9IGludGVsX2xyX2NvbnRleHRfcmVuZGVy X3N0YXRlX2luaXQocmluZywgY3R4KTsKPj4gICAgICAgICAgICAgICAgICBpZiAocmV0KSB7Cj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fRVJST1IoIkluaXQgcmVuZGVyIHN0YXRlIGZh aWxlZDogJWRcbiIsIHJldCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMKPj4gaW5kZXggMzk1ZjkyNi4uZTZhYzkxMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYwo+PiBAQCAtNjc3LDkgKzY3NywxMCBAQCBlcnI6Cj4+ICAgICAg ICAgIHJldHVybiByZXQ7Cj4+ICAgfQo+Pgo+PiAtc3RhdGljIGlubGluZSB2b2lkIGludGVsX3Jp bmdfZW1pdF93YShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+PiArc3RhdGljIGlubGlu ZSB2b2lkIGludGVsX3JpbmdfZW1pdF93YShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBhZGRyLCB1 MzIgdmFsdWUpCj4+ICAgewo+PiArICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcg PSByaW5nYnVmLT5yaW5nOwo+PiAgICAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmlu Zy0+ZGV2Owo+PiAgICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+Pgo+PiBAQCAtNzAxLDUxICs3MDIsMzMgQEAgc3RhdGljIGlubGlu ZSB2b2lkIGludGVsX3JpbmdfZW1pdF93YShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ PiAgICAgICAgICByZXR1cm47Cj4+ICAgfQo+Pgo+PiAtc3RhdGljIGludCBiZHdfaW5pdF93b3Jr YXJvdW5kcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+PiArdm9pZCBiZHdfZW1pdF93 b3JrYXJvdW5kcyhzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKPj4gICB7Cj4+IC0g ICAgICAgaW50IHJldDsKPj4gLSAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ ZGV2Owo+PiAtICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4+IC0KPj4gLSAgICAgICAvKgo+PiAtICAgICAgICAqIHdvcmthcm91bmRz IGFwcGxpZWQgaW4gdGhpcyBmbiBhcmUgcGFydCBvZiByZWdpc3RlciBzdGF0ZSBjb250ZXh0LAo+ PiAtICAgICAgICAqIHRoZXkgbmVlZCB0byBiZSByZS1pbml0aWFsaXplZCBmb2xsb3dlZCBieSBn cHUgcmVzZXQsIHN1c3BlbmQvcmVzdW1lLAo+PiAtICAgICAgICAqIG1vZHVsZSByZWxvYWQuCj4+ IC0gICAgICAgICovCj4+IC0gICAgICAgZGV2X3ByaXYtPm51bV93YV9yZWdzID0gMDsKPj4gLSAg ICAgICBtZW1zZXQoZGV2X3ByaXYtPmludGVsX3dhX3JlZ3MsIDAsIHNpemVvZihkZXZfcHJpdi0+ aW50ZWxfd2FfcmVncykpOwo+PiAtCj4+IC0gICAgICAgLyoKPj4gLSAgICAgICAgKiB1cGRhdGUg dGhlIG51bWJlciBvZiBkd29yZHMgcmVxdWlyZWQgYmFzZWQgb24gdGhlCj4+IC0gICAgICAgICog YWN0dWFsIG51bWJlciBvZiB3b3JrYXJvdW5kcyBhcHBsaWVkCj4+IC0gICAgICAgICovCj4+IC0g ICAgICAgcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAxOCk7Cj4+IC0gICAgICAgaWYgKHJl dCkKPj4gLSAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ICsgICAgICAgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZyA9IHJpbmdidWYtPnJpbmc7Cj4+Cj4+ICAgICAgICAgIC8qIFdhRGlz YWJsZVBhcnRpYWxJbnN0U2hvb3Rkb3duOmJkdyAqLwo+PiAgICAgICAgICAvKiBXYURpc2FibGVU aHJlYWRTdGFsbERvcENsb2NrR2F0aW5nOmJkdyAqLwo+PiAgICAgICAgICAvKiBGSVhNRTogVW5j bGVhciB3aGV0aGVyIHdlIHJlYWxseSBuZWVkIHRoaXMgb24gcHJvZHVjdGlvbiBiZHcuICovCj4+ IC0gICAgICAgaW50ZWxfcmluZ19lbWl0X3dhKHJpbmcsIEdFTjhfUk9XX0NISUNLRU4sCj4+ICsg ICAgICAgcmluZy0+ZW1pdF93YShyaW5nYnVmLCBHRU44X1JPV19DSElDS0VOLAo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgX01BU0tFRF9CSVRfRU5BQkxFKFBBUlRJQUxfSU5TVFJVQ1RJ T05fU0hPT1RET1dOX0RJU0FCTEUKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgU1RBTExfRE9QX0dBVElOR19ESVNBQkxFKSk7Cj4+Cj4+ICAgICAgICAg IC8qIFdhRGlzYWJsZURvcENsb2NrR2F0aW5nOmJkdyBNYXkgbm90IGJlIG5lZWRlZCBmb3IgcHJv ZHVjdGlvbiAqLwo+PiAtICAgICAgIGludGVsX3JpbmdfZW1pdF93YShyaW5nLCBHRU43X1JPV19D SElDS0VOMiwKPj4gKyAgICAgICByaW5nLT5lbWl0X3dhKHJpbmdidWYsIEdFTjdfUk9XX0NISUNL RU4yLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX01BU0tFRF9CSVRfRU5BQkxFKERP UF9DTE9DS19HQVRJTkdfRElTQUJMRSkpOwo+Pgo+PiAtICAgICAgIGludGVsX3JpbmdfZW1pdF93 YShyaW5nLCBIQUxGX1NMSUNFX0NISUNLRU4zLAo+PiArICAgICAgIHJpbmctPmVtaXRfd2Eocmlu Z2J1ZiwgSEFMRl9TTElDRV9DSElDS0VOMywKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9NQVNLRURfQklUX0VOQUJMRShHRU44X1NBTVBMRVJfUE9XRVJfQllQQVNTX0RJUykpOwo+Pgo+ PiAgICAgICAgICAvKiBVc2UgRm9yY2UgTm9uLUNvaGVyZW50IHdoZW5ldmVyIGV4ZWN1dGluZyBh IDNEIGNvbnRleHQuIFRoaXMgaXMgYQo+PiAgICAgICAgICAgKiB3b3JrYXJvdW5kIGZvciBmb3Ig YSBwb3NzaWJsZSBoYW5nIGluIHRoZSB1bmxpa2VseSBldmVudCBhIFRMQgo+PiAgICAgICAgICAg KiBpbnZhbGlkYXRpb24gb2NjdXJzIGR1cmluZyBhIFBTRCBmbHVzaC4KPj4gICAgICAgICAgICov Cj4+IC0gICAgICAgaW50ZWxfcmluZ19lbWl0X3dhKHJpbmcsIEhEQ19DSElDS0VOMCwKPj4gKyAg ICAgICByaW5nLT5lbWl0X3dhKHJpbmdidWYsIEhEQ19DSElDS0VOMCwKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9NQVNLRURfQklUX0VOQUJMRShIRENfRk9SQ0VfTk9OX0NPSEVSRU5U KSk7Cj4+Cj4+ICAgICAgICAgIC8qIFdhNHg0U1RDT3B0aW1pemF0aW9uRGlzYWJsZTpiZHcgKi8K Pj4gLSAgICAgICBpbnRlbF9yaW5nX2VtaXRfd2EocmluZywgQ0FDSEVfTU9ERV8xLAo+PiArICAg ICAgIHJpbmctPmVtaXRfd2EocmluZ2J1ZiwgQ0FDSEVfTU9ERV8xLAo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgX01BU0tFRF9CSVRfRU5BQkxFKEdFTjhfNHg0X1NUQ19PUFRJTUlaQVRJ T05fRElTQUJMRSkpOwo+Pgo+PiAgICAgICAgICAvKgo+PiBAQCAtNzU2LDggKzczOSwzNCBAQCBz dGF0aWMgaW50IGJkd19pbml0X3dvcmthcm91bmRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpCj4+ICAgICAgICAgICAqIGRpc2FibGUgYml0LCB3aGljaCB3ZSBkb24ndCB0b3VjaCBoZXJl LCBidXQgaXQncyBnb29kCj4+ICAgICAgICAgICAqIHRvIGtlZXAgaW4gbWluZCAoc2VlIDNEU1RB VEVfUFMgYW5kIDNEU1RBVEVfV00pLgo+PiAgICAgICAgICAgKi8KPj4gLSAgICAgICBpbnRlbF9y aW5nX2VtaXRfd2EocmluZywgR0VON19HVF9NT0RFLAo+PiArICAgICAgIHJpbmctPmVtaXRfd2Eo cmluZ2J1ZiwgR0VON19HVF9NT0RFLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VO Nl9XSVpfSEFTSElOR19NQVNLIHwgR0VONl9XSVpfSEFTSElOR18xNng0KTsKPj4gK30KPj4gKwo+ PiArc3RhdGljIGludCBiZHdfaW5pdF93b3JrYXJvdW5kcyhzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZl ciAqcmluZ2J1ZikKPj4gK3sKPj4gKyAgICAgICBpbnQgcmV0Owo+PiArICAgICAgIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByaW5nYnVmLT5yaW5nOwo+PiArICAgICAgIHN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7Cj4+ICsgICAgICAgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwo+PiArICAgICAgIC8qCj4+ ICsgICAgICAgICogd29ya2Fyb3VuZHMgYXBwbGllZCBpbiB0aGlzIGZuIGFyZSBwYXJ0IG9mIHJl Z2lzdGVyIHN0YXRlIGNvbnRleHQsCj4+ICsgICAgICAgICogdGhleSBuZWVkIHRvIGJlIHJlLWlu aXRpYWxpemVkIGZvbGxvd2VkIGJ5IGdwdSByZXNldCwgc3VzcGVuZC9yZXN1bWUsCj4+ICsgICAg ICAgICogbW9kdWxlIHJlbG9hZC4KPj4gKyAgICAgICAgKi8KPj4gKyAgICAgICBkZXZfcHJpdi0+ bnVtX3dhX3JlZ3MgPSAwOwo+PiArICAgICAgIG1lbXNldChkZXZfcHJpdi0+aW50ZWxfd2FfcmVn cywgMCwgc2l6ZW9mKGRldl9wcml2LT5pbnRlbF93YV9yZWdzKSk7Cj4+ICsKPj4gKyAgICAgICAv Kgo+PiArICAgICAgICAqIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIGR3b3JkcyByZXF1aXJlZCBiYXNl ZCBvbiB0aGUKPj4gKyAgICAgICAgKiBhY3R1YWwgbnVtYmVyIG9mIHdvcmthcm91bmRzIGFwcGxp ZWQKPj4gKyAgICAgICAgKi8KPj4gKyAgICAgICByZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcs IEJEV19XQV9EV09SRFNfU0laRSk7Cj4+ICsgICAgICAgaWYgKHJldCkKPj4gKyAgICAgICAgICAg ICAgIHJldHVybiByZXQ7Cj4+ICsKPj4gKyAgICAgICBiZHdfZW1pdF93b3JrYXJvdW5kcyhyaW5n YnVmKTsKPj4KPj4gICAgICAgICAgaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwo+Pgo+PiBAQCAt NzY3LDkgKzc3NiwxMCBAQCBzdGF0aWMgaW50IGJkd19pbml0X3dvcmthcm91bmRzKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcpCj4+ICAgICAgICAgIHJldHVybiAwOwo+PiAgIH0KPj4KPj4g LXN0YXRpYyBpbnQgY2h2X2luaXRfd29ya2Fyb3VuZHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKPj4gK3N0YXRpYyBpbnQgY2h2X2luaXRfd29ya2Fyb3VuZHMoc3RydWN0IGludGVsX3Jp bmdidWZmZXIgKnJpbmdidWYpCj4+ICAgewo+PiAgICAgICAgICBpbnQgcmV0Owo+PiArICAgICAg IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByaW5nYnVmLT5yaW5nOwo+PiAgICAgICAg ICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2Owo+PiAgICAgICAgICBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+Pgo+PiBAQCAt Nzg2LDE5ICs3OTYsMTkgQEAgc3RhdGljIGludCBjaHZfaW5pdF93b3JrYXJvdW5kcyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nKQo+PiAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ Cj4+ICAgICAgICAgIC8qIFdhRGlzYWJsZVBhcnRpYWxJbnN0U2hvb3Rkb3duOmNodiAqLwo+PiAt ICAgICAgIGludGVsX3JpbmdfZW1pdF93YShyaW5nLCBHRU44X1JPV19DSElDS0VOLAo+PiArICAg ICAgIGludGVsX3JpbmdfZW1pdF93YShyaW5nYnVmLCBHRU44X1JPV19DSElDS0VOLAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgX01BU0tFRF9CSVRfRU5BQkxFKFBBUlRJQUxfSU5TVFJV Q1RJT05fU0hPT1RET1dOX0RJU0FCTEUpKTsKPj4KPj4gICAgICAgICAgLyogV2FEaXNhYmxlVGhy ZWFkU3RhbGxEb3BDbG9ja0dhdGluZzpjaHYgKi8KPj4gLSAgICAgICBpbnRlbF9yaW5nX2VtaXRf d2EocmluZywgR0VOOF9ST1dfQ0hJQ0tFTiwKPj4gKyAgICAgICBpbnRlbF9yaW5nX2VtaXRfd2Eo cmluZ2J1ZiwgR0VOOF9ST1dfQ0hJQ0tFTiwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9NQVNLRURfQklUX0VOQUJMRShTVEFMTF9ET1BfR0FUSU5HX0RJU0FCTEUpKTsKPj4KPj4gICAg ICAgICAgLyogV2FEaXNhYmxlRG9wQ2xvY2tHYXRpbmc6Y2h2IChwcmUtcHJvZHVjdGlvbiBodykg Ki8KPj4gLSAgICAgICBpbnRlbF9yaW5nX2VtaXRfd2EocmluZywgR0VON19ST1dfQ0hJQ0tFTjIs Cj4+ICsgICAgICAgaW50ZWxfcmluZ19lbWl0X3dhKHJpbmdidWYsIEdFTjdfUk9XX0NISUNLRU4y LAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX01BU0tFRF9CSVRfRU5BQkxFKERPUF9D TE9DS19HQVRJTkdfRElTQUJMRSkpOwo+Pgo+PiAgICAgICAgICAvKiBXYURpc2FibGVTYW1wbGVy UG93ZXJCeXBhc3M6Y2h2IChwcmUtcHJvZHVjdGlvbiBodykgKi8KPj4gLSAgICAgICBpbnRlbF9y aW5nX2VtaXRfd2EocmluZywgSEFMRl9TTElDRV9DSElDS0VOMywKPj4gKyAgICAgICBpbnRlbF9y aW5nX2VtaXRfd2EocmluZ2J1ZiwgSEFMRl9TTElDRV9DSElDS0VOMywKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9NQVNLRURfQklUX0VOQUJMRShHRU44X1NBTVBMRVJfUE9XRVJfQllQ QVNTX0RJUykpOwo+Pgo+PiAgICAgICAgICBpbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7Cj4+IEBA IC0yMzEwLDYgKzIzMjAsNyBAQCBpbnQgaW50ZWxfaW5pdF9yZW5kZXJfcmluZ19idWZmZXIoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIHJpbmctPmlu aXRfY29udGV4dCA9IGNodl9pbml0X3dvcmthcm91bmRzOwo+PiAgICAgICAgICAgICAgICAgIGVs c2UKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIHJpbmctPmluaXRfY29udGV4dCA9IGJkd19p bml0X3dvcmthcm91bmRzOwo+PiArICAgICAgICAgICAgICAgcmluZy0+ZW1pdF93YSA9IGludGVs X3JpbmdfZW1pdF93YTsKPj4gICAgICAgICAgICAgICAgICByaW5nLT5hZGRfcmVxdWVzdCA9IGdl bjZfYWRkX3JlcXVlc3Q7Cj4+ICAgICAgICAgICAgICAgICAgcmluZy0+Zmx1c2ggPSBnZW44X3Jl bmRlcl9yaW5nX2ZsdXNoOwo+PiAgICAgICAgICAgICAgICAgIHJpbmctPmlycV9nZXQgPSBnZW44 X3JpbmdfZ2V0X2lycTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ PiBpbmRleCAwN2Y2NmQ0Li40MTdhYTA5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oCj4+IEBAIC0xMiw2ICsxMiwxMSBAQAo+PiAgICAqLwo+PiAgICNkZWZp bmUgQ0FDSEVMSU5FX0JZVEVTIDY0Cj4+Cj4+ICsvKiBOdW1iZXIgb2YgZHdvcmRzIHJlcXVpcmVk IGJhc2VkIG9uIHRoZQo+PiArICogYWN0dWFsIG51bWJlciBvZiB3b3JrYXJvdW5kcyBhcHBsaWVk Cj4+ICsgKi8KPj4gKyNkZWZpbmUgQkRXX1dBX0RXT1JEU19TSVpFIDE4Cj4+ICsKPj4gICAvKgo+ PiAgICAqIEdlbjIgQlNwZWMgIjEuIFByb2dyYW1taW5nIEVudmlyb25tZW50IiAvIDEuNC40LjYg IlJpbmcgQnVmZmVyIFVzZSIKPj4gICAgKiBHZW4zIEJTcGVjICJ2b2wxYyBNZW1vcnkgSW50ZXJm YWNlIEZ1bmN0aW9ucyIgLyAyLjMuNC41ICJSaW5nIEJ1ZmZlciBVc2UiCj4+IEBAIC0xNDgsNyAr MTUzLDEwIEBAIHN0cnVjdCAgaW50ZWxfZW5naW5lX2NzIHsKPj4KPj4gICAgICAgICAgaW50ICAg ICAgICAgICAgICgqaW5pdCkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4+Cj4+IC0g ICAgICAgaW50ICAgICAgICAgICAgICgqaW5pdF9jb250ZXh0KShzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nKTsKPj4gKyAgICAgICBpbnQgICAgICAgICAgICAgKCppbml0X2NvbnRleHQpKHN0 cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKTsKPj4gKwo+PiArICAgICAgIHZvaWQgICAg KCplbWl0X3dhKShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwKPj4gKyAgICAgICAg ICAgICAgICAgICAgICB1MzIgYWRkciwgdTMyIHZhbHVlKTsKPj4KPj4gICAgICAgICAgdm9pZCAg ICAgICAgICAgICgqd3JpdGVfdGFpbCkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMyIHZhbHVlKTsKPj4gQEAg LTQyNyw2ICs0MzUsNyBAQCBpbnQgaW50ZWxfaW5pdF92ZWJveF9yaW5nX2J1ZmZlcihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKPj4KPj4gICB1NjQgaW50ZWxfcmluZ19nZXRfYWN0aXZlX2hlYWQo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4+ICAgdm9pZCBpbnRlbF9yaW5nX3NldHVw X3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwo+PiArdm9pZCBiZHdf ZW1pdF93b3JrYXJvdW5kcyhzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1Zik7Cj4+Cj4+ ICAgc3RhdGljIGlubGluZSB1MzIgaW50ZWxfcmluZ19nZXRfdGFpbChzdHJ1Y3QgaW50ZWxfcmlu Z2J1ZmZlciAqcmluZ2J1ZikKPj4gICB7Cj4+IC0tCj4+IDIuMC4zCj4+Cj4+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4KPgo+CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=