From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/rockchip: fix fbdev crash when not use DRM_FBDEV_EMULATION Date: Wed, 3 Aug 2016 13:50:12 +0200 Message-ID: <20160803115012.GN6232@phenom.ffwll.local> References: <1470212025-30336-1-git-send-email-mark.yao@rock-chips.com> <20160803084321.GJ6232@phenom.ffwll.local> <20160803084627.GK6232@phenom.ffwll.local> <57A1B1B4.7040501@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <57A1B1B4.7040501@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark yao Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org T24gV2VkLCBBdWcgMDMsIDIwMTYgYXQgMDQ6NTY6MjBQTSArMDgwMCwgTWFyayB5YW8gd3JvdGU6 Cj4gT24gMjAxNuW5tDA45pyIMDPml6UgMTY6NDYsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBP biBXZWQsIEF1ZyAwMywgMjAxNiBhdCAxMDo0MzoyMUFNICswMjAwLCBEYW5pZWwgVmV0dGVyIHdy b3RlOgo+ID4gPiBPbiBXZWQsIEF1ZyAwMywgMjAxNiBhdCAwNDoxMzo0NVBNICswODAwLCBNYXJr IFlhbyB3cm90ZToKPiA+ID4gPiBbICAgIDEuMTYyNTcxXSBVbmFibGUgdG8gaGFuZGxlIGtlcm5l bCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgdmlydHVhbCBhZGRyZXNzIDAwMDAwMjAwCj4g PiA+ID4gWyAgICAxLjE2NTY1Nl0gTW9kdWxlcyBsaW5rZWQgaW46Cj4gPiA+ID4gWyAgICAxLjE2 NTk0MV0gQ1BVOiA1IFBJRDogMTQzIENvbW06IGt3b3JrZXIvNToyIE5vdCB0YWludGVkIDQuNC4x NSAjMjM3Cj4gPiA+ID4gWyAgICAxLjE2NjUwNl0gSGFyZHdhcmUgbmFtZTogUm9ja2NoaXAgUksz Mzk5IEV2YWx1YXRpb24gQm9hcmQgdjEgKEFuZHJvaWQpIChEVCkKPiA+ID4gPiBbICAgIDEuMTY3 MTUzXSBXb3JrcXVldWU6IGV2ZW50cyBvdXRwdXRfcG9sbF9leGVjdXRlCj4gPiA+ID4gWyAgICAx LjE2ODIzMV0gUEMgaXMgYXQgbXV0ZXhfbG9jaysweDE0LzB4NDQKPiA+ID4gPiBbICAgIDEuMTY4 NTg2XSBMUiBpcyBhdCBkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQrMHgyOC8weGNjCj4gPiA+ ID4gWyAgICAxLjE3MjE5Ml0gWzxmZmZmZmY4MDA4OTgyMTEwPl0gbXV0ZXhfbG9jaysweDE0LzB4 NDQKPiA+ID4gPiBbICAgIDEuMTcyMTk2XSBbPGZmZmZmZjgwMDg0MDI1YTQ+XSBkcm1fZmJfaGVs cGVyX2hvdHBsdWdfZXZlbnQrMHgyOC8weGNjCj4gPiA+ID4gWyAgICAxLjE3MjIwMV0gWzxmZmZm ZmY4MDA4NDI3YWU0Pl0gcm9ja2NoaXBfZHJtX291dHB1dF9wb2xsX2NoYW5nZWQrMHgxNC8weDFj Cj4gPiA+ID4gWyAgICAxLjE3MjIwNF0gWzxmZmZmZmY4MDA4M2Y3YzRjPl0gZHJtX2ttc19oZWxw ZXJfaG90cGx1Z19ldmVudCsweDI4LzB4MzQKPiA+ID4gPiBbICAgIDEuMTcyMjA3XSBbPGZmZmZm ZjgwMDgzZjdkZGM+XSBvdXRwdXRfcG9sbF9leGVjdXRlKzB4MTUwLzB4MTk4Cj4gPiA+ID4gWyAg ICAxLjE3MjIxMl0gWzxmZmZmZmY4MDA4MGIwZWE4Pl0gcHJvY2Vzc19vbmVfd29yaysweDIxOC8w eDNkYwo+ID4gPiA+IFsgICAgMS4xNzIyMTVdIFs8ZmZmZmZmODAwODBiMTU3OD5dIHdvcmtlcl90 aHJlYWQrMHgyNGMvMHgzNzQKPiA+ID4gPiBbICAgIDEuMTcyMjE3XSBbPGZmZmZmZjgwMDgwYjVi Y2M+XSBrdGhyZWFkKzB4ZGMvMHhlNAo+ID4gPiA+IFsgICAgMS4xNzIyMjJdIFs8ZmZmZmZmODAw ODA4NGNkMD5dIHJldF9mcm9tX2ZvcmsrMHgxMC8weDQwCj4gPiA+ID4gCj4gPiA+ID4gU2lnbmVk LW9mZi1ieTogTWFyayBZYW8gPG1hcmsueWFvQHJvY2stY2hpcHMuY29tPgo+ID4gPiBFcmhtLCBo b3cgZXhhY3RseSBkaWQgeW91IG1hbmFnZSB0byBibG93IHVwIGluIHRoZXJlPyBXaXRob3V0IGZi ZGV2Cj4gPiA+IHN1cHBvcnQgZW5hYmxlIGRybV9mYl9oZWxwZXJfaG90cGx1Z19ldmVudCgpIGRv ZXMgbm90aGluZyBhdCBhbGwuCj4gPiA+IAo+ID4gPiBUaGUgZmJkZXYgaGVscGVyIGlzIGRlc2ln bmVkIHN1Y2ggdGhhdCB5b3UgX2Rvbid0XyBoYXZlIHRvIGNoZWNrIGZvciBOVUxMCj4gPiA+IGV2 ZXJ5d2hlcmUgaW4gdGhlIGRyaXZlciwgdGhhdCB3b3VsZCBiZSBwcmV0dHkgYmFkIGNvZGUuCj4g PiBBbmQgaW5kZWVkIHRoaXMgaXNzdWUgc2VlbXMgcHJlZXhpc3RpbmcsIGFuZCB3YXMgYWxyZWFk eSBhdHRlbXB0IHRvIGZpeCBpbgo+ID4gCj4gPiBjb21taXQgNzY1YzM1YmJkMjY3ZTkzZWFiZTE1 YTk0NTM0Njg4ZGRhYTBiOWRjNwo+ID4gQXV0aG9yOiBIZWlrbyBTdMO8Ym5lciA8aGVpa29Ac250 ZWNoLmRlPgo+ID4gRGF0ZTogICBUdWUgSnVuIDIgMTY6NDE6NDUgMjAxNSArMDIwMAo+ID4gCj4g PiAgICAgIGRybS9yb2NrY2hpcDogb25seSBjYWxsIGRybV9mYl9oZWxwZXJfaG90cGx1Z19ldmVu dCBpZiBmYl9oZWxwZXIgcHJlc2VudAo+ID4gCj4gPiBleGNlcHQgdGhhdCBwYXRjaCBpcyBjb21w bGV0ZSBub25zZW5zZSAtIHRoZSBhZGRlZCBjaGVjayBpcyBhbHdheXMgdHJ1ZS4KPiA+IE9oIGFu ZCBpdCdzIG1pc3NpbmcgeW91ciBzLW8tYiwgd2hpY2ggaXMgbm90IGdvb2QgYXQgYWxsLgo+ID4g Cj4gPiBUaGUgcHJvcGVyIGZpeCBpcyB0byBtYWtlIGRlbGF5ZWQgZmJkZXYgbG9hZGluZyB3b3Jr IGNvcnJlY3RseSwgVGhpZXJyeQo+ID4gaGFzIHBhdGNoZXMgZm9yIHRoYXQgb24gdGhlIG1haWxp bmcgbGlzdC4gTm90IGFkZCBldmVuIG1vcmUgaGFja3MgbGlrZSB0aGUKPiA+IGFib3ZlIChhbmQg dGhlbiBzbGFwIGEgbWlzbGVhZGluZyBzdWJqZWN0IG9udG8geW91ciBwYXRjaCkuCj4gPiAtRGFu aWVsCj4gCj4gSG1tbSwgdGhlcmUgaXMgYSBtaXN0YWtlIG9uIEhlaWtvJ3MgcGF0Y2g6Cj4gCj4g ICAgICAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyID0gJnByaXZhdGUtPmZiZGV2 X2hlbHBlcjsKPiAKPiAgICAgICAgLSAgICAgICBkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQo ZmJfaGVscGVyKTsKPiAgICAgICArICAgICAgIGlmIChmYl9oZWxwZXIpCj4gICAgICAgKyAgICAg ICAgICAgICAgIGRybV9mYl9oZWxwZXJfaG90cGx1Z19ldmVudChmYl9oZWxwZXIpOwo+IAo+IEJ1 dCB0aGUgZmJfaGVscGVyIHdvdWxkIG5ldmVyIGJlIE5VTEwsIGJlY2F1c2UgdGhlIHByaXZhdGUt PmZiZGV2X2hlbHBlciBpcwo+IG5vdCBhIHBvaW50ZXIuCj4gCj4gU28gdGhlIGZpcnN0IHN0ZXAg aXMgbWFraW5nIHByaXZhdGUtPmZiZGV2X2hlbHBlciB0byBhIHBvaW50ZXIsIHRoYXQncyB3aGF0 Cj4gSSBkbyBvbiB0aGlzIHBhdGNoLgoKWW91J3ZlIGRvbmUgbW9yZSwgeW91IGFsc28gd3JhcHBl ZCB0aGF0IHBvaW50ZXIgaW50byBhbm90aGVyIHN0cnVjdHVyZSwKd2hpY2ggbWVhbnMgeW91IGhh dmUgdG8gc3BsYXR0ZXIgTlVMTCBjaGVja3MgYWxsIG92ZXIgdGhlIHBsYWNlLiBJZiB5b3UKcmVh bGx5IG9ubHkgZG8gdGhlIHN0cnVjdC0+cG9pbnRlciBjb252ZXJzaW9uIGFsb25lIHRoZSBwYXRj aCB3b3VsZCBiZSBhCmxvdCBjbGVhbmVyLgotRGFuaWVsCgo+IAo+IAo+ID4gPiAtRGFuaWVsCj4g PiA+IAo+ID4gPiA+IC0tLQo+ID4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2RybV9kcnYuYyAgIHwgMTMgKysrKysrKysrKy0tLQo+ID4gPiA+ICAgZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuaCAgIHwgIDggKysrKysrLS0KPiA+ID4gPiAg IGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmIuYyAgICB8ICA2ICsrKy0t LQo+ID4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYmRldi5j IHwgMjYgKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPiA+ID4gPiAgIDQgZmlsZXMgY2hhbmdl ZCwgMzYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCj4gPiA+ID4gaW5kZXgg YTgyMmQ0OS4uMWE0ZGFkNiAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYwo+ID4gPiA+IEBAIC0yNjEsNyArMjYxLDEwIEBAIHN0 YXRpYyB2b2lkIHJvY2tjaGlwX2RybV9sYXN0Y2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiA+ID4gPiAgIHsKPiA+ID4gPiAgIAlzdHJ1Y3Qgcm9ja2NoaXBfZHJtX3ByaXZhdGUgKnByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+ID4gPiA+IC0JZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2ZiZGV2 X21vZGVfdW5sb2NrZWQoJnByaXYtPmZiZGV2X2hlbHBlcik7Cj4gPiA+ID4gKwlpZiAoIXByaXYt PmZiZGV2KQo+ID4gPiA+ICsJCXJldHVybjsKPiA+ID4gPiArCj4gPiA+ID4gKwlkcm1fZmJfaGVs cGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZCgmcHJpdi0+ZmJkZXYtPmZiZGV2X2hlbHBl cik7Cj4gPiA+ID4gICB9Cj4gPiA+ID4gICBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0 aW9ucyByb2NrY2hpcF9kcm1fZHJpdmVyX2ZvcHMgPSB7Cj4gPiA+ID4gQEAgLTMxMCw4ICszMTMs MTAgQEAgdm9pZCByb2NrY2hpcF9kcm1fZmJfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZHJt KQo+ID4gPiA+ICAgewo+ID4gPiA+ICAgCXN0cnVjdCByb2NrY2hpcF9kcm1fcHJpdmF0ZSAqcHJp diA9IGRybS0+ZGV2X3ByaXZhdGU7Cj4gPiA+ID4gKwlpZiAoIXByaXYtPmZiZGV2KQo+ID4gPiA+ ICsJCXJldHVybjsKPiA+ID4gPiAgIAljb25zb2xlX2xvY2soKTsKPiA+ID4gPiAtCWRybV9mYl9o ZWxwZXJfc2V0X3N1c3BlbmQoJnByaXYtPmZiZGV2X2hlbHBlciwgMSk7Cj4gPiA+ID4gKwlkcm1f ZmJfaGVscGVyX3NldF9zdXNwZW5kKCZwcml2LT5mYmRldi0+ZmJkZXZfaGVscGVyLCAxKTsKPiA+ ID4gPiAgIAljb25zb2xlX3VubG9jaygpOwo+ID4gPiA+ICAgfQo+ID4gPiA+IEBAIC0zMTksOCAr MzI0LDEwIEBAIHZvaWQgcm9ja2NoaXBfZHJtX2ZiX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtKQo+ID4gPiA+ICAgewo+ID4gPiA+ICAgCXN0cnVjdCByb2NrY2hpcF9kcm1fcHJpdmF0ZSAq cHJpdiA9IGRybS0+ZGV2X3ByaXZhdGU7Cj4gPiA+ID4gKwlpZiAoIXByaXYtPmZiZGV2KQo+ID4g PiA+ICsJCXJldHVybjsKPiA+ID4gPiAgIAljb25zb2xlX2xvY2soKTsKPiA+ID4gPiAtCWRybV9m Yl9oZWxwZXJfc2V0X3N1c3BlbmQoJnByaXYtPmZiZGV2X2hlbHBlciwgMCk7Cj4gPiA+ID4gKwlk cm1fZmJfaGVscGVyX3NldF9zdXNwZW5kKCZwcml2LT5mYmRldi0+ZmJkZXZfaGVscGVyLCAwKTsK PiA+ID4gPiAgIAljb25zb2xlX3VubG9jaygpOwo+ID4gPiA+ICAgfQo+ID4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuaAo+ID4gPiA+IGluZGV4IGVhMzkz MjkuLmMwNTRmYzIgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV9kcnYuaAo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fZHJ2LmgKPiA+ID4gPiBAQCAtNTAsNiArNTAsMTEgQEAgc3RydWN0IHJv Y2tjaGlwX2NydGNfc3RhdGUgewo+ID4gPiA+ICAgI2RlZmluZSB0b19yb2NrY2hpcF9jcnRjX3N0 YXRlKHMpIFwKPiA+ID4gPiAgIAkJY29udGFpbmVyX29mKHMsIHN0cnVjdCByb2NrY2hpcF9jcnRj X3N0YXRlLCBiYXNlKQo+ID4gPiA+ICtzdHJ1Y3Qgcm9ja2NoaXBfZHJtX2ZiZGV2IHsKPiA+ID4g PiArCXN0cnVjdCBkcm1fZmJfaGVscGVyIGZiZGV2X2hlbHBlcjsKPiA+ID4gPiArCXN0cnVjdCBk cm1fZ2VtX29iamVjdCAqZmJkZXZfYm87Cj4gPiA+ID4gK307Cj4gPiA+ID4gKwo+ID4gPiA+ICAg LyoKPiA+ID4gPiAgICAqIFJvY2tjaGlwIGRybSBwcml2YXRlIHN0cnVjdHVyZS4KPiA+ID4gPiAg ICAqCj4gPiA+ID4gQEAgLTU3LDggKzYyLDcgQEAgc3RydWN0IHJvY2tjaGlwX2NydGNfc3RhdGUg ewo+ID4gPiA+ICAgICogQG51bV9waXBlOiBudW1iZXIgb2YgcGlwZXMgZm9yIHRoaXMgZGV2aWNl Lgo+ID4gPiA+ICAgICovCj4gPiA+ID4gICBzdHJ1Y3Qgcm9ja2NoaXBfZHJtX3ByaXZhdGUgewo+ ID4gPiA+IC0Jc3RydWN0IGRybV9mYl9oZWxwZXIgZmJkZXZfaGVscGVyOwo+ID4gPiA+IC0Jc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpmYmRldl9ibzsKPiA+ID4gPiArCXN0cnVjdCByb2NrY2hpcF9k cm1fZmJkZXYgKmZiZGV2Owo+ID4gPiA+ICAgCWNvbnN0IHN0cnVjdCByb2NrY2hpcF9jcnRjX2Z1 bmNzICpjcnRjX2Z1bmNzW1JPQ0tDSElQX01BWF9DUlRDXTsKPiA+ID4gPiAgIAlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gPiA+ID4gICB9Owo+ID4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiLmMgYi9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiLmMKPiA+ID4gPiBpbmRleCA1NWM1MjczLi5mZWY2 ZjhkIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hp cF9kcm1fZmIuYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hp cF9kcm1fZmIuYwo+ID4gPiA+IEBAIC0xNTYsMTAgKzE1NiwxMCBAQCBlcnJfZ2VtX29iamVjdF91 bnJlZmVyZW5jZToKPiA+ID4gPiAgIHN0YXRpYyB2b2lkIHJvY2tjaGlwX2RybV9vdXRwdXRfcG9s bF9jaGFuZ2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ID4gICB7Cj4gPiA+ID4gICAJ c3RydWN0IHJvY2tjaGlwX2RybV9wcml2YXRlICpwcml2YXRlID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiA+ID4gPiAtCXN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIgPSAmcHJpdmF0ZS0+ZmJk ZXZfaGVscGVyOwo+ID4gPiA+ICsJc3RydWN0IHJvY2tjaGlwX2RybV9mYmRldiAqZmJkZXYgPSBw cml2YXRlLT5mYmRldjsKPiA+ID4gPiAtCWlmIChmYl9oZWxwZXIpCj4gPiA+ID4gLQkJZHJtX2Zi X2hlbHBlcl9ob3RwbHVnX2V2ZW50KGZiX2hlbHBlcik7Cj4gPiA+ID4gKwlpZiAoZmJkZXYpCj4g PiA+ID4gKwkJZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KCZmYmRldi0+ZmJkZXZfaGVscGVy KTsKPiA+ID4gPiAgIH0KPiA+ID4gPiAgIHN0YXRpYyB2b2lkIHJvY2tjaGlwX2NydGNfd2FpdF9m b3JfdXBkYXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYmRldi5jIGIvZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYmRldi5jCj4gPiA+ID4gaW5kZXggMjA3ZTAxZC4u Y2M1NzgxYSAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9j a2NoaXBfZHJtX2ZiZGV2LmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv cm9ja2NoaXBfZHJtX2ZiZGV2LmMKPiA+ID4gPiBAQCAtMjIsMTYgKzIyLDE2IEBACj4gPiA+ID4g ICAjaW5jbHVkZSAicm9ja2NoaXBfZHJtX2ZiLmgiCj4gPiA+ID4gICAjZGVmaW5lIFBSRUZFUlJF RF9CUFAJCTMyCj4gPiA+ID4gLSNkZWZpbmUgdG9fZHJtX3ByaXZhdGUoeCkgXAo+ID4gPiA+IC0J CWNvbnRhaW5lcl9vZih4LCBzdHJ1Y3Qgcm9ja2NoaXBfZHJtX3ByaXZhdGUsIGZiZGV2X2hlbHBl cikKPiA+ID4gPiArI2RlZmluZSB0b19yb2NrY2hpcF9mYmRldih4KSBcCj4gPiA+ID4gKwkJY29u dGFpbmVyX29mKHgsIHN0cnVjdCByb2NrY2hpcF9kcm1fZmJkZXYsIGZiZGV2X2hlbHBlcikKPiA+ ID4gPiAgIHN0YXRpYyBpbnQgcm9ja2NoaXBfZmJkZXZfbW1hcChzdHJ1Y3QgZmJfaW5mbyAqaW5m bywKPiA+ID4gPiAgIAkJCSAgICAgICBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKPiA+ID4g PiAgIHsKPiA+ID4gPiAgIAlzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyID0gaW5mby0+cGFy Owo+ID4gPiA+IC0Jc3RydWN0IHJvY2tjaGlwX2RybV9wcml2YXRlICpwcml2YXRlID0gdG9fZHJt X3ByaXZhdGUoaGVscGVyKTsKPiA+ID4gPiArCXN0cnVjdCByb2NrY2hpcF9kcm1fZmJkZXYgKmZi ZGV2ID0gdG9fcm9ja2NoaXBfZmJkZXYoaGVscGVyKTsKPiA+ID4gPiAtCXJldHVybiByb2NrY2hp cF9nZW1fbW1hcF9idWYocHJpdmF0ZS0+ZmJkZXZfYm8sIHZtYSk7Cj4gPiA+ID4gKwlyZXR1cm4g cm9ja2NoaXBfZ2VtX21tYXBfYnVmKGZiZGV2LT5mYmRldl9ibywgdm1hKTsKPiA+ID4gPiAgIH0K PiA+ID4gPiAgIHN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHJvY2tjaGlwX2RybV9mYmRldl9vcHMgPSB7 Cj4gPiA+ID4gQEAgLTUwLDcgKzUwLDcgQEAgc3RhdGljIHN0cnVjdCBmYl9vcHMgcm9ja2NoaXBf ZHJtX2ZiZGV2X29wcyA9IHsKPiA+ID4gPiAgIHN0YXRpYyBpbnQgcm9ja2NoaXBfZHJtX2ZiZGV2 X2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAo+ID4gPiA+ICAgCQkJCSAgICAg c3RydWN0IGRybV9mYl9oZWxwZXJfc3VyZmFjZV9zaXplICpzaXplcykKPiA+ID4gPiAgIHsKPiA+ ID4gPiAtCXN0cnVjdCByb2NrY2hpcF9kcm1fcHJpdmF0ZSAqcHJpdmF0ZSA9IHRvX2RybV9wcml2 YXRlKGhlbHBlcik7Cj4gPiA+ID4gKwlzdHJ1Y3Qgcm9ja2NoaXBfZHJtX2ZiZGV2ICpmYmRldiA9 IHRvX3JvY2tjaGlwX2ZiZGV2KGhlbHBlcik7Cj4gPiA+ID4gICAJc3RydWN0IGRybV9tb2RlX2Zi X2NtZDIgbW9kZV9jbWQgPSB7IDAgfTsKPiA+ID4gPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gaGVscGVyLT5kZXY7Cj4gPiA+ID4gICAJc3RydWN0IHJvY2tjaGlwX2dlbV9vYmplY3QgKnJr X29iajsKPiA+ID4gPiBAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2RybV9m YmRldl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKPiA+ID4gPiAgIAlpZiAo SVNfRVJSKHJrX29iaikpCj4gPiA+ID4gICAJCXJldHVybiAtRU5PTUVNOwo+ID4gPiA+IC0JcHJp dmF0ZS0+ZmJkZXZfYm8gPSAmcmtfb2JqLT5iYXNlOwo+ID4gPiA+ICsJZmJkZXYtPmZiZGV2X2Jv ID0gJnJrX29iai0+YmFzZTsKPiA+ID4gPiAgIAlmYmkgPSBkcm1fZmJfaGVscGVyX2FsbG9jX2Zi aShoZWxwZXIpOwo+ID4gPiA+ICAgCWlmIChJU19FUlIoZmJpKSkgewo+ID4gPiA+IEBAIC04NSw3 ICs4NSw3IEBAIHN0YXRpYyBpbnQgcm9ja2NoaXBfZHJtX2ZiZGV2X2NyZWF0ZShzdHJ1Y3QgZHJt X2ZiX2hlbHBlciAqaGVscGVyLAo+ID4gPiA+ICAgCX0KPiA+ID4gPiAgIAloZWxwZXItPmZiID0g cm9ja2NoaXBfZHJtX2ZyYW1lYnVmZmVyX2luaXQoZGV2LCAmbW9kZV9jbWQsCj4gPiA+ID4gLQkJ CQkJCSAgIHByaXZhdGUtPmZiZGV2X2JvKTsKPiA+ID4gPiArCQkJCQkJICAgZmJkZXYtPmZiZGV2 X2JvKTsKPiA+ID4gPiAgIAlpZiAoSVNfRVJSKGhlbHBlci0+ZmIpKSB7Cj4gPiA+ID4gICAJCWRl dl9lcnIoZGV2LT5kZXYsICJGYWlsZWQgdG8gYWxsb2NhdGUgRFJNIGZyYW1lYnVmZmVyLlxuIik7 Cj4gPiA+ID4gICAJCXJldCA9IFBUUl9FUlIoaGVscGVyLT5mYik7Cj4gPiA+ID4gQEAgLTEzMCw2 ICsxMzAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9mYl9oZWxwZXJfZnVuY3Mgcm9ja2No aXBfZHJtX2ZiX2hlbHBlcl9mdW5jcyA9IHsKPiA+ID4gPiAgIGludCByb2NrY2hpcF9kcm1fZmJk ZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ICAgewo+ID4gPiA+ICAgCXN0 cnVjdCByb2NrY2hpcF9kcm1fcHJpdmF0ZSAqcHJpdmF0ZSA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g PiA+ID4gKwlzdHJ1Y3Qgcm9ja2NoaXBfZHJtX2ZiZGV2ICpmYmRldjsKPiA+ID4gPiAgIAlzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyOwo+ID4gPiA+ICAgCXVuc2lnbmVkIGludCBudW1fY3J0 YzsKPiA+ID4gPiAgIAlpbnQgcmV0Owo+ID4gPiA+IEBAIC0xMzksNyArMTQwLDEyIEBAIGludCBy b2NrY2hpcF9kcm1fZmJkZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ICAg CW51bV9jcnRjID0gZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0YzsKPiA+ID4gPiAtCWhlbHBlciA9 ICZwcml2YXRlLT5mYmRldl9oZWxwZXI7Cj4gPiA+ID4gKwlmYmRldiA9IGRldm1fa3phbGxvYyhk ZXYtPmRldiwgc2l6ZW9mKCpmYmRldiksIEdGUF9LRVJORUwpOwo+ID4gPiA+ICsJaWYgKCFmYmRl dikKPiA+ID4gPiArCQlyZXR1cm4gLUVOT01FTTsKPiA+ID4gPiArCj4gPiA+ID4gKwlwcml2YXRl LT5mYmRldiA9IGZiZGV2Owo+ID4gPiA+ICsJaGVscGVyID0gJmZiZGV2LT5mYmRldl9oZWxwZXI7 Cj4gPiA+ID4gICAJZHJtX2ZiX2hlbHBlcl9wcmVwYXJlKGRldiwgaGVscGVyLCAmcm9ja2NoaXBf ZHJtX2ZiX2hlbHBlcl9mdW5jcyk7Cj4gPiA+ID4gQEAgLTE3NSw3ICsxODEsOSBAQCB2b2lkIHJv Y2tjaGlwX2RybV9mYmRldl9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ID4gICAJ c3RydWN0IHJvY2tjaGlwX2RybV9wcml2YXRlICpwcml2YXRlID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiA+ID4gPiAgIAlzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyOwo+ID4gPiA+IC0JaGVscGVy ID0gJnByaXZhdGUtPmZiZGV2X2hlbHBlcjsKPiA+ID4gPiArCWlmICghcHJpdmF0ZSB8fCBwcml2 YXRlLT5mYmRldikKPiA+ID4gPiArCQlyZXR1cm47Cj4gPiA+ID4gKwloZWxwZXIgPSAmcHJpdmF0 ZS0+ZmJkZXYtPmZiZGV2X2hlbHBlcjsKPiA+ID4gPiAgIAlkcm1fZmJfaGVscGVyX3VucmVnaXN0 ZXJfZmJpKGhlbHBlcik7Cj4gPiA+ID4gICAJZHJtX2ZiX2hlbHBlcl9yZWxlYXNlX2ZiaShoZWxw ZXIpOwo+ID4gPiA+IC0tIAo+ID4gPiA+IDEuOS4xCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gPiBk cmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+ID4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+ID4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCj4gPiA+IC0tIAo+ID4gPiBEYW5pZWwgVmV0dGVyCj4gPiA+IFNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gPiBodHRwOi8vYmxvZy5mZndsbC5jaAo+ IAo+IAo+IC0tIAo+IO+8rWFyayBZYW8KPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVu Z2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK