From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [PATCH 5/5] drm/msm/A6xx: Add support for using system cache(llc) Date: Fri, 23 Mar 2018 12:49:51 +0530 Message-ID: <1521789591-28628-6-git-send-email-smasetty@codeaurora.org> References: <1521789591-28628-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: <1521789591-28628-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, Sharat Masetty , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhlIGxhc3QgbGV2ZWwgc3lzdGVtIGNhY2hlIGNhbiBiZSBwYXJ0aXRpb25lZCB0byAzMgpkaWZm ZXJlbnQgc2xpY2VzIG9mIHdoaWNoIEdQVSBoYXMgdHdvIHNsaWNlcyBwcmVhbGxvY2F0ZWQuClRo ZSAiZ3B1IiBzbGljZSBpcyB1c2VkIGZvciBjYWNoaW5nIEdQVSBidWZmZXJzIGFuZAp0aGUgImdw dWh0dyIgc2xpY2UgaXMgdXNlZCBmb3IgY2FjaGluZyB0aGUgR1BVIFNNTVUKcGFnZXRhYmxlcy4g IFRoaXMgcGF0Y2ggdGFsa3MgdG8gdGhlIGNvcmUgc3lzdGVtIGNhY2hlCmRyaXZlciB0byBhY3F1 aXJlIHRoZSBzbGljZSBoYW5kbGVzLCBjb25maWd1cmUgdGhlIFNDSUQncwp0byB0aG9zZSBzbGlj ZXMgYW5kIGFjdGl2YXRlcyBhbmQgZGVhY3RpdmF0ZXMgdGhlIHNsaWNlcwp1cG9uIEdQVSBwb3dl ciBjb2xsYXBzZSBhbmQgcmVzdG9yZS4KClNvbWUgc3VwcG9ydCBmcm9tIHRoZSBJT01NVSBkcml2 ZXIgaXMgYWxzbyBuZWVkZWQgdG8KbWFrZSB1c2Ugb2YgdGhlIHN5c3RlbSBjYWNoZS4gSU9NTVVf VVBTVFJFQU1fSElOVCBpcwphIGJ1ZmZlciBwcm90ZWN0aW9uIGZsYWcgd2hpY2ggZW5hYmxlcyBj YWNoaW5nIEdQVSBkYXRhCmJ1ZmZlcnMgaW4gdGhlIHN5c3RlbSBjYWNoZSB3aXRoIG1lbW9yeSBh dHRyaWJ1dGVzIHN1Y2gKYXMgb3V0ZXIgY2FjaGVhYmxlLCByZWFkLWFsbG9jYXRlLCB3cml0ZS1h bGxvY2F0ZSBmb3IgYnVmZmVycy4KVGhlIEdQVSB0aGVuIGhhcyB0aGUgYWJpbGl0eSB0byBvdmVy cmlkZSBhIGZldyBjYWNoZWFiaWxpdHkKcGFyYW1ldGVycyB3aGljaCBpdCBkb2VzIHRvIG92ZXJy aWRlIHdyaXRlLWFsbG9jYXRlIHRvCndyaXRlLW5vLWFsbG9jYXRlIGFzIHRoZSBHUFUgaGFyZHdh cmUgZG9lcyBub3QgYmVuZWZpdCBtdWNoCmZyb20gaXQuClNpbWlsYXJseSBET01BSU5fQVRUUl9V U0VfVVBTVFJFQU1fSElOVCBpcyBhbm90aGVyIGRvbWFpbiBsZXZlbAphdHRyaWJ1dGUgdXNlZCBi eSB0aGUgSU9NTVUgZHJpdmVyIHRvIHNldCB0aGUgcmlnaHQgYXR0cmlidXRlcwp0byBjYWNoZSB0 aGUgaGFyZHdhcmUgcGFnZXRhYmxlcyBpbnRvIHRoZSBzeXN0ZW0gY2FjaGUuCgpTaWduZWQtb2Zm LWJ5OiBTaGFyYXQgTWFzZXR0eSA8c21hc2V0dHlAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuYyB8IDE2MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dwdS5oIHwg ICA5ICsrCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9pb21tdS5jICAgICAgIHwgIDEzICsrKwog ZHJpdmVycy9ncHUvZHJtL21zbS9tc21fbW11LmggICAgICAgICB8ICAgMyArCiA0IGZpbGVzIGNo YW5nZWQsIDE4NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2E2eHhfZ3B1LmMKaW5kZXggYmQ1MDY3NC4uZTQ1NTRlYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2FkcmVuby9hNnh4X2dwdS5jCkBAIC0xMyw2ICsxMyw3IEBACiAKICNpbmNsdWRlIDxsaW51 eC9xY29tX3NjbS5oPgogI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL21kdF9sb2FkZXIuaD4KKyNp bmNsdWRlIDxsaW51eC9zb2MvcWNvbS9sbGNjLXFjb20uaD4KIAogI2luY2x1ZGUgIm1zbV9nZW0u aCIKICNpbmNsdWRlICJtc21fbW11LmgiCkBAIC05MTMsNiArOTE0LDE1NCBAQCBzdGF0aWMgaXJx cmV0dXJuX3QgYTZ4eF9pcnEoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAl+MAogfTsKIAorI2RlZmlu ZSBBNlhYX0xMQ19OVU1fR1BVX1NDSURTCQk1CisjZGVmaW5lIEE2WFhfR1BVX0xMQ19TQ0lEX05V TV9CSVRTCTUKKworI2RlZmluZSBBNlhYX0dQVV9MTENfU0NJRF9NQVNLIFwKKwkoKDEgPDwgKEE2 WFhfTExDX05VTV9HUFVfU0NJRFMgKiBBNlhYX0dQVV9MTENfU0NJRF9OVU1fQklUUykpIC0gMSkK KworI2RlZmluZSBBNlhYX0dQVUhUV19MTENfU0NJRF9TSElGVAkyNQorI2RlZmluZSBBNlhYX0dQ VUhUV19MTENfU0NJRF9NQVNLIFwKKwkoKCgxIDw8IEE2WFhfR1BVX0xMQ19TQ0lEX05VTV9CSVRT KSAtIDEpIDw8IEE2WFhfR1BVSFRXX0xMQ19TQ0lEX1NISUZUKQorCitzdGF0aWMgaW5saW5lIHZv aWQgYTZ4eF9ncHVfY3hfcm13KHN0cnVjdCBhNnh4X2xsYyAqbGxjLAorCXUzMiByZWcsIHUzMiBt YXNrLCB1MzIgb3IpCit7CisJbXNtX3JtdyhsbGMtPm1taW8gKyAocmVnIDw8IDIpLCBtYXNrLCBv cik7Cit9CisKK3N0YXRpYyB2b2lkIGE2eHhfbGxjX2RlYWN0aXZhdGUoc3RydWN0IG1zbV9ncHUg KmdwdSkKK3sKKwlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSA9IHRvX2FkcmVub19ncHUo Z3B1KTsKKwlzdHJ1Y3QgYTZ4eF9ncHUgKmE2eHhfZ3B1ID0gdG9fYTZ4eF9ncHUoYWRyZW5vX2dw dSk7CisJc3RydWN0IGE2eHhfbGxjICpsbGMgPSAmYTZ4eF9ncHUtPmxsYzsKKworCWxsY2Nfc2xp Y2VfZGVhY3RpdmF0ZShsbGMtPmdwdV9sbGNfc2xpY2UpOworCWxsY2Nfc2xpY2VfZGVhY3RpdmF0 ZShsbGMtPmdwdWh0d19sbGNfc2xpY2UpOworfQorCitzdGF0aWMgdm9pZCBhNnh4X2xsY19hY3Rp dmF0ZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQoreworCXN0cnVjdCBhZHJlbm9fZ3B1ICphZHJlbm9f Z3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOworCXN0cnVjdCBhNnh4X2dwdSAqYTZ4eF9ncHUgPSB0 b19hNnh4X2dwdShhZHJlbm9fZ3B1KTsKKwlzdHJ1Y3QgYTZ4eF9sbGMgKmxsYyA9ICZhNnh4X2dw dS0+bGxjOworCisJaWYgKCFsbGMtPm1taW8pCisJCXJldHVybjsKKworCWlmIChsbGMtPmdwdV9s bGNfc2xpY2UpCisJCWlmICghbGxjY19zbGljZV9hY3RpdmF0ZShsbGMtPmdwdV9sbGNfc2xpY2Up KQorCQkJLyogUHJvZ3JhbSB0aGUgc3ViLWNhY2hlIElEIGZvciBhbGwgR1BVIGJsb2NrcyAqLwor CQkJYTZ4eF9ncHVfY3hfcm13KGxsYywKKwkJCQlSRUdfQTZYWF9HUFVfQ1hfTUlTQ19TWVNURU1f Q0FDSEVfQ05UTF8xLAorCQkJCUE2WFhfR1BVX0xMQ19TQ0lEX01BU0ssCisJCQkJKGxsYy0+Y250 bDFfcmVndmFsICYKKwkJCQkJQTZYWF9HUFVfTExDX1NDSURfTUFTSykpOworCisJaWYgKGxsYy0+ Z3B1aHR3X2xsY19zbGljZSkKKwkJaWYgKCFsbGNjX3NsaWNlX2FjdGl2YXRlKGxsYy0+Z3B1aHR3 X2xsY19zbGljZSkpCisJCQkvKiBQcm9ncmFtIHRoZSBzdWItY2FjaGUgSUQgZm9yIEdQVSBwYWdl dGFibGVzICovCisJCQlhNnh4X2dwdV9jeF9ybXcobGxjLAorCQkJCVJFR19BNlhYX0dQVV9DWF9N SVNDX1NZU1RFTV9DQUNIRV9DTlRMXzEsCisJCQkJQTZYWF9HUFVIVFdfTExDX1NDSURfTUFTSywK KwkJCQkobGxjLT5jbnRsMV9yZWd2YWwgJgorCQkJCQlBNlhYX0dQVUhUV19MTENfU0NJRF9NQVNL KSk7CisKKwkvKiBQcm9ncmFtIGNhY2hlYWJpbGl0eSBvdmVycmlkZXMgKi8KKwlhNnh4X2dwdV9j eF9ybXcobGxjLCBSRUdfQTZYWF9HUFVfQ1hfTUlTQ19TWVNURU1fQ0FDSEVfQ05UTF8wLCAweEYs CisJCWxsYy0+Y250bDBfcmVndmFsKTsKK30KKwordm9pZCBhNnh4X2xsY19zbGljZXNfZGVzdHJv eShzdHJ1Y3QgYTZ4eF9sbGMgKmxsYykKK3sKKwlpZiAobGxjLT5tbWlvKSB7CisJCWlvdW5tYXAo bGxjLT5tbWlvKTsKKwkJbGxjLT5tbWlvID0gTlVMTDsKKwl9CisKKwlsbGNjX3NsaWNlX3B1dGQo bGxjLT5ncHVfbGxjX3NsaWNlKTsKKwlsbGMtPmdwdV9sbGNfc2xpY2UgPSBOVUxMOworCisJbGxj Y19zbGljZV9wdXRkKGxsYy0+Z3B1aHR3X2xsY19zbGljZSk7CisJbGxjLT5ncHVodHdfbGxjX3Ns aWNlID0gTlVMTDsKK30KKworc3RhdGljIGludCBhNnh4X2xsY19zbGljZXNfaW5pdChzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQlzdHJ1Y3QgYTZ4eF9sbGMgKmxsYykKK3sKKwlpbnQg aTsKKworCS8qIEdldCB0aGUgc3lzdGVtIGNhY2hlIHNsaWNlIGRlc2NyaXB0b3IgZm9yIEdQVSBh bmQgR1BVSFRXcyAqLworCWxsYy0+Z3B1X2xsY19zbGljZSA9IGxsY2Nfc2xpY2VfZ2V0ZCgmcGRl di0+ZGV2LCAiZ3B1Iik7CisJaWYgKElTX0VSUihsbGMtPmdwdV9sbGNfc2xpY2UpKQorCQlsbGMt PmdwdV9sbGNfc2xpY2UgPSBOVUxMOworCisJbGxjLT5ncHVodHdfbGxjX3NsaWNlID0gbGxjY19z bGljZV9nZXRkKCZwZGV2LT5kZXYsICJncHVodHciKTsKKwlpZiAoSVNfRVJSKGxsYy0+Z3B1aHR3 X2xsY19zbGljZSkpCisJCWxsYy0+Z3B1aHR3X2xsY19zbGljZSA9IE5VTEw7CisKKwlpZiAobGxj LT5ncHVfbGxjX3NsaWNlID09IE5VTEwgJiYgbGxjLT5ncHVodHdfbGxjX3NsaWNlID09IE5VTEwp CisJCXJldHVybiAtMTsKKworCS8qIE1hcCByZWdpc3RlcnMgKi8KKwlsbGMtPm1taW8gPSBtc21f aW9yZW1hcChwZGV2LCAiY3hfbWVtIiwgImdwdV9jeCIpOworCWlmIChJU19FUlIobGxjLT5tbWlv KSkgeworCQlsbGMtPm1taW8gPSBOVUxMOworCQlhNnh4X2xsY19zbGljZXNfZGVzdHJveShsbGMp OworCQlyZXR1cm4gLTE7CisJfQorCisJLyoKKwkgKiBTZXR1cCBHUFUgc3lzdGVtIGNhY2hlIENO VEwwIGFuZCBDTlRMMSByZWdpc3RlciB2YWx1ZXMuCisJICogVGhlc2UgdmFsdWVzIHdpbGwgYmUg cHJvZ3JhbW1lZCBldmVyeXRpbWUgR1BVIGNvbWVzIG91dAorCSAqIG9mIHBvd2VyIGNvbGxhcHNl IGFzIHRoZXNlIGFyZSBub24tcmV0ZW50aW9uIHJlZ2lzdGVycy4KKwkgKi8KKworCS8qCisJICog Q05UTDAgcHJvdmlkZXMgb3B0aW9ucyB0byBvdmVycmlkZSB0aGUgc2V0dGluZ3MgZm9yIHRoZQor CSAqIHJlYWQgYW5kIHdyaXRlIGFsbG9jYXRpb24gcG9saWNpZXMgZm9yIHRoZSBMTEMuIFRoZXNl CisJICogb3ZlcnJpZGVzIGFyZSBnbG9iYWwgZm9yIGFsbCBtZW1vcnkgdHJhbnNhY3Rpb25zIGZy b20KKwkgKiB0aGUgR1BVLgorCSAqCisJICogMHgzOiByZWFkLW5vLWFsbG9jLW92ZXJyaWRkZW4g PSAwCisJICogICAgICByZWFkLW5vLWFsbG9jID0gMCAtIEFsbG9jYXRlIGxpbmVzIG9uIHJlYWQg bWlzcworCSAqICAgICAgd3JpdGUtbm8tYWxsb2Mtb3ZlcnJpZGRlbiA9IDEKKwkgKiAgICAgIHdy aXRlLW5vLWFsbG9jID0gMSAtIERvIG5vdCBhbGxvY2F0ZXMgbGluZXMgb24gd3JpdGUgbWlzcwor CSAqLworCWxsYy0+Y250bDBfcmVndmFsID0gMHgwMzsKKworCS8qCisJICogQ05UTDEgaXMgdXNl ZCB0byBzcGVjaWZ5IFNDSUQgZm9yIChDUCwgVFAsIFZGRCwgQ0NVIGFuZCBVQldDCisJICogRkxB RyBjYWNoZSkgR1BVIGJsb2Nrcy4gVGhpcyB2YWx1ZSB3aWxsIGJlIHBhc3NlZCBhbG9uZyB3aXRo CisJICogdGhlIGFkZHJlc3MgZm9yIGFueSBtZW1vcnkgdHJhbnNhY3Rpb24gZnJvbSBHUFUgdG8g aWRlbnRpZnkKKwkgKiB0aGUgc3ViLWNhY2hlIGZvciB0aGF0IHRyYW5zYWN0aW9uLgorCSAqCisJ ICogQ3VycmVudGx5IHRoZXJlIGlzIG9ubHkgb25lIFNDSUQgYWxsb2NhdGVkIGZvciBhbGwgR1BV IGJsb2NrcworCSAqIEhlbmNlIHNldCBzYW1lIFNDSUQgZm9yIGFsbCB0aGUgYmxvY2tzLgorCSAq LworCisJaWYgKGxsYy0+Z3B1X2xsY19zbGljZSkgeworCQl1MzIgZ3B1X3NjaWQgPSBsbGNjX2dl dF9zbGljZV9pZChsbGMtPmdwdV9sbGNfc2xpY2UpOworCisJCWZvciAoaSA9IDA7IGkgPCBBNlhY X0xMQ19OVU1fR1BVX1NDSURTOyBpKyspCisJCQlsbGMtPmNudGwxX3JlZ3ZhbCB8PQorCQkJCWdw dV9zY2lkIDw8IChBNlhYX0dQVV9MTENfU0NJRF9OVU1fQklUUyAqIGkpOworCX0KKworCS8qCisJ ICogU2V0IFNDSUQgZm9yIEdQVSBJT01NVS4gVGhpcyB3aWxsIGJlIHVzZWQgdG8gYWNjZXNzCisJ ICogcGFnZSB0YWJsZXMgdGhhdCBhcmUgY2FjaGVkIGluIExMQy4KKwkgKi8KKwlpZiAobGxjLT5n cHVodHdfbGxjX3NsaWNlKSB7CisJCXUzMiBncHVodHdfc2NpZCA9IGxsY2NfZ2V0X3NsaWNlX2lk KGxsYy0+Z3B1aHR3X2xsY19zbGljZSk7CisKKwkJbGxjLT5jbnRsMV9yZWd2YWwgfD0KKwkJCWdw dWh0d19zY2lkIDw8IEE2WFhfR1BVSFRXX0xMQ19TQ0lEX1NISUZUOworCX0KKworCXJldHVybiAw OworfQorCiBzdGF0aWMgaW50IGE2eHhfcG1fcmVzdW1lKHN0cnVjdCBtc21fZ3B1ICpncHUpCiB7 CiAJc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUgPSB0b19hZHJlbm9fZ3B1KGdwdSk7CkBA IC05MjMsNiArMTA3Miw5IEBAIHN0YXRpYyBpbnQgYTZ4eF9wbV9yZXN1bWUoc3RydWN0IG1zbV9n cHUgKmdwdSkKIAogCWdwdS0+bmVlZHNfaHdfaW5pdCA9IHRydWU7CiAKKwkvKiBBY3RpdmF0ZSBM TEMgc2xpY2VzICovCisJYTZ4eF9sbGNfYWN0aXZhdGUoZ3B1KTsKKwogCXJldHVybiByZXQ7CiB9 CiAKQEAgLTkzMSw2ICsxMDgzLDkgQEAgc3RhdGljIGludCBhNnh4X3BtX3N1c3BlbmQoc3RydWN0 IG1zbV9ncHUgKmdwdSkKIAlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSA9IHRvX2FkcmVu b19ncHUoZ3B1KTsKIAlzdHJ1Y3QgYTZ4eF9ncHUgKmE2eHhfZ3B1ID0gdG9fYTZ4eF9ncHUoYWRy ZW5vX2dwdSk7CiAKKwkvKiBEZWFjdGl2YXRlIExMQyBzbGljZXMgKi8KKwlhNnh4X2xsY19kZWFj dGl2YXRlKGdwdSk7CisKIAkvKgogCSAqIE1ha2Ugc3VyZSB0aGUgR01VIGlzIGlkbGUgYmVmb3Jl IGNvbnRpbnVpbmcgKGJlY2F1c2Ugc29tZSB0cmFuc2l0aW9ucwogCSAqIG1heSB1c2UgVkJJRgpA QCAtOTkzLDYgKzExNDgsOCBAQCBzdGF0aWMgdm9pZCBhNnh4X2Rlc3Ryb3koc3RydWN0IG1zbV9n cHUgKmdwdSkKIAkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoYTZ4eF9ncHUt PnNxZV9ibyk7CiAJfQogCisJYTZ4eF9sbGNfc2xpY2VzX2Rlc3Ryb3koJmE2eHhfZ3B1LT5sbGMp OworCiAJYTZ4eF9nbXVfcmVtb3ZlKGE2eHhfZ3B1KTsKIAogCWFkcmVub19ncHVfY2xlYW51cChh ZHJlbm9fZ3B1KTsKQEAgLTEwNDAsNyArMTE5NywxMCBAQCBzdHJ1Y3QgbXNtX2dwdSAqYTZ4eF9n cHVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWFkcmVub19ncHUtPnJlZ2lzdGVycyA9 IGE2eHhfcmVnaXN0ZXJzOwogCWFkcmVub19ncHUtPnJlZ19vZmZzZXRzID0gYTZ4eF9yZWdpc3Rl cl9vZmZzZXRzOwogCi0JcmV0ID0gYWRyZW5vX2dwdV9pbml0KGRldiwgcGRldiwgYWRyZW5vX2dw dSwgJmZ1bmNzLCA0LCAwKTsKKwlyZXQgPSBhNnh4X2xsY19zbGljZXNfaW5pdChwZGV2LCAmYTZ4 eF9ncHUtPmxsYyk7CisKKwlyZXQgPSBhZHJlbm9fZ3B1X2luaXQoZGV2LCBwZGV2LCBhZHJlbm9f Z3B1LCAmZnVuY3MsIDQsCisJCQlyZXQgPyAwIDogTU1VX0ZFQVRVUkVfVVNFX1NZU1RFTV9DQUNI RSk7CiAJaWYgKHJldCkgewogCQlhNnh4X2Rlc3Ryb3koJihhNnh4X2dwdS0+YmFzZS5iYXNlKSk7 CiAJCXJldHVybiBFUlJfUFRSKHJldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2FkcmVuby9hNnh4X2dwdS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUu aAppbmRleCAyMWFiNzAxLi4zOTJjNDI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2FkcmVuby9hNnh4X2dwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhf Z3B1LmgKQEAgLTIxLDYgKzIxLDE0IEBACiAKIGV4dGVybiBib29sIGhhbmdfZGVidWc7CiAKK3N0 cnVjdCBhNnh4X2xsYyB7CisJdm9pZCBfX2lvbWVtICptbWlvOworCXZvaWQgKmdwdV9sbGNfc2xp Y2U7CisJdm9pZCAqZ3B1aHR3X2xsY19zbGljZTsKKwl1MzIgY250bDBfcmVndmFsOworCXUzMiBj bnRsMV9yZWd2YWw7Cit9OworCiBzdHJ1Y3QgYTZ4eF9ncHUgewogCXN0cnVjdCBhZHJlbm9fZ3B1 IGJhc2U7CiAKQEAgLTQ2LDYgKzU0LDcgQEAgc3RydWN0IGE2eHhfZ3B1IHsKIAl1aW50NjRfdCBz Y3JhdGNoX2lvdmE7CiAKIAlzdHJ1Y3QgYTZ4eF9nbXUgZ211OworCXN0cnVjdCBhNnh4X2xsYyBs bGM7CiB9OwogCiAjZGVmaW5lIHRvX2E2eHhfZ3B1KHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3Qg YTZ4eF9ncHUsIGJhc2UpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9pb21t dS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21faW9tbXUuYwppbmRleCAxYWI2MjliLi42YzAz ZWRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9pb21tdS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2lvbW11LmMKQEAgLTM5LDYgKzM5LDE2IEBAIHN0YXRpYyBp bnQgbXNtX2lvbW11X2F0dGFjaChzdHJ1Y3QgbXNtX21tdSAqbW11LCBjb25zdCBjaGFyICogY29u c3QgKm5hbWVzLAogewogCXN0cnVjdCBtc21faW9tbXUgKmlvbW11ID0gdG9fbXNtX2lvbW11KG1t dSk7CiAJaW50IHJldDsKKwlpbnQgZ3B1X2h0d19sbGMgPSAxOworCisJLyoKKwkgKiBUaGlzIGFs bG93cyBHUFUgdG8gc2V0IHRoZSBidXMgYXR0cmlidXRlcyByZXF1aXJlZAorCSAqIHRvIHVzZSBz eXN0ZW0gY2FjaGUgb24gYmVoYWxmIG9mIHRoZSBpb21tdSBwYWdlIHRhYmxlCisJICogd2Fsa2Vy LgorCSAqLworCWlmIChtc21fbW11X2hhc19mZWF0dXJlKG1tdSwgTU1VX0ZFQVRVUkVfVVNFX1NZ U1RFTV9DQUNIRSkpCisJCWlvbW11X2RvbWFpbl9zZXRfYXR0cihpb21tdS0+ZG9tYWluLAorCQkJ CURPTUFJTl9BVFRSX1VTRV9VUFNUUkVBTV9ISU5ULCAmZ3B1X2h0d19sbGMpOwogCiAJcG1fcnVu dGltZV9nZXRfc3VwcGxpZXJzKG1tdS0+ZGV2KTsKIAlyZXQgPSBpb21tdV9hdHRhY2hfZGV2aWNl KGlvbW11LT5kb21haW4sIG1tdS0+ZGV2KTsKQEAgLTYzLDYgKzczLDkgQEAgc3RhdGljIGludCBt c21faW9tbXVfbWFwKHN0cnVjdCBtc21fbW11ICptbXUsIHVpbnQ2NF90IGlvdmEsCiAJc3RydWN0 IG1zbV9pb21tdSAqaW9tbXUgPSB0b19tc21faW9tbXUobW11KTsKIAlzaXplX3QgcmV0OwogCisJ aWYgKG1zbV9tbXVfaGFzX2ZlYXR1cmUobW11LCBNTVVfRkVBVFVSRV9VU0VfU1lTVEVNX0NBQ0hF KSkKKwkJcHJvdCB8PSBJT01NVV9VU0VfVVBTVFJFQU1fSElOVDsKKwogCXBtX3J1bnRpbWVfZ2V0 X3N1cHBsaWVycyhtbXUtPmRldik7CiAJcmV0ID0gaW9tbXVfbWFwX3NnKGlvbW11LT5kb21haW4s IGlvdmEsIHNndC0+c2dsLCBzZ3QtPm5lbnRzLCBwcm90KTsKIAlwbV9ydW50aW1lX3B1dF9zdXBw bGllcnMobW11LT5kZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fbW11 LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9tbXUuaAppbmRleCA4NWRmNzhkLi4yNTdiZGVh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9tbXUuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9tbXUuaApAQCAtMzAsNiArMzAsOSBAQCBzdHJ1Y3QgbXNtX21tdV9m dW5jcyB7CiAJdm9pZCAoKmRlc3Ryb3kpKHN0cnVjdCBtc21fbW11ICptbXUpOwogfTsKIAorLyog TU1VIGZlYXR1cmVzICovCisjZGVmaW5lIE1NVV9GRUFUVVJFX1VTRV9TWVNURU1fQ0FDSEUgKDEg PDwgMCkKKwogc3RydWN0IG1zbV9tbXUgewogCWNvbnN0IHN0cnVjdCBtc21fbW11X2Z1bmNzICpm dW5jczsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVl ZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==