From mboxrd@z Thu Jan 1 00:00:00 1970 From: ryadav@codeaurora.org Subject: Re: [DPU PATCH v2 03/12] drm/msm/dpu: add MDSS top level driver for dpu Date: Mon, 14 May 2018 19:36:10 +0530 Message-ID: References: <1526050178-31893-1-git-send-email-ryadav@codeaurora.org> <1526050178-31893-4-git-send-email-ryadav@codeaurora.org> <20180511152846.GR33053@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180511152846.GR33053@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, hoegsberg@chromium.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0wNS0xMSAyMDo1OCwgU2VhbiBQYXVsIHdyb3RlOgo+IE9uIEZyaSwgTWF5IDExLCAy MDE4IGF0IDA4OjE5OjI5UE0gKzA1MzAsIFJhamVzaCBZYWRhdiB3cm90ZToKPj4gU29DcyBjb250 YWluaW5nIGRwdSBoYXZlIGEgTURTUyB0b3AgbGV2ZWwgd3JhcHBlcgo+PiB3aGljaCBpbmNsdWRl cyBzdWItYmxvY2tzIGFzIGRwdSwgZHNpLCBwaHksIGRwIGV0Yy4KPj4gTURTUyB0b3AgbGV2ZWwg d3JhcHBlciBtYW5hZ2VzIGNvbW1vbiByZXNvdXJjZXMgbGlrZQo+PiBjb21tb24gY2xvY2tzLCBw b3dlciBhbmQgaXJxIGZvciBpdHMgc3ViLWJsb2Nrcy4KPj4gCj4+IEN1cnJlbnRseSwgaW4gZHB1 IGRyaXZlciwgYWxsIHRoZSBwb3dlciByZXNvdXJjZQo+PiBtYW5hZ2VtZW50IGlzIHBhcnQgb2Yg cG93ZXJfaGFuZGxlIHdoaWNoIG1hbmFnZXMKPj4gdGhlc2UgcmVzb3VyY2VzIHZpYSBhIGN1c3Rv bSBpbXBsZW1lbnRhdGlvbi4gQW5kCj4+IHRoZSByZXNvdXJjZSByZWxhdGlvbnNoaXBzIGFyZSBu b3QgbW9kZWxsZWQgcHJvcGVybHkKPj4gaW4gZHQuICBNb3Jlb3ZlciB0aGUgaXJxIGRvbWFpbiBo YW5kbGluZyBjb2RlIGlzIHBhcnQKPj4gb2YgZHB1IGRldmljZSAod2hpY2ggaXMgYSBjaGlsZCBk ZXZpY2UpIGR1ZSB0byBsYWNrCj4+IG9mIGEgZGVkaWNhdGVkIGRyaXZlciBmb3IgTURTUyB0b3Ag bGV2ZWwgd3JhcHBlcgo+PiBkZXZpY2UuCj4+IAo+PiBUaGlzIGNoYW5nZSBhZGRzIGRwdV9tZHNz IHRvcCBsZXZlbCBkcml2ZXIgdG8gaGFuZGxlCj4+IGNvbW1vbiBjbG9jayBsaWtlIC0gY29yZSBj bG9jaywgYWhiIGNsb2NrCj4+IChmb3IgcmVnaXN0ZXIgYWNjZXNzKSwgbWFpbiBwb3dlciBzdXBw bHkgKGkuZS4gZ2RzYykKPj4gYW5kIGlycSBtYW5hZ2VtZW50Lgo+PiBUaGUgdG9wIGxldmVsIG1k c3MgZGV2aWNlL2RyaXZlciBhY3RzIGFzIGFuIGludGVycnVwdAo+PiBjb250cm9sbGVyIGFuZCBt YW5hZ2UgaHdpcnEgbWFwcGluZyBmb3IgaXRzIGNoaWxkCj4+IGRldmljZXMuCj4+IAo+PiBJdCBp bXBsZW1lbnRzIHJ1bnRpbWVfcG0gc3VwcG9ydCBmb3IgcmVzb3VyY2UgbWFuYWdlbWVudC4KPj4g Q2hpbGQgbm9kZXMgY2FuIGNvbnRyb2wgdGhlc2UgcmVzb3VyY2VzIHZpYSBydW50aW1lX3BtCj4+ IGdldC9wdXQgY2FsbHMgb24gdGhlaXIgY29ycmVzcG9uZGluZyBkZXZpY2VzIGR1ZSB0byBwYXJl bnQKPj4gY2hpbGQgcmVsYXRpb25zaGlwIGRlZmluZWQgaW4gZHQuCj4+IAo+PiBDaGFuZ2VzIGlu IHYyOgo+PiAJLSBtZXJnZSBfZHB1X21kc3NfaHdfcmV2X2luaXQgdG8gZHB1X21kc3NfaW5pdCAo U2VhbiBQYXVsKQo+PiAJLSBtZXJnZSBfZHB1X21kc3NfZ2V0X2ludHJfc291cmNlcyB0byBkcHVf bWRzc19pcnEgKFNlYW4gUGF1bCkKPj4gCS0gZml4IGluZGVudGF0aW9uIGZvciBpcnFfZmluZF9t YXBwaW5nIGNhbGwgKFNlYW4gUGF1bCkKPj4gCS0gcmVtb3ZlIHVubmVjZXNzYXJ5IGdvdG8gc3Rh dGVtZW50cyBmcm9tIGRwdV9tZHNzX2lycSAoU2VhbiBQYXVsKQo+PiAJLSByZW1vdmUgcmVkdW5k YW50IHBhcmFtIGNoZWNrcyBmcm9tCj4+IAkgIGRwdV9tZHNzX2lycV9tYXNrL3VubWFzayAoU2Vh biBQYXVsL0pvcmRhbiBDcm91c2UpCj4+IAktIHJlbW92ZSByZWR1bmRhbnQgcGFyYW0gY2hlY2tz IGZyb20KPj4gCSAgZHB1X21kc3NfaXJxZG9tYWluX21hcCAoU2VhbiBQYXVsL0pvcmRhbiBDcm91 c2UpCj4+IAktIHJldHVybiBlcnJvciBjb2RlIGZyb20gZHB1X21kc3NfZW5hYmxlL2Rpc2FibGUg KFNlYW4gUGF1bC9Kb3JkYW4gCj4+IENyb3VzZSkKPj4gCS0gcmVtb3ZlIHJlZHVuZGFudCBwYXJh bSBjaGVjayBmcm9tIGRwdV9tZHNzX2Rlc3Ryb3kgKFNlYW4gUGF1bCkKPj4gCS0gcmVtb3ZlIGV4 cGxpY2l0IGNhbGxzIHRvIGRldm1fa2ZyZWUgKFNlYW4gUGF1bC9Kb3JkYW4gQ3JvdXNlKQo+PiAJ LSByZW1vdmUgY29tcGF0aWJpbGl0eSBjaGVjayBmcm9tIGRwdV9tZHNzX2luaXQgYXMKPj4gCSAg aXQgaXMgY29uZGl0aW9uYWxseSBjYWxsZWQgZnJvbSBtc21fZHJ2IChTZWFuIFBhdWwpCj4+IAkt IHJld29ya2VkIG1zbV9kc3NfcGFyc2VfY2xvY2soKSB0byBhZGQgcmV0dXJuIGNoZWNrcyBmb3IK Pj4gCSAgb2ZfcHJvcGVydHlfcmVhZF8qIGNhbGxzLCBmaXggbG9nIG1lc3NhZ2UgYW5kCj4+IAkg IGZpeCBhbGlnbm1lbnQgaXNzdWVzIChTZWFuIFBhdWwvSm9yZGFuIENyb3VzZSkKPj4gCS0gcmVt b3ZlIGV4dHJhIGxpbmUgYmVmb3JlIGRwdV9tZHNzX2luaXQgKFNlYW4gUGF1bCkKPj4gCS0gcmVt b3ZlIHJlZHVuZGFudCBwYXJhbSBjaGVja3MgZnJvbSBfX2ludHJfb2Zmc2V0IGFuZAo+PiAJICBt YWtlIGl0IGEgdm9pZCBmdW5jdGlvbiB0byBhdm9pZCB1bm5lY2Vzc2FyeSBlcnJvcgo+PiAJICBo YW5kbGluZyBmcm9tIGNhbGxlciAoSm9yZGFuIENyb3VzZSkKPj4gCS0gcmVtb3ZlIHJlZHVuZGFu dCBwYXJhbSBjaGVjayBmcm9tIGRwdV9tZHNzX2lycSAoSm9yZGFuIENyb3VzZSkKPj4gCS0gY2hh bmdlIG1kc3MgYWRkcmVzcyBzcGFjZSBsb2cgbWVzc2FnZSB0byBkZWJ1ZyBhbmQgdXNlICVwSyBm b3IKPj4gCSAga2VybmVsIHBvaW50ZXJzIChKb3JkYW4gQ3JvdXNlKQo+PiAJLSByZW1vdmUgdW5u ZWNlc3NhcnkgbG9nIG1lc3NhZ2UgZnJvbSBtc21fZHNzX3BhcnNlX2Nsb2NrIChKb3JkYW4gCj4+ IENyb3VzZSkKPj4gCS0gZG9uJ3QgZXhwb3J0IG1zbV9kc3NfcGFyc2VfY2xvY2sgc2luY2UgaXQg aXMgdXNlZAo+PiAJICBvbmx5IGJ5IGRwdSBkcml2ZXIgKEpvcmRhbiBDcm91c2UpCj4+IAo+PiBT aWduZWQtb2ZmLWJ5OiBSYWplc2ggWWFkYXYgPHJ5YWRhdkBjb2RlYXVyb3JhLm9yZz4KPj4gLS0t Cj4+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgIHwg ICAxICsKPj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX2lycS5jICAg ICAgfCAgOTcgLS0tLS0tLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf Y29yZV9pcnEuaCAgICAgIHwgIDE0IC0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfY2F0YWxvZy5jICAgIHwgICA5IC0KPj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19jYXRhbG9nLmggICAgfCAgIDcgLQo+PiAgZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2h3X2ludGVycnVwdHMuYyB8ICAyOCArLS0KPj4gIGRyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRlcnJ1cHRzLmggfCAgMTEgLQo+PiAgZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2lycS5jICAgICAgICAgICB8ICA0OCArLS0tCj4+ ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgICAgICAgICAgIHwgICA2 IC0KPj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaCAgICAgICAgICAg fCAgIDIgLQo+PiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21kc3MuYyAgICAg ICAgICB8IDI1NCAKPj4gKysrKysrKysrKysrKysrKysrKysrKwo+PiAgZHJpdmVycy9ncHUvZHJt L21zbS9kcHVfaW9fdXRpbC5jICAgICAgICAgICAgICAgICB8ICA1NyArKysrKwo+PiAgZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgICAgICAgICAgICAgICAgICAgICB8ICAyNiArKy0KPj4g IGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oICAgICAgICAgICAgICAgICAgICAgfCAgIDIg Ky0KPj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ttcy5oICAgICAgICAgICAgICAgICAgICAg fCAgIDEgKwo+PiAgaW5jbHVkZS9saW51eC9kcHVfaW9fdXRpbC5oICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMiArCj4+ICAxNiBmaWxlcyBjaGFuZ2VkLCAzMzkgaW5zZXJ0aW9ucygrKSwgMjI2 IGRlbGV0aW9ucygtKQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9tZHNzLmMKPj4gCj4gCj4gL3NuaXAKPiAKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9tZHNzLmMgCj4+IGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X21kc3MuYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwLi5jZTY4MGVhCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21kc3MuYwo+IAo+IC9zbmlwCj4gCj4+ICsKPj4gK2lu dCBkcHVfbWRzc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICt7Cj4+ICsJc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRmb3JtX2RldmljZShkZXYtPmRldik7Cj4+ ICsJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJ c3RydWN0IGRwdV9tZHNzICpkcHVfbWRzczsKPj4gKwlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAq bXA7Cj4+ICsJaW50IHJldCA9IDA7Cj4+ICsKPj4gKwlkcHVfbWRzcyA9IGRldm1fa3phbGxvYyhk ZXYtPmRldiwgc2l6ZW9mKCpkcHVfbWRzcyksIEdGUF9LRVJORUwpOwo+PiArCWlmICghZHB1X21k c3MpCj4+ICsJCXJldHVybiAtRU5PTUVNOwo+PiArCj4+ICsJZHB1X21kc3MtPm1taW8gPSBtc21f aW9yZW1hcChwZGV2LCAibWRzc19waHlzIiwgIm1kc3NfcGh5cyIpOwo+PiArCWlmIChJU19FUlIo ZHB1X21kc3MtPm1taW8pKSB7Cj4+ICsJCXJldCA9IFBUUl9FUlIoZHB1X21kc3MtPm1taW8pOwo+ IAo+IHJlbW92ZSB0aGlzIC4uLgo+IAo+PiArCQlEUFVfRVJST1IoIm1kc3MgcmVnaXN0ZXIgbWVt b3J5IG1hcCBmYWlsZWQ6ICVkXG4iLCByZXQpOwo+PiArCQlkcHVfbWRzcy0+bW1pbyA9IE5VTEw7 Cj4+ICsJCXJldHVybiByZXQ7Cj4gCj4gLi4uIGFuZCByZXBsYWNlIHdpdGgKPiAgICAgICAgICAg ICAgICAgcmV0dXJuIFBUUl9FUlIoZHB1X21kc3MtPm1taW8pOwo+IApTdXJlLCBJJ2xsIHVwZGF0 ZSBpbiB2My4KCj4+ICsJfQo+PiArCURSTV9ERUJVRygibWFwcGVkIG1kc3MgYWRkcmVzcyBzcGFj ZSBAJXBLXG4iLCBkcHVfbWRzcy0+bW1pbyk7Cj4+ICsJZHB1X21kc3MtPm1taW9fbGVuID0gbXNt X2lvbWFwX3NpemUocGRldiwgIm1kc3NfcGh5cyIpOwo+PiArCj4+ICsJbXAgPSAmZHB1X21kc3Mt Pm1wOwo+PiArCXJldCA9IG1zbV9kc3NfcGFyc2VfY2xvY2socGRldiwgbXApOwo+PiArCWlmIChy ZXQpIHsKPj4gKwkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gcGFyc2UgY2xvY2tzLCByZXQ9JWRcbiIs IHJldCk7Cj4+ICsJCWdvdG8gY2xrX3BhcnNlX2VycjsKPj4gKwl9Cj4+ICsKPj4gKwlyZXQgPSBt c21fZHNzX2dldF9jbGsoJnBkZXYtPmRldiwgbXAtPmNsa19jb25maWcsIG1wLT5udW1fY2xrKTsK Pj4gKwlpZiAocmV0KSB7Cj4+ICsJCURQVV9FUlJPUigiZmFpbGVkIHRvIGdldCBjbG9ja3MsIHJl dD0lZFxuIiwgcmV0KTsKPj4gKwkJZ290byBjbGtfZ2V0X2Vycm9yOwo+PiArCX0KPj4gKwo+PiAr CXJldCA9IG1zbV9kc3NfY2xrX3NldF9yYXRlKG1wLT5jbGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7 Cj4+ICsJaWYgKHJldCkgewo+PiArCQlEUFVfRVJST1IoImZhaWxlZCB0byBzZXQgY2xvY2sgcmF0 ZSwgcmV0PSVkXG4iLCByZXQpOwo+PiArCQlnb3RvIGNsa19yYXRlX2Vycm9yOwo+PiArCX0KPj4g Kwo+PiArCWRwdV9tZHNzLT5iYXNlLmRldiA9IGRldjsKPj4gKwlkcHVfbWRzcy0+YmFzZS5mdW5j cyA9ICZtZHNzX2Z1bmNzOwo+PiArCj4+ICsJcmV0ID0gX2RwdV9tZHNzX2lycV9kb21haW5fYWRk KGRwdV9tZHNzKTsKPj4gKwlpZiAocmV0KQo+PiArCQlnb3RvIGlycV9kb21haW5fZXJyb3I7Cj4+ ICsKPj4gKwlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKGRldi0+ZGV2LCBwbGF0Zm9ybV9nZXRfaXJx KHBkZXYsIDApLAo+PiArCQkJZHB1X21kc3NfaXJxLCAwLCAiZHB1X21kc3NfaXNyIiwgZHB1X21k c3MpOwo+PiArCWlmIChyZXQpIHsKPj4gKwkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gaW5pdCBpcnE6 ICVkXG4iLCByZXQpOwo+PiArCQlnb3RvIGlycV9lcnJvcjsKPj4gKwl9Cj4+ICsKPj4gKwlwbV9y dW50aW1lX2VuYWJsZShkZXYtPmRldik7Cj4+ICsKPj4gKwlwbV9ydW50aW1lX2dldF9zeW5jKGRl di0+ZGV2KTsKPj4gKwlkcHVfbWRzcy0+aHd2ZXJzaW9uID0gcmVhZGxfcmVsYXhlZChkcHVfbWRz cy0+bW1pbyk7Cj4+ICsJcG1fcnVudGltZV9wdXRfc3luYyhkZXYtPmRldik7Cj4+ICsKPj4gKwlw cml2LT5tZHNzID0gJmRwdV9tZHNzLT5iYXNlOwo+PiArCj4+ICsJcmV0dXJuIHJldDsKPj4gKwo+ PiAraXJxX2Vycm9yOgo+PiArCV9kcHVfbWRzc19pcnFfZG9tYWluX2ZpbmkoZHB1X21kc3MpOwo+ PiAraXJxX2RvbWFpbl9lcnJvcjoKPj4gK2Nsa19yYXRlX2Vycm9yOgo+PiArCW1zbV9kc3NfcHV0 X2NsayhtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGspOwo+PiArY2xrX2dldF9lcnJvcjoKPj4g KwlkZXZtX2tmcmVlKCZwZGV2LT5kZXYsIG1wLT5jbGtfY29uZmlnKTsKPj4gK2Nsa19wYXJzZV9l cnI6Cj4+ICsJaWYgKGRwdV9tZHNzLT5tbWlvKQo+PiArCQltc21faW91bm1hcChwZGV2LCBkcHVf bWRzcy0+bW1pbyk7Cj4+ICsJZHB1X21kc3MtPm1taW8gPSBOVUxMOwo+PiArCXJldHVybiByZXQ7 Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RwdV9pb191dGlsLmMg Cj4+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kcHVfaW9fdXRpbC5jCj4+IGluZGV4IGExOGJjOTku LmM0NGYzM2YgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHB1X2lvX3V0aWwu Ywo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RwdV9pb191dGlsLmMKPj4gQEAgLTQ0OCw2 ICs0NDgsNjMgQEAgaW50IG1zbV9kc3NfZW5hYmxlX2NsayhzdHJ1Y3QgZHNzX2NsayAqY2xrX2Fy cnksIAo+PiBpbnQgbnVtX2NsaywgaW50IGVuYWJsZSkKPj4gIH0gLyogbXNtX2Rzc19lbmFibGVf Y2xrICovCj4+ICBFWFBPUlRfU1lNQk9MKG1zbV9kc3NfZW5hYmxlX2Nsayk7Cj4+IAo+PiAraW50 IG1zbV9kc3NfcGFyc2VfY2xvY2soc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPj4gKwkJ c3RydWN0IGRzc19tb2R1bGVfcG93ZXIgKm1wKQo+PiArewo+PiArCXUzMiBpLCByYyA9IDA7Cj4+ ICsJY29uc3QgY2hhciAqY2xvY2tfbmFtZTsKPj4gKwl1MzIgcmF0ZSA9IDAsIG1heF9yYXRlID0g MDsKPj4gKwlpbnQgbnVtX2NsayA9IDA7Cj4+ICsKPj4gKwlpZiAoIXBkZXYgfHwgIW1wKQo+PiAr CQlyZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiArCW1wLT5udW1fY2xrID0gMDsKPj4gKwludW1fY2xr ID0gb2ZfcHJvcGVydHlfY291bnRfc3RyaW5ncyhwZGV2LT5kZXYub2Zfbm9kZSwgCj4+ICJjbG9j ay1uYW1lcyIpOwo+PiArCWlmIChudW1fY2xrIDw9IDApIHsKPj4gKwkJcHJfZGVidWcoImNsb2Nr cyBhcmUgbm90IGRlZmluZWRcbiIpOwo+PiArCQlyZXR1cm4gMDsKPj4gKwl9Cj4+ICsKPj4gKwlt cC0+Y2xrX2NvbmZpZyA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LAo+PiArCQkJCSAgICAgIHNp emVvZihzdHJ1Y3QgZHNzX2NsaykgKiBudW1fY2xrLAo+PiArCQkJCSAgICAgIEdGUF9LRVJORUwp Owo+PiArCWlmICghbXAtPmNsa19jb25maWcpCj4+ICsJCXJldHVybiAtRU5PTUVNOwo+PiArCj4+ ICsJZm9yIChpID0gMDsgaSA8IG51bV9jbGs7IGkrKykgewo+PiArCQlyYyA9IG9mX3Byb3BlcnR5 X3JlYWRfc3RyaW5nX2luZGV4KHBkZXYtPmRldi5vZl9ub2RlLAo+PiArCQkJCQkJICAgImNsb2Nr LW5hbWVzIiwgaSwKPj4gKwkJCQkJCSAgICZjbG9ja19uYW1lKTsKPj4gKwkJaWYgKHJjKQo+PiAr CQkJYnJlYWs7Cj4+ICsJCXN0cmxjcHkobXAtPmNsa19jb25maWdbaV0uY2xrX25hbWUsIGNsb2Nr X25hbWUsCj4+ICsJCQlzaXplb2YobXAtPmNsa19jb25maWdbaV0uY2xrX25hbWUpKTsKPj4gKwo+ PiArCQlyYyA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyX2luZGV4KHBkZXYtPmRldi5vZl9ub2RlLAo+ PiArCQkJCQkJImNsb2NrLXJhdGUiLCBpLAo+PiArCQkJCQkJJnJhdGUpOwo+PiArCQlpZiAocmMp Cj4+ICsJCQlicmVhazsKPj4gKwkJbXAtPmNsa19jb25maWdbaV0ucmF0ZSA9IHJhdGU7Cj4+ICsJ CWlmICghbXAtPmNsa19jb25maWdbaV0ucmF0ZSkKPj4gKwkJCW1wLT5jbGtfY29uZmlnW2ldLnR5 cGUgPSBEU1NfQ0xLX0FIQjsKPj4gKwkJZWxzZQo+PiArCQkJbXAtPmNsa19jb25maWdbaV0udHlw ZSA9IERTU19DTEtfUENMSzsKPj4gKwo+PiArCQlyYyA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyX2lu ZGV4KHBkZXYtPmRldi5vZl9ub2RlLAo+PiArCQkJCQkJImNsb2NrLW1heC1yYXRlIiwgaSwKPj4g KwkJCQkJCSZtYXhfcmF0ZSk7Cj4gCj4gSG1tLCBJIG1pc3NlZCB0aGVzZSBpbiBteSBmaXJzdCBy ZXZpZXcsIHRoZXNlIG5lZWQgbmV3IGR0IGJpbmRpbmdzLiBJJ20KPiBmYXIgZnJvbSBhbiBleHBl cnQgb24gZHQgYmluZGluZ3MsIGJ1dCBJIHRoaW5rIHlvdSdsbCBiZSBhc2tlZCB0byAKPiBkZWZp bmUgdGhlc2UKPiBhcmUgY2xvY2tzLCBhbmQgZ2V0IHRoZSByYXRlL21heCByYXRlIGluZm9ybWF0 aW9uIGZyb20gdGhlIGNsb2NrIAo+IHN1YnN5c3RlbQo+IGluc3RlYWQgb2YgYnJlYWtpbmcgaXQg YWxsIG91dCBsaWtlIHRoaXMuCj4gCj4gU2Vhbgo+IApJIGhhdmUgY2hlY2tlZCB0aGUgY2xvY2st YmluZGluZ3MudHh0IGFuZCBpbiB0aGUgY2xvY2sgY29uc3VtZXJzIGV4YW1wbGUKSSBjYW4gc2Vl IHRoYXQgY2xvY2stZnJlcXVlbmN5IGJpbmRpbmcgaXMgdXNlZCwgc28gSSdsbCByZW5hbWUgCiJj bG9jay1yYXRlIiB0byAiY2xvY2stZnJlcXVlbmN5Ii4KUmVnYXJkaW5nIG1heC1yYXRlL2ZyZXF1 ZW5jeSwgSSBoYXZlIG5vdCBzZWUgYW55IHJlZmVyZW5jZXMgZm9yIGl0IGluIApjbG9jay1iaW5k aW5ncy50eHQuClRoaXMgcHJvcGVydGllcyBpcyBtYWlubHkgdXNlZCBpbiBkb3duc3RyZWFtIGRy aXZlciwgaSdsbCByZW1vdmUgaXQuCgpUaGFua3MsClJhamVzaAoKPj4gKwkJaWYgKHJjKQo+PiAr CQkJYnJlYWs7Cj4+ICsJCW1wLT5jbGtfY29uZmlnW2ldLm1heF9yYXRlID0gbWF4X3JhdGU7Cj4+ ICsJfQo+PiArCj4+ICsJaWYgKCFyYykKPj4gKwkJbXAtPm51bV9jbGsgPSBudW1fY2xrOwo+PiAr Cj4+ICsJcmV0dXJuIHJjOwo+PiArfQo+PiAKPj4gIGludCBkcHVfaTJjX2J5dGVfcmVhZChzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1aW50OF90IHNsYXZlX2FkZHIsCj4+ICAJCQl1aW50OF90 IHJlZ19vZmZzZXQsIHVpbnQ4X3QgKnJlYWRfYnVmKQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZHJ2LmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMK Pj4gaW5kZXggNWQ4ZjFiNi4uYTBlNzNlYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZHJ2LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKPj4g QEAgLTUwMyw3ICs1MDMsMTggQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQoc3RydWN0IGRldmlj ZSAqZGV2LCAKPj4gc3RydWN0IGRybV9kcml2ZXIgKmRydikKPj4gIAlkZGV2LT5kZXZfcHJpdmF0 ZSA9IHByaXY7Cj4+ICAJcHJpdi0+ZGV2ID0gZGRldjsKPj4gCj4+IC0JcmV0ID0gbWRwNV9tZHNz X2luaXQoZGRldik7Cj4+ICsJc3dpdGNoIChnZXRfbWRwX3ZlcihwZGV2KSkgewo+PiArCWNhc2Ug S01TX01EUDU6Cj4+ICsJCXJldCA9IG1kcDVfbWRzc19pbml0KGRkZXYpOwo+PiArCQlicmVhazsK Pj4gKwljYXNlIEtNU19EUFU6Cj4+ICsJCXJldCA9IGRwdV9tZHNzX2luaXQoZGRldik7Cj4+ICsJ CWJyZWFrOwo+PiArCWRlZmF1bHQ6Cj4+ICsJCXJldCA9IDA7Cj4+ICsJCWJyZWFrOwo+PiArCX0K Pj4gKwo+PiAgCWlmIChyZXQpCj4+ICAJCWdvdG8gbWRzc19pbml0X2ZhaWw7Cj4+IAo+PiBAQCAt MTUzOSwxMiArMTU1MCwxMyBAQCBzdGF0aWMgaW50IGFkZF9kaXNwbGF5X2NvbXBvbmVudHMoc3Ry dWN0IAo+PiBkZXZpY2UgKmRldiwKPj4gIAlpbnQgcmV0Owo+PiAKPj4gIAkvKgo+PiAtCSAqIE1E UDUgYmFzZWQgZGV2aWNlcyBkb24ndCBoYXZlIGEgZmxhdCBoaWVyYXJjaHkuIFRoZXJlIGlzIGEg dG9wIAo+PiBsZXZlbAo+PiAtCSAqIHBhcmVudDogTURTUywgYW5kIGNoaWxkcmVuOiBNRFA1LCBE U0ksIEhETUksIGVEUCBldGMuIFBvcHVsYXRlIAo+PiB0aGUKPj4gLQkgKiBjaGlsZHJlbiBkZXZp Y2VzLCBmaW5kIHRoZSBNRFA1IG5vZGUsIGFuZCB0aGVuIGFkZCB0aGUgaW50ZXJmYWNlcwo+PiAt CSAqIHRvIG91ciBjb21wb25lbnRzIGxpc3QuCj4+ICsJICogTURQNS9EUFUgYmFzZWQgZGV2aWNl cyBkb24ndCBoYXZlIGEgZmxhdCBoaWVyYXJjaHkuIFRoZXJlIGlzIGEgCj4+IHRvcAo+PiArCSAq IGxldmVsIHBhcmVudDogTURTUywgYW5kIGNoaWxkcmVuOiBNRFA1L0RQVSwgRFNJLCBIRE1JLCBl RFAgZXRjLgo+PiArCSAqIFBvcHVsYXRlIHRoZSBjaGlsZHJlbiBkZXZpY2VzLCBmaW5kIHRoZSBN RFA1L0RQVSBub2RlLCBhbmQgdGhlbiAKPj4gYWRkCj4+ICsJICogdGhlIGludGVyZmFjZXMgdG8g b3VyIGNvbXBvbmVudHMgbGlzdC4KPj4gIAkgKi8KPj4gLQlpZiAob2ZfZGV2aWNlX2lzX2NvbXBh dGlibGUoZGV2LT5vZl9ub2RlLCAicWNvbSxtZHNzIikpIHsKPj4gKwlpZiAob2ZfZGV2aWNlX2lz X2NvbXBhdGlibGUoZGV2LT5vZl9ub2RlLCAicWNvbSxtZHNzIikgfHwKPj4gKwkJb2ZfZGV2aWNl X2lzX2NvbXBhdGlibGUoZGV2LT5vZl9ub2RlLCAicWNvbSxkcHUtbWRzcyIpKSB7Cj4+ICAJCXJl dCA9IG9mX3BsYXRmb3JtX3BvcHVsYXRlKGRldi0+b2Zfbm9kZSwgTlVMTCwgTlVMTCwgZGV2KTsK Pj4gIAkJaWYgKHJldCkgewo+PiAgCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcG9wdWxhdGUg Y2hpbGRyZW4gZGV2aWNlc1xuIik7Cj4+IEBAIC0xNjg2LDcgKzE2OTgsNyBAQCBzdGF0aWMgaW50 IG1zbV9wZGV2X3JlbW92ZShzdHJ1Y3QgCj4+IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gIAl7 IC5jb21wYXRpYmxlID0gInFjb20sbWRwNCIsIC5kYXRhID0gKHZvaWQgKilLTVNfTURQNCB9LAo+ PiAgCXsgLmNvbXBhdGlibGUgPSAicWNvbSxtZHNzIiwgLmRhdGEgPSAodm9pZCAqKUtNU19NRFA1 IH0sCj4+ICAjaWZkZWYgQ09ORklHX0RSTV9NU01fRFBVCj4+IC0JeyAuY29tcGF0aWJsZSA9ICJx Y29tLGRwdS1rbXMiLCAuZGF0YSA9ICh2b2lkICopS01TX0RQVSB9LAo+PiArCXsgLmNvbXBhdGli bGUgPSAicWNvbSxkcHUtbWRzcyIsIC5kYXRhID0gKHZvaWQgKilLTVNfRFBVIH0sCj4+ICAjZW5k aWYKPj4gIAl7fQo+PiAgfTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNt X2Rydi5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4+IGluZGV4IDkwYTI1 MjEuLmU4ZTVlNzMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5o Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4+IEBAIC0zODEsNyArMzgx LDcgQEAgc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSB7Cj4+ICAJLyogc3Vib3JkaW5hdGUgZGV2aWNl cywgaWYgcHJlc2VudDogKi8KPj4gIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpncHVfcGRldjsK Pj4gCj4+IC0JLyogdG9wIGxldmVsIE1EU1Mgd3JhcHBlciBkZXZpY2UgKGZvciBNRFA1IG9ubHkp ICovCj4+ICsJLyogdG9wIGxldmVsIE1EU1Mgd3JhcHBlciBkZXZpY2UgKGZvciBNRFA1L0RQVSBv bmx5KSAqLwo+PiAgCXN0cnVjdCBtc21fbWRzcyAqbWRzczsKPj4gCj4+ICAJLyogcG9zc2libHkg dGhpcyBzaG91bGQgYmUgaW4gdGhlIGttcyBjb21wb25lbnQsIGJ1dCBpdCBpcwo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmggCj4+IGIvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fa21zLmgKPj4gaW5kZXggOWE3YmM3ZC4uNWUxZGU4NSAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9tc21fa21zLmgKPj4gQEAgLTE0NCw2ICsxNDQsNyBAQCBzdHJ1Y3QgbXNtX21kc3Mgewo+PiAg fTsKPj4gCj4+ICBpbnQgbWRwNV9tZHNzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+ ICtpbnQgZHB1X21kc3NfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4gCj4+ICAvKioK Pj4gICAqIE1vZGUgU2V0IFV0aWxpdHkgRnVuY3Rpb25zCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2RwdV9pb191dGlsLmggYi9pbmNsdWRlL2xpbnV4L2RwdV9pb191dGlsLmgKPj4gaW5k ZXggN2M3Mzg5OS4uNDVlNjA2ZiAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9saW51eC9kcHVfaW9f dXRpbC5oCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvZHB1X2lvX3V0aWwuaAo+PiBAQCAtMTA0LDYg KzEwNCw4IEBAIGludCBtc21fZHNzX2NvbmZpZ192cmVnKHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry dWN0IAo+PiBkc3NfdnJlZyAqaW5fdnJlZywKPj4gIHZvaWQgbXNtX2Rzc19wdXRfY2xrKHN0cnVj dCBkc3NfY2xrICpjbGtfYXJyeSwgaW50IG51bV9jbGspOwo+PiAgaW50IG1zbV9kc3NfY2xrX3Nl dF9yYXRlKHN0cnVjdCBkc3NfY2xrICpjbGtfYXJyeSwgaW50IG51bV9jbGspOwo+PiAgaW50IG1z bV9kc3NfZW5hYmxlX2NsayhzdHJ1Y3QgZHNzX2NsayAqY2xrX2FycnksIGludCBudW1fY2xrLCBp bnQgCj4+IGVuYWJsZSk7Cj4+ICtpbnQgbXNtX2Rzc19wYXJzZV9jbG9jayhzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2LAo+PiArCQlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXApOwo+PiAK Pj4gIGludCBkcHVfaTJjX2J5dGVfcmVhZChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1aW50 OF90IHNsYXZlX2FkZHIsCj4+ICAJCSAgICAgICB1aW50OF90IHJlZ19vZmZzZXQsIHVpbnQ4X3Qg KnJlYWRfYnVmKTsKPj4gLS0KPj4gVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMu IGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSAKPj4gRm9ydW0sCj4+IGEgTGludXggRm91 bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKPj4gCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=