From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [v2 7/7] drm/msm/a6xx: Add support for using system cache(LLC) Date: Fri, 5 Oct 2018 18:38:35 +0530 Message-ID: <1538744915-25490-8-git-send-email-smasetty@codeaurora.org> References: <1538744915-25490-1-git-send-email-smasetty@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1538744915-25490-1-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, Sharat Masetty , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhlIGxhc3QgbGV2ZWwgc3lzdGVtIGNhY2hlIGNhbiBiZSBwYXJ0aXRpb25lZCB0byAzMiBkaWZm ZXJlbnQgc2xpY2VzCm9mIHdoaWNoIEdQVSBoYXMgdHdvIHNsaWNlcyBwcmVhbGxvY2F0ZWQuIE9u ZSBzbGljZSBpcyB1c2VkIGZvciBjYWNoaW5nIEdQVQpidWZmZXJzIGFuZCB0aGUgb3RoZXIgc2xp Y2UgaXMgdXNlZCBmb3IgY2FjaGluZyB0aGUgR1BVIFNNTVUgcGFnZXRhYmxlcy4KVGhpcyBwYXRj aCB0YWxrcyB0byB0aGUgY29yZSBzeXN0ZW0gY2FjaGUgZHJpdmVyIHRvIGFjcXVpcmUgdGhlIHNs aWNlIGhhbmRsZXMsCmNvbmZpZ3VyZSB0aGUgU0NJRCdzIHRvIHRob3NlIHNsaWNlcyBhbmQgYWN0 aXZhdGVzIGFuZCBkZWFjdGl2YXRlcyB0aGUgc2xpY2VzCnVwb24gR1BVIHBvd2VyIGNvbGxhcHNl IGFuZCByZXN0b3JlLgoKU29tZSBzdXBwb3J0IGZyb20gdGhlIElPTU1VIGRyaXZlciBpcyBhbHNv IG5lZWRlZCB0byBtYWtlIHVzZSBvZiB0aGUKc3lzdGVtIGNhY2hlLiBJT01NVV9TWVNfQ0FDSEUg aXMgYSBidWZmZXIgcHJvdGVjdGlvbiBmbGFnIHdoaWNoIGVuYWJsZXMKY2FjaGluZyBHUFUgZGF0 YSBidWZmZXJzIGluIHRoZSBzeXN0ZW0gY2FjaGUgd2l0aCBtZW1vcnkgYXR0cmlidXRlcyBzdWNo CmFzIG91dGVyIGNhY2hlYWJsZSwgcmVhZC1hbGxvY2F0ZSwgd3JpdGUtYWxsb2NhdGUgZm9yIGJ1 ZmZlcnMuIFRoZSBHUFUKdGhlbiBoYXMgdGhlIGFiaWxpdHkgdG8gb3ZlcnJpZGUgYSBmZXcgY2Fj aGVhYmlsaXR5IHBhcmFtZXRlcnMgd2hpY2ggaXQKZG9lcyB0byBvdmVycmlkZSB3cml0ZS1hbGxv Y2F0ZSB0byB3cml0ZS1uby1hbGxvY2F0ZSBhcyB0aGUgR1BVIGhhcmR3YXJlCmRvZXMgbm90IGJl bmVmaXQgbXVjaCBmcm9tIGl0LgoKU2ltaWxhcmx5IERPTUFJTl9BVFRSX1VTRV9TWVNfQ0FDSEUg aXMgYW5vdGhlciBkb21haW4gbGV2ZWwgYXR0cmlidXRlCnVzZWQgYnkgdGhlIElPTU1VIGRyaXZl ciB0byBzZXQgdGhlIHJpZ2h0IGF0dHJpYnV0ZXMgdG8gY2FjaGUgdGhlIGhhcmR3YXJlCnBhZ2V0 YWJsZXMgaW50byB0aGUgc3lzdGVtIGNhY2hlLgoKU2lnbmVkLW9mZi1ieTogU2hhcmF0IE1hc2V0 dHkgPHNtYXNldHR5QGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRy ZW5vL2E2eHhfZ3B1LmMgfCAxNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog ZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuaCB8ICAgOSArKwogZHJpdmVycy9n cHUvZHJtL21zbS9tc21faW9tbXUuYyAgICAgICB8ICAxMyArKysKIGRyaXZlcnMvZ3B1L2RybS9t c20vbXNtX21tdS5oICAgICAgICAgfCAgIDMgKwogNCBmaWxlcyBjaGFuZ2VkLCAxODMgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2E2eHhfZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dwdS5j CmluZGV4IDE3N2RiZmMuLjE3OTBkZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2E2eHhfZ3B1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9n cHUuYwpAQCAtOCw2ICs4LDcgQEAKICNpbmNsdWRlICJhNnh4X2dtdS54bWwuaCIKIAogI2luY2x1 ZGUgPGxpbnV4L2RldmZyZXEuaD4KKyNpbmNsdWRlIDxsaW51eC9zb2MvcWNvbS9sbGNjLXFjb20u aD4KIAogc3RhdGljIGlubGluZSBib29sIF9hNnh4X2NoZWNrX2lkbGUoc3RydWN0IG1zbV9ncHUg KmdwdSkKIHsKQEAgLTY3NCw2ICs2NzUsMTUxIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBhNnh4X2ly cShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCX4wCiB9OwogCisjZGVmaW5lIEE2WFhfTExDX05VTV9H UFVfU0NJRFMJCTUKKyNkZWZpbmUgQTZYWF9HUFVfTExDX1NDSURfTlVNX0JJVFMJNQorCisjZGVm aW5lIEE2WFhfR1BVX0xMQ19TQ0lEX01BU0sgXAorCSgoMSA8PCAoQTZYWF9MTENfTlVNX0dQVV9T Q0lEUyAqIEE2WFhfR1BVX0xMQ19TQ0lEX05VTV9CSVRTKSkgLSAxKQorCisjZGVmaW5lIEE2WFhf R1BVSFRXX0xMQ19TQ0lEX1NISUZUCTI1CisjZGVmaW5lIEE2WFhfR1BVSFRXX0xMQ19TQ0lEX01B U0sgXAorCSgoKDEgPDwgQTZYWF9HUFVfTExDX1NDSURfTlVNX0JJVFMpIC0gMSkgPDwgQTZYWF9H UFVIVFdfTExDX1NDSURfU0hJRlQpCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhNnh4X2dwdV9jeF9y bXcoc3RydWN0IGE2eHhfbGxjICpsbGMsCisJdTMyIHJlZywgdTMyIG1hc2ssIHUzMiBvcikKK3sK Kwltc21fcm13KGxsYy0+bW1pbyArIChyZWcgPDwgMiksIG1hc2ssIG9yKTsKK30KKworc3RhdGlj IHZvaWQgYTZ4eF9sbGNfZGVhY3RpdmF0ZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQoreworCXN0cnVj dCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOworCXN0cnVjdCBh Nnh4X2dwdSAqYTZ4eF9ncHUgPSB0b19hNnh4X2dwdShhZHJlbm9fZ3B1KTsKKwlzdHJ1Y3QgYTZ4 eF9sbGMgKmxsYyA9ICZhNnh4X2dwdS0+bGxjOworCisJbGxjY19zbGljZV9kZWFjdGl2YXRlKGxs Yy0+Z3B1X2xsY19zbGljZSk7CisJbGxjY19zbGljZV9kZWFjdGl2YXRlKGxsYy0+Z3B1aHR3X2xs Y19zbGljZSk7Cit9CisKK3N0YXRpYyB2b2lkIGE2eHhfbGxjX2FjdGl2YXRlKHN0cnVjdCBtc21f Z3B1ICpncHUpCit7CisJc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUgPSB0b19hZHJlbm9f Z3B1KGdwdSk7CisJc3RydWN0IGE2eHhfZ3B1ICphNnh4X2dwdSA9IHRvX2E2eHhfZ3B1KGFkcmVu b19ncHUpOworCXN0cnVjdCBhNnh4X2xsYyAqbGxjID0gJmE2eHhfZ3B1LT5sbGM7CisKKwlpZiAo IWxsYy0+bW1pbykKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJZiB0aGUgTExDQ19HUFUgc2xpY2Ug YWN0aXZhdGVkLCBwcm9ncmFtIHRoZSBzdWItY2FjaGUgSUQgZm9yIGFsbAorCSAqIEdQVSBibG9j a3MKKwkgKi8KKwlpZiAoIWxsY2Nfc2xpY2VfYWN0aXZhdGUobGxjLT5ncHVfbGxjX3NsaWNlKSkK KwkJYTZ4eF9ncHVfY3hfcm13KGxsYywKKwkJCQlSRUdfQTZYWF9HUFVfQ1hfTUlTQ19TWVNURU1f Q0FDSEVfQ05UTF8xLAorCQkJCUE2WFhfR1BVX0xMQ19TQ0lEX01BU0ssCisJCQkJKGxsYy0+Y250 bDFfcmVndmFsICYKKwkJCQkgQTZYWF9HUFVfTExDX1NDSURfTUFTSykpOworCisJLyoKKwkgKiBJ ZiB0aGUgTExDQ19HUFVIVFcgc2xpY2UgYWN0aXZhdGVkLCBwcm9ncmFtIHRoZSBzdWItY2FjaGUg SUQgZm9yIHRoZQorCSAqIEdQVSBwYWdldGFibGVzCisJICovCisJaWYgKCFsbGNjX3NsaWNlX2Fj dGl2YXRlKGxsYy0+Z3B1aHR3X2xsY19zbGljZSkpCisJCWE2eHhfZ3B1X2N4X3JtdyhsbGMsCisJ CQkJUkVHX0E2WFhfR1BVX0NYX01JU0NfU1lTVEVNX0NBQ0hFX0NOVExfMSwKKwkJCQlBNlhYX0dQ VUhUV19MTENfU0NJRF9NQVNLLAorCQkJCShsbGMtPmNudGwxX3JlZ3ZhbCAmCisJCQkJIEE2WFhf R1BVSFRXX0xMQ19TQ0lEX01BU0spKTsKKworCS8qIFByb2dyYW0gY2FjaGVhYmlsaXR5IG92ZXJy aWRlcyAqLworCWE2eHhfZ3B1X2N4X3JtdyhsbGMsIFJFR19BNlhYX0dQVV9DWF9NSVNDX1NZU1RF TV9DQUNIRV9DTlRMXzAsIDB4RiwKKwkJbGxjLT5jbnRsMF9yZWd2YWwpOworfQorCit2b2lkIGE2 eHhfbGxjX3NsaWNlc19kZXN0cm95KHN0cnVjdCBhNnh4X2xsYyAqbGxjKQoreworCWlmIChsbGMt Pm1taW8pIHsKKwkJaW91bm1hcChsbGMtPm1taW8pOworCQlsbGMtPm1taW8gPSBOVUxMOworCX0K KworCWxsY2Nfc2xpY2VfcHV0ZChsbGMtPmdwdV9sbGNfc2xpY2UpOworCWxsYy0+Z3B1X2xsY19z bGljZSA9IE5VTEw7CisKKwlsbGNjX3NsaWNlX3B1dGQobGxjLT5ncHVodHdfbGxjX3NsaWNlKTsK KwlsbGMtPmdwdWh0d19sbGNfc2xpY2UgPSBOVUxMOworfQorCitzdGF0aWMgaW50IGE2eHhfbGxj X3NsaWNlc19pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCXN0cnVjdCBhNnh4 X2xsYyAqbGxjKQoreworCWludCBpOworCisJLyogTWFwIHJlZ2lzdGVycyAqLworCWxsYy0+bW1p byA9IG1zbV9pb3JlbWFwKHBkZXYsICJjeF9tZW0iLCAiZ3B1X2N4Iik7CisJaWYgKElTX0VSUihs bGMtPm1taW8pKSB7CisJCWxsYy0+bW1pbyA9IE5VTEw7CisJCXJldHVybiAtMTsKKwl9CisKKwkv KiBHZXQgdGhlIHN5c3RlbSBjYWNoZSBzbGljZSBkZXNjcmlwdG9yIGZvciBHUFUgYW5kIEdQVUhU V3MgKi8KKwlsbGMtPmdwdV9sbGNfc2xpY2UgPSBsbGNjX3NsaWNlX2dldGQoTExDQ19HUFUpOwor CWxsYy0+Z3B1aHR3X2xsY19zbGljZSA9IGxsY2Nfc2xpY2VfZ2V0ZChMTENDX0dQVUhUVyk7CisJ aWYgKElTX0VSUihsbGMtPmdwdV9sbGNfc2xpY2UpICYmIElTX0VSUihsbGMtPmdwdWh0d19sbGNf c2xpY2UpKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIFNldHVwIEdQVSBzeXN0ZW0gY2FjaGUg Q05UTDAgYW5kIENOVEwxIHJlZ2lzdGVyIHZhbHVlcy4KKwkgKiBUaGVzZSB2YWx1ZXMgd2lsbCBi ZSBwcm9ncmFtbWVkIGV2ZXJ5dGltZSBHUFUgY29tZXMgb3V0CisJICogb2YgcG93ZXIgY29sbGFw c2UgYXMgdGhlc2UgYXJlIG5vbi1yZXRlbnRpb24gcmVnaXN0ZXJzLgorCSAqLworCisJLyoKKwkg KiBDTlRMMCBwcm92aWRlcyBvcHRpb25zIHRvIG92ZXJyaWRlIHRoZSBzZXR0aW5ncyBmb3IgdGhl CisJICogcmVhZCBhbmQgd3JpdGUgYWxsb2NhdGlvbiBwb2xpY2llcyBmb3IgdGhlIExMQy4gVGhl c2UKKwkgKiBvdmVycmlkZXMgYXJlIGdsb2JhbCBmb3IgYWxsIG1lbW9yeSB0cmFuc2FjdGlvbnMg ZnJvbQorCSAqIHRoZSBHUFUuCisJICoKKwkgKiAweDM6IHJlYWQtbm8tYWxsb2Mtb3ZlcnJpZGRl biA9IDAKKwkgKiAgICAgIHJlYWQtbm8tYWxsb2MgPSAwIC0gQWxsb2NhdGUgbGluZXMgb24gcmVh ZCBtaXNzCisJICogICAgICB3cml0ZS1uby1hbGxvYy1vdmVycmlkZGVuID0gMQorCSAqICAgICAg d3JpdGUtbm8tYWxsb2MgPSAxIC0gRG8gbm90IGFsbG9jYXRlcyBsaW5lcyBvbiB3cml0ZSBtaXNz CisJICovCisJbGxjLT5jbnRsMF9yZWd2YWwgPSAweDAzOworCisJLyoKKwkgKiBDTlRMMSBpcyB1 c2VkIHRvIHNwZWNpZnkgU0NJRCBmb3IgKENQLCBUUCwgVkZELCBDQ1UgYW5kIFVCV0MKKwkgKiBG TEFHIGNhY2hlKSBHUFUgYmxvY2tzLiBUaGlzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIGFsb25nIHdp dGgKKwkgKiB0aGUgYWRkcmVzcyBmb3IgYW55IG1lbW9yeSB0cmFuc2FjdGlvbiBmcm9tIEdQVSB0 byBpZGVudGlmeQorCSAqIHRoZSBzdWItY2FjaGUgZm9yIHRoYXQgdHJhbnNhY3Rpb24uCisJICoK KwkgKiBDdXJyZW50bHkgdGhlcmUgaXMgb25seSBvbmUgU0NJRCBhbGxvY2F0ZWQgZm9yIGFsbCBH UFUgYmxvY2tzCisJICogSGVuY2Ugc2V0IHNhbWUgU0NJRCBmb3IgYWxsIHRoZSBibG9ja3MuCisJ ICovCisKKwlpZiAoIUlTX0VSUihsbGMtPmdwdV9sbGNfc2xpY2UpKSB7CisJCXUzMiBncHVfc2Np ZCA9IGxsY2NfZ2V0X3NsaWNlX2lkKGxsYy0+Z3B1X2xsY19zbGljZSk7CisKKwkJZm9yIChpID0g MDsgaSA8IEE2WFhfTExDX05VTV9HUFVfU0NJRFM7IGkrKykKKwkJCWxsYy0+Y250bDFfcmVndmFs IHw9CisJCQkJZ3B1X3NjaWQgPDwgKEE2WFhfR1BVX0xMQ19TQ0lEX05VTV9CSVRTICogaSk7CisJ fQorCisJLyoKKwkgKiBTZXQgU0NJRCBmb3IgR1BVIElPTU1VLiBUaGlzIHdpbGwgYmUgdXNlZCB0 byBhY2Nlc3MKKwkgKiBwYWdlIHRhYmxlcyB0aGF0IGFyZSBjYWNoZWQgaW4gTExDLgorCSAqLwor CWlmICghSVNfRVJSKGxsYy0+Z3B1aHR3X2xsY19zbGljZSkpIHsKKwkJdTMyIGdwdWh0d19zY2lk ID0gbGxjY19nZXRfc2xpY2VfaWQobGxjLT5ncHVodHdfbGxjX3NsaWNlKTsKKworCQlsbGMtPmNu dGwxX3JlZ3ZhbCB8PQorCQkJZ3B1aHR3X3NjaWQgPDwgQTZYWF9HUFVIVFdfTExDX1NDSURfU0hJ RlQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgYTZ4eF9wbV9yZXN1bWUoc3Ry dWN0IG1zbV9ncHUgKmdwdSkKIHsKIAlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSA9IHRv X2FkcmVub19ncHUoZ3B1KTsKQEAgLTY4Niw2ICs4MzIsOSBAQCBzdGF0aWMgaW50IGE2eHhfcG1f cmVzdW1lKHN0cnVjdCBtc21fZ3B1ICpncHUpCiAKIAltc21fZ3B1X3Jlc3VtZV9kZXZmcmVxKGdw dSk7CiAKKwkvKiBBY3RpdmF0ZSBMTEMgc2xpY2VzICovCisJYTZ4eF9sbGNfYWN0aXZhdGUoZ3B1 KTsKKwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTY5NCw2ICs4NDMsOSBAQCBzdGF0aWMgaW50IGE2 eHhfcG1fc3VzcGVuZChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCXN0cnVjdCBhZHJlbm9fZ3B1ICph ZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOwogCXN0cnVjdCBhNnh4X2dwdSAqYTZ4eF9n cHUgPSB0b19hNnh4X2dwdShhZHJlbm9fZ3B1KTsKIAorCS8qIERlYWN0aXZhdGUgTExDIHNsaWNl cyAqLworCWE2eHhfbGxjX2RlYWN0aXZhdGUoZ3B1KTsKKwogCWRldmZyZXFfc3VzcGVuZF9kZXZp Y2UoZ3B1LT5kZXZmcmVxLmRldmZyZXEpOwogCiAJLyoKQEAgLTc1Myw2ICs5MDUsOCBAQCBzdGF0 aWMgdm9pZCBhNnh4X2Rlc3Ryb3koc3RydWN0IG1zbV9ncHUgKmdwdSkKIAkJZHJtX2dlbV9vYmpl Y3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoYTZ4eF9ncHUtPnNxZV9ibyk7CiAJfQogCisJYTZ4eF9s bGNfc2xpY2VzX2Rlc3Ryb3koJmE2eHhfZ3B1LT5sbGMpOworCiAJYTZ4eF9nbXVfcmVtb3ZlKGE2 eHhfZ3B1KTsKIAogCWFkcmVub19ncHVfY2xlYW51cChhZHJlbm9fZ3B1KTsKQEAgLTgxOSw3ICs5 NzMsMTAgQEAgc3RydWN0IG1zbV9ncHUgKmE2eHhfZ3B1X2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAlhZHJlbm9fZ3B1LT5yZWdpc3RlcnMgPSBhNnh4X3JlZ2lzdGVyczsKIAlhZHJlbm9f Z3B1LT5yZWdfb2Zmc2V0cyA9IGE2eHhfcmVnaXN0ZXJfb2Zmc2V0czsKIAotCXJldCA9IGFkcmVu b19ncHVfaW5pdChkZXYsIHBkZXYsIGFkcmVub19ncHUsICZmdW5jcywgMSwgMCk7CisJcmV0ID0g YTZ4eF9sbGNfc2xpY2VzX2luaXQocGRldiwgJmE2eHhfZ3B1LT5sbGMpOworCisJcmV0ID0gYWRy ZW5vX2dwdV9pbml0KGRldiwgcGRldiwgYWRyZW5vX2dwdSwgJmZ1bmNzLCAxLAorCQkJcmV0ID8g MCA6IE1NVV9GRUFUVVJFX1VTRV9TWVNURU1fQ0FDSEUpOwogCWlmIChyZXQpIHsKIAkJYTZ4eF9k ZXN0cm95KCYoYTZ4eF9ncHUtPmJhc2UuYmFzZSkpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuaCBiL2RyaXZl cnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmgKaW5kZXggNDEyN2RjZS4uODYzNTNlOCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dwdS5oCkBAIC0xMiw2ICsxMiwxNCBAQAog CiBleHRlcm4gYm9vbCBoYW5nX2RlYnVnOwogCitzdHJ1Y3QgYTZ4eF9sbGMgeworCXZvaWQgX19p b21lbSAqbW1pbzsKKwl2b2lkICpncHVfbGxjX3NsaWNlOworCXZvaWQgKmdwdWh0d19sbGNfc2xp Y2U7CisJdTMyIGNudGwwX3JlZ3ZhbDsKKwl1MzIgY250bDFfcmVndmFsOworfTsKKwogc3RydWN0 IGE2eHhfZ3B1IHsKIAlzdHJ1Y3QgYWRyZW5vX2dwdSBiYXNlOwogCkBAIC0yMSw2ICsyOSw3IEBA IHN0cnVjdCBhNnh4X2dwdSB7CiAJc3RydWN0IG1zbV9yaW5nYnVmZmVyICpjdXJfcmluZzsKIAog CXN0cnVjdCBhNnh4X2dtdSBnbXU7CisJc3RydWN0IGE2eHhfbGxjIGxsYzsKIH07CiAKICNkZWZp bmUgdG9fYTZ4eF9ncHUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBhNnh4X2dwdSwgYmFzZSkK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2lvbW11LmMgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9pb21tdS5jCmluZGV4IGU4MGM3OWIuLjY2NjEyYzQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2lvbW11LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9tc21faW9tbXUuYwpAQCAtMzgsNiArMzgsMTYgQEAgc3RhdGljIGludCBtc21faW9tbXVfYXR0 YWNoKHN0cnVjdCBtc21fbW11ICptbXUsIGNvbnN0IGNoYXIgKiBjb25zdCAqbmFtZXMsCiAJCQkg ICAgaW50IGNudCkKIHsKIAlzdHJ1Y3QgbXNtX2lvbW11ICppb21tdSA9IHRvX21zbV9pb21tdSht bXUpOworCWludCBncHVfaHR3X2xsYyA9IDE7CisKKwkvKgorCSAqIFRoaXMgYWxsb3dzIEdQVSB0 byBzZXQgdGhlIGJ1cyBhdHRyaWJ1dGVzIHJlcXVpcmVkCisJICogdG8gdXNlIHN5c3RlbSBjYWNo ZSBvbiBiZWhhbGYgb2YgdGhlIGlvbW11IHBhZ2UgdGFibGUKKwkgKiB3YWxrZXIuCisJICovCisJ aWYgKG1zbV9tbXVfaGFzX2ZlYXR1cmUobW11LCBNTVVfRkVBVFVSRV9VU0VfU1lTVEVNX0NBQ0hF KSkKKwkJaW9tbXVfZG9tYWluX3NldF9hdHRyKGlvbW11LT5kb21haW4sCisJCQkJRE9NQUlOX0FU VFJfVVNFX1NZU19DQUNIRSwgJmdwdV9odHdfbGxjKTsKIAogCXJldHVybiBpb21tdV9hdHRhY2hf ZGV2aWNlKGlvbW11LT5kb21haW4sIG1tdS0+ZGV2KTsKIH0KQEAgLTU2LDYgKzY2LDkgQEAgc3Rh dGljIGludCBtc21faW9tbXVfbWFwKHN0cnVjdCBtc21fbW11ICptbXUsIHVpbnQ2NF90IGlvdmEs CiAJc3RydWN0IG1zbV9pb21tdSAqaW9tbXUgPSB0b19tc21faW9tbXUobW11KTsKIAlzaXplX3Qg cmV0OwogCisJaWYgKG1zbV9tbXVfaGFzX2ZlYXR1cmUobW11LCBNTVVfRkVBVFVSRV9VU0VfU1lT VEVNX0NBQ0hFKSkKKwkJcHJvdCB8PSBJT01NVV9TWVNfQ0FDSEU7CisKIAlyZXQgPSBpb21tdV9t YXBfc2coaW9tbXUtPmRvbWFpbiwgaW92YSwgc2d0LT5zZ2wsIHNndC0+bmVudHMsIHByb3QpOwog CVdBUk5fT04ocmV0IDwgMCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNt X21tdS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fbW11LmgKaW5kZXggOWI5ZjQzZi4uNTI0 NzkwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fbW11LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fbW11LmgKQEAgLTQ5LDYgKzQ5LDkgQEAgc3RydWN0IG1zbV9t bXVfZnVuY3MgewogCWJvb2wgKCppc19kb21haW5fc2VjdXJlKShzdHJ1Y3QgbXNtX21tdSAqbW11 KTsKIH07CiAKKy8qIE1NVSBmZWF0dXJlcyAqLworI2RlZmluZSBNTVVfRkVBVFVSRV9VU0VfU1lT VEVNX0NBQ0hFICgxIDw8IDApCisKIHN0cnVjdCBtc21fbW11IHsKIAljb25zdCBzdHJ1Y3QgbXNt X21tdV9mdW5jcyAqZnVuY3M7CiAJc3RydWN0IGRldmljZSAqZGV2OwotLSAKMS45LjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWls aW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=