From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zeng, Oak" Subject: [PATCH 3/5] drm/amdkfd: Postpone memory mapping flags calculation to mapping time Date: Fri, 9 Aug 2019 02:15:39 +0000 Message-ID: <1565316926-19516-3-git-send-email-Oak.Zeng@amd.com> References: <1565316926-19516-1-git-send-email-Oak.Zeng@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1565316926-19516-1-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Kuehling, Felix" , "Zeng, Oak" , "Koenig, Christian" , "Keely, Sean" U29tZSBtYXBwaW5nIGZsYWdzIGFyZSBkZWNpZGVkIGJ5IG1lbW9yeSBtYXBwaW5nIGRlc3RpbmF0 aW9uIHdoaWNoIGlzIG5vdAprbm93IGF0IG1lbW9yeSBvYmplY3QgYWxsb2NhdGlvbiB0aW1lLiBT byBpdCBpcyByZWFzb25hYmxlIHRvIGRlY2lkZSBtZW1vcnkKbWFwcGluZyBmbGFncyBhdCBtYXBw aW5nIHRpbWUsIGluc3RlYWQgb2YgYWxsb2MgdGltZS4gUmVjb3JkIG1lbW9yeSBhbGxvY2F0aW9u CmZsYWdzIGR1cmluZyBhbGxvY2F0aW9uIHRpbWUgYW5kIGNhbGN1bGF0ZSBtYXBwaW5nIGZsYWdz IGR1cmluZyBtZW1vcnkgbWFwcGluZwp0aW1lLgoKQWxzbyBtYWRlIHRoZSBtZW1vcnkgbWFwcGlu ZyBmbGFnZSBjYWxjdWxhdGlvbiB0byBiZSBhc2ljLXNwZWNpZmljLCBiZWNhdXNlCmRpZmZlcmVu dCBhc2ljIGNhbiBoYXZlIGRpZmZlcmVudCBtYXBwaW5nIHNjaGVtZS4KClRoZSBuZXcgbWVtb3J5 IG1hcHBpbmcgZmxhZyBpcyBkZWNpZGVkIGJ5IGJvdGggbWVtb3J5IGFsbG9jYXRpb24gZmxhZ3Mg YW5kCndoZXRoZXIgdGhlIG1lbW9yeSBtYXBwaW5nIGlzIHRvIGEgcmVtb3RlIGRldmljZS4KClRo aXMgaXMgcHJlcGFyYXRpb24gd29yayB0byBpbnRyb2R1Y2UgbW9yZSBzb3BoaXN0aWNhdGVkIG1h cHBpbmcgc2NoZW1lLgoKQ2hhbmdlLUlkOiBJOThlN2M0N2Q4NTA1ODVhZDdmMGE5ZTExNjE3Yzky YjdhOWFjZWQzYgpTaWduZWQtb2ZmLWJ5OiBPYWsgWmVuZyA8T2FrLlplbmdAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmggICAgICAgfCAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgfCAxNiAr KysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ21jLmgg ICAgICAgICAgfCAgNCArKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjEwXzAu YyAgICAgICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ21jX3Y2XzAuYyAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYyAgICAgICAgICAgIHwgMjAgKysr KysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OF8wLmMg ICAgICAgICAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ21jX3Y5XzAuYyAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKysrKyst CiA4IGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmggYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmgKaW5kZXggZTUxOWRmMy4u MDI2NDc1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Ft ZGtmZC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuaApA QCAtNTgsNiArNTgsNyBAQCBzdHJ1Y3Qga2dkX21lbSB7CiAJdWludDY0X3QgdmE7CiAKIAl1aW50 MzJfdCBtYXBwaW5nX2ZsYWdzOworCXVpbnQzMl90IGFsbG9jX2ZsYWdzOwogCiAJYXRvbWljX3Qg aW52YWxpZDsKIAlzdHJ1Y3QgYW1ka2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jCmluZGV4 IDQ0YTUyYjAuLmY5MWVmNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkX2dwdXZtLmMKQEAgLTEwODEsNyArMTA4MSw2IEBAIGludCBhbWRncHVfYW1k a2ZkX2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCiAJaW50IGJ5dGVfYWxpZ247CiAJdTMyIGRv bWFpbiwgYWxsb2NfZG9tYWluOwogCXU2NCBhbGxvY19mbGFnczsKLQl1aW50MzJfdCBtYXBwaW5n X2ZsYWdzOwogCWludCByZXQ7CiAKIAkvKgpAQCAtMTE0MywxNiArMTE0Miw3IEBAIGludCBhbWRn cHVfYW1ka2ZkX2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCiAJCQlhZGV2LT5hc2ljX3R5cGUg IT0gQ0hJUF9WRUdBTSkgPwogCQkJVklfQk9fU0laRV9BTElHTiA6IDE7CiAKLQltYXBwaW5nX2Zs YWdzID0gQU1ER1BVX1ZNX1BBR0VfUkVBREFCTEU7Ci0JaWYgKGZsYWdzICYgQUxMT0NfTUVNX0ZM QUdTX1dSSVRBQkxFKQotCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX1dSSVRFQUJM RTsKLQlpZiAoZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfRVhFQ1VUQUJMRSkKLQkJbWFwcGluZ19m bGFncyB8PSBBTURHUFVfVk1fUEFHRV9FWEVDVVRBQkxFOwotCWlmIChmbGFncyAmIEFMTE9DX01F TV9GTEFHU19DT0hFUkVOVCkKLQkJbWFwcGluZ19mbGFncyB8PSBBTURHUFVfVk1fTVRZUEVfVUM7 Ci0JZWxzZQotCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9NVFlQRV9OQzsKLQkoKm1lbSkt Pm1hcHBpbmdfZmxhZ3MgPSBtYXBwaW5nX2ZsYWdzOworCSgqbWVtKS0+YWxsb2NfZmxhZ3MgPSBm bGFnczsKIAogCWFtZGdwdV9zeW5jX2NyZWF0ZSgmKCptZW0pLT5zeW5jKTsKIApAQCAtMTI5OCw2 ICsxMjg4LDcgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fbWFwX21lbW9yeV90b19ncHUoCiAJ CXN0cnVjdCBrZ2RfZGV2ICprZ2QsIHN0cnVjdCBrZ2RfbWVtICptZW0sIHZvaWQgKnZtKQogewog CXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZ2V0X2FtZGdwdV9kZXZpY2Uoa2dkKTsKKwlz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYm9fYWRldjsKIAlzdHJ1Y3QgYW1kZ3B1X3ZtICphdm0gPSAo c3RydWN0IGFtZGdwdV92bSAqKXZtOwogCWludCByZXQ7CiAJc3RydWN0IGFtZGdwdV9ibyAqYm87 CkBAIC0xMzE1LDYgKzEzMDYsOSBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9tYXBfbWVtb3J5 X3RvX2dwdSgKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJYm9fYWRldiA9IGFtZGdwdV90dG1f YWRldihiby0+dGJvLmJkZXYpOworCW1lbS0+bWFwcGluZ19mbGFncyA9IGFtZGdwdV9nbWNfZ2V0 X3ZtX21hcHBpbmdfZmxhZ3MoYWRldiwgbWVtLT5hbGxvY19mbGFncywgYm9fYWRldiAhPSBhZGV2 KTsKKwogCS8qIE1ha2Ugc3VyZSByZXN0b3JlIGlzIG5vdCBydW5uaW5nIGNvbmN1cnJlbnRseS4g U2luY2Ugd2UKIAkgKiBkb24ndCBtYXAgaW52YWxpZCB1c2VycHRyIEJPcywgd2UgcmVseSBvbiB0 aGUgbmV4dCByZXN0b3JlCiAJICogd29ya2VyIHRvIGRvIHRoZSBtYXBwaW5nCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ21jLmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZ21jLmgKaW5kZXggMDcxMTQ1YS4uNmJkMGMyOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dtYy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nbWMuaApAQCAtMTA1LDYgKzEwNSw5IEBAIHN0 cnVjdCBhbWRncHVfZ21jX2Z1bmNzIHsKIAkvKiBnZXQgdGhlIHBkZSBmb3IgYSBnaXZlbiBtYyBh ZGRyICovCiAJdm9pZCAoKmdldF92bV9wZGUpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBp bnQgbGV2ZWwsCiAJCQkgICB1NjQgKmRzdCwgdTY0ICpmbGFncyk7CisJLyogZ2V0IHBlciBhc2lj IHZtIG1hcHBpbmcgZmxhZ3MgKi8KKwl1aW50MzJfdCAoKmdldF92bV9tYXBwaW5nX2ZsYWdzKShz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCXVpbnQzMl90IGFsbG9jX2ZsYWdzLCBib29s IHJlbW90ZV9tYXBwaW5nKTsKIH07CiAKIHN0cnVjdCBhbWRncHVfeGdtaSB7CkBAIC0xODUsNiAr MTg4LDcgQEAgc3RydWN0IGFtZGdwdV9nbWMgewogI2RlZmluZSBhbWRncHVfZ21jX2VtaXRfcGFz aWRfbWFwcGluZyhyLCB2bWlkLCBwYXNpZCkgKHIpLT5hZGV2LT5nbWMuZ21jX2Z1bmNzLT5lbWl0 X3Bhc2lkX21hcHBpbmcoKHIpLCAodm1pZCksIChwYXNpZCkpCiAjZGVmaW5lIGFtZGdwdV9nbWNf Z2V0X3ZtX3BkZShhZGV2LCBsZXZlbCwgZHN0LCBmbGFncykgKGFkZXYpLT5nbWMuZ21jX2Z1bmNz LT5nZXRfdm1fcGRlKChhZGV2KSwgKGxldmVsKSwgKGRzdCksIChmbGFncykpCiAjZGVmaW5lIGFt ZGdwdV9nbWNfZ2V0X3B0ZV9mbGFncyhhZGV2LCBmbGFncykgKGFkZXYpLT5nbWMuZ21jX2Z1bmNz LT5nZXRfdm1fcHRlX2ZsYWdzKChhZGV2KSwoZmxhZ3MpKQorI2RlZmluZSBhbWRncHVfZ21jX2dl dF92bV9tYXBwaW5nX2ZsYWdzKGFkZXYsIGFsbG9jX2ZsYWdzLCByZW1vdGVfbWFwcGluZykgKChh ZGV2KS0+Z21jLmdtY19mdW5jcy0+Z2V0X3ZtX21hcHBpbmdfZmxhZ3MoKGFkZXYpLCAoYWxsb2Nf ZmxhZ3MpLCAocmVtb3RlX21hcHBpbmcpKSkKIAogLyoqCiAgKiBhbWRncHVfZ21jX3ZyYW1fZnVs bF92aXNpYmxlIC0gQ2hlY2sgaWYgZnVsbCBWUkFNIGlzIHZpc2libGUgdGhyb3VnaCB0aGUgQkFS CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjEwXzAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5jCmluZGV4IDRlM2FjMTAuLjdlNDIw ZTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5jCkBAIC00MTUsMTIgKzQx NSwzMCBAQCBzdGF0aWMgdm9pZCBnbWNfdjEwXzBfZ2V0X3ZtX3BkZShzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiwgaW50IGxldmVsLAogCX0KIH0KIAorc3RhdGljIHVpbnQzMl90IGdtY192MTBf MF9nZXRfdm1fbWFwcGluZ19mbGFncyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQl1 aW50MzJfdCBhbGxvY19mbGFncywgYm9vbCByZW1vdGVfbWFwcGluZykKK3sKKwl1aW50MzJfdCBt YXBwaW5nX2ZsYWdzID0gQU1ER1BVX1ZNX1BBR0VfUkVBREFCTEU7CisKKwlpZiAoYWxsb2NfZmxh Z3MgJiBBTExPQ19NRU1fRkxBR1NfV1JJVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BV X1ZNX1BBR0VfV1JJVEVBQkxFOworCWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFHU19F WEVDVVRBQkxFKQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX0VYRUNVVEFCTEU7 CisJaWYgKGFsbG9jX2ZsYWdzICYgQUxMT0NfTUVNX0ZMQUdTX0NPSEVSRU5UKQorCQltYXBwaW5n X2ZsYWdzIHw9IEFNREdQVV9WTV9NVFlQRV9VQzsKKwllbHNlCisJCW1hcHBpbmdfZmxhZ3MgfD0g QU1ER1BVX1ZNX01UWVBFX05DOworCisJcmV0dXJuIG1hcHBpbmdfZmxhZ3M7Cit9CisKIHN0YXRp YyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2dtY19mdW5jcyBnbWNfdjEwXzBfZ21jX2Z1bmNzID0gewog CS5mbHVzaF9ncHVfdGxiID0gZ21jX3YxMF8wX2ZsdXNoX2dwdV90bGIsCiAJLmVtaXRfZmx1c2hf Z3B1X3RsYiA9IGdtY192MTBfMF9lbWl0X2ZsdXNoX2dwdV90bGIsCiAJLmVtaXRfcGFzaWRfbWFw cGluZyA9IGdtY192MTBfMF9lbWl0X3Bhc2lkX21hcHBpbmcsCiAJLmdldF92bV9wdGVfZmxhZ3Mg PSBnbWNfdjEwXzBfZ2V0X3ZtX3B0ZV9mbGFncywKLQkuZ2V0X3ZtX3BkZSA9IGdtY192MTBfMF9n ZXRfdm1fcGRlCisJLmdldF92bV9wZGUgPSBnbWNfdjEwXzBfZ2V0X3ZtX3BkZSwKKwkuZ2V0X3Zt X21hcHBpbmdfZmxhZ3MgPSBnbWNfdjEwXzBfZ2V0X3ZtX21hcHBpbmdfZmxhZ3MKIH07CiAKIHN0 YXRpYyB2b2lkIGdtY192MTBfMF9zZXRfZ21jX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMKaW5kZXggYjA2ZDg3Ni4uMmIy YWY2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jCkBAIC00MDQsNiArNDA0 LDIyIEBAIHN0YXRpYyB2b2lkIGdtY192Nl8wX2dldF92bV9wZGUoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsIGludCBsZXZlbCwKIAlCVUdfT04oKmFkZHIgJiAweEZGRkZGRjAwMDAwMDBGRkZV TEwpOwogfQogCitzdGF0aWMgdWludDMyX3QgZ21jX3Y2XzBfZ2V0X3ZtX21hcHBpbmdfZmxhZ3Mo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJdWludDMyX3QgYWxsb2NfZmxhZ3MsIGJv b2wgcmVtb3RlX21hcHBpbmcpCit7CisJdWludDMyX3QgbWFwcGluZ19mbGFncyA9IEFNREdQVV9W TV9QQUdFX1JFQURBQkxFOworCisJaWYgKGFsbG9jX2ZsYWdzICYgQUxMT0NfTUVNX0ZMQUdTX1dS SVRBQkxFKQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX1dSSVRFQUJMRTsKKwlp ZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfRVhFQ1VUQUJMRSkKKwkJbWFwcGluZ19m bGFncyB8PSBBTURHUFVfVk1fUEFHRV9FWEVDVVRBQkxFOworCWlmIChhbGxvY19mbGFncyAmIEFM TE9DX01FTV9GTEFHU19DT0hFUkVOVCkKKwkJbWFwcGluZ19mbGFncyB8PSBBTURHUFVfVk1fTVRZ UEVfVUM7CisJZWxzZQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9NVFlQRV9OQzsKKwor CXJldHVybiBtYXBwaW5nX2ZsYWdzOworfQogc3RhdGljIHZvaWQgZ21jX3Y2XzBfc2V0X2ZhdWx0 X2VuYWJsZV9kZWZhdWx0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCQkgICAgICBi b29sIHZhbHVlKQogewpAQCAtMTE1Nyw3ICsxMTczLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBh bWRncHVfZ21jX2Z1bmNzIGdtY192Nl8wX2dtY19mdW5jcyA9IHsKIAkuZW1pdF9mbHVzaF9ncHVf dGxiID0gZ21jX3Y2XzBfZW1pdF9mbHVzaF9ncHVfdGxiLAogCS5zZXRfcHJ0ID0gZ21jX3Y2XzBf c2V0X3BydCwKIAkuZ2V0X3ZtX3BkZSA9IGdtY192Nl8wX2dldF92bV9wZGUsCi0JLmdldF92bV9w dGVfZmxhZ3MgPSBnbWNfdjZfMF9nZXRfdm1fcHRlX2ZsYWdzCisJLmdldF92bV9wdGVfZmxhZ3Mg PSBnbWNfdjZfMF9nZXRfdm1fcHRlX2ZsYWdzLAorCS5nZXRfdm1fbWFwcGluZ19mbGFncyA9IGdt Y192Nl8wX2dldF92bV9tYXBwaW5nX2ZsYWdzCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFt ZGdwdV9pcnFfc3JjX2Z1bmNzIGdtY192Nl8wX2lycV9mdW5jcyA9IHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjdfMC5jCmluZGV4IDc1YWEzMzMuLjYxOTg2MmUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ21jX3Y3XzAuYwpAQCAtNDgxLDYgKzQ4MSwyMyBAQCBzdGF0aWMgdm9pZCBn bWNfdjdfMF9nZXRfdm1fcGRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBpbnQgbGV2ZWws CiAJQlVHX09OKCphZGRyICYgMHhGRkZGRkYwMDAwMDAwRkZGVUxMKTsKIH0KIAorc3RhdGljIHVp bnQzMl90IGdtY192N18wX2dldF92bV9tYXBwaW5nX2ZsYWdzKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAorCQkJCXVpbnQzMl90IGFsbG9jX2ZsYWdzLCBib29sIHJlbW90ZV9tYXBwaW5nKQor eworCXVpbnQzMl90IG1hcHBpbmdfZmxhZ3MgPSBBTURHUFVfVk1fUEFHRV9SRUFEQUJMRTsKKwor CWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFHU19XUklUQUJMRSkKKwkJbWFwcGluZ19m bGFncyB8PSBBTURHUFVfVk1fUEFHRV9XUklURUFCTEU7CisJaWYgKGFsbG9jX2ZsYWdzICYgQUxM T0NfTUVNX0ZMQUdTX0VYRUNVVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX1BB R0VfRVhFQ1VUQUJMRTsKKwlpZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfQ09IRVJF TlQpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX01UWVBFX1VDOworCWVsc2UKKwkJbWFw cGluZ19mbGFncyB8PSBBTURHUFVfVk1fTVRZUEVfTkM7CisKKwlyZXR1cm4gbWFwcGluZ19mbGFn czsKK30KKwogLyoqCiAgKiBnbWNfdjhfMF9zZXRfZmF1bHRfZW5hYmxlX2RlZmF1bHQgLSB1cGRh dGUgVk0gZmF1bHQgaGFuZGxpbmcKICAqCkBAIC0xMzUzLDcgKzEzNzAsOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGFtZGdwdV9nbWNfZnVuY3MgZ21jX3Y3XzBfZ21jX2Z1bmNzID0gewogCS5lbWl0 X3Bhc2lkX21hcHBpbmcgPSBnbWNfdjdfMF9lbWl0X3Bhc2lkX21hcHBpbmcsCiAJLnNldF9wcnQg PSBnbWNfdjdfMF9zZXRfcHJ0LAogCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y3XzBfZ2V0X3Zt X3B0ZV9mbGFncywKLQkuZ2V0X3ZtX3BkZSA9IGdtY192N18wX2dldF92bV9wZGUKKwkuZ2V0X3Zt X3BkZSA9IGdtY192N18wX2dldF92bV9wZGUsCisJLmdldF92bV9tYXBwaW5nX2ZsYWdzID0gZ21j X3Y3XzBfZ2V0X3ZtX21hcHBpbmdfZmxhZ3MKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1k Z3B1X2lycV9zcmNfZnVuY3MgZ21jX3Y3XzBfaXJxX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2dtY192OF8wLmMKaW5kZXggOGJmMmJhMy4uZDJjZWNiMzAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ21jX3Y4XzAuYwpAQCAtNzA2LDYgKzcwNiwyNCBAQCBzdGF0aWMgdm9pZCBn bWNfdjhfMF9nZXRfdm1fcGRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBpbnQgbGV2ZWws CiAJQlVHX09OKCphZGRyICYgMHhGRkZGRkYwMDAwMDAwRkZGVUxMKTsKIH0KIAorc3RhdGljIHVp bnQzMl90IGdtY192OF8wX2dldF92bV9tYXBwaW5nX2ZsYWdzKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAorCQkJCXVpbnQzMl90IGFsbG9jX2ZsYWdzLCBib29sIHJlbW90ZV9tYXBwaW5nKQor eworCXVpbnQzMl90IG1hcHBpbmdfZmxhZ3MgPSBBTURHUFVfVk1fUEFHRV9SRUFEQUJMRTsKKwor CWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFHU19XUklUQUJMRSkKKwkJbWFwcGluZ19m bGFncyB8PSBBTURHUFVfVk1fUEFHRV9XUklURUFCTEU7CisJaWYgKGFsbG9jX2ZsYWdzICYgQUxM T0NfTUVNX0ZMQUdTX0VYRUNVVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX1BB R0VfRVhFQ1VUQUJMRTsKKwlpZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfQ09IRVJF TlQpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX01UWVBFX1VDOworCWVsc2UKKwkJbWFw cGluZ19mbGFncyB8PSBBTURHUFVfVk1fTVRZUEVfTkM7CisKKwlyZXR1cm4gbWFwcGluZ19mbGFn czsKK30KKworCiAvKioKICAqIGdtY192OF8wX3NldF9mYXVsdF9lbmFibGVfZGVmYXVsdCAtIHVw ZGF0ZSBWTSBmYXVsdCBoYW5kbGluZwogICoKQEAgLTE3MjEsNyArMTczOSw4IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgYW1kZ3B1X2dtY19mdW5jcyBnbWNfdjhfMF9nbWNfZnVuY3MgPSB7CiAJLmVt aXRfcGFzaWRfbWFwcGluZyA9IGdtY192OF8wX2VtaXRfcGFzaWRfbWFwcGluZywKIAkuc2V0X3By dCA9IGdtY192OF8wX3NldF9wcnQsCiAJLmdldF92bV9wdGVfZmxhZ3MgPSBnbWNfdjhfMF9nZXRf dm1fcHRlX2ZsYWdzLAotCS5nZXRfdm1fcGRlID0gZ21jX3Y4XzBfZ2V0X3ZtX3BkZQorCS5nZXRf dm1fcGRlID0gZ21jX3Y4XzBfZ2V0X3ZtX3BkZSwKKwkuZ2V0X3ZtX21hcHBpbmdfZmxhZ3MgPSBn bWNfdjhfMF9nZXRfdm1fbWFwcGluZ19mbGFncwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBh bWRncHVfaXJxX3NyY19mdW5jcyBnbWNfdjhfMF9pcnFfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ21jX3Y5XzAuYwppbmRleCBlNmFkYzg2Li5kNzA5OTAyIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dtY192OV8wLmMKQEAgLTYyNiwxMiArNjI2LDMxIEBAIHN0YXRpYyB2b2lk IGdtY192OV8wX2dldF92bV9wZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGludCBsZXZl bCwKIAl9CiB9CiAKK3N0YXRpYyB1aW50MzJfdCBnbWNfdjlfMF9nZXRfdm1fbWFwcGluZ19mbGFn cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQl1aW50MzJfdCBhbGxvY19mbGFncywg Ym9vbCByZW1vdGVfbWFwcGluZykKK3sKKwl1aW50MzJfdCBtYXBwaW5nX2ZsYWdzID0gQU1ER1BV X1ZNX1BBR0VfUkVBREFCTEU7CisKKwlpZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1Nf V1JJVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX1BBR0VfV1JJVEVBQkxFOwor CWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFHU19FWEVDVVRBQkxFKQorCQltYXBwaW5n X2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX0VYRUNVVEFCTEU7CisJaWYgKGFsbG9jX2ZsYWdzICYg QUxMT0NfTUVNX0ZMQUdTX0NPSEVSRU5UKQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9N VFlQRV9VQzsKKwllbHNlCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX01UWVBFX05DOwor CisJcmV0dXJuIG1hcHBpbmdfZmxhZ3M7Cit9CisKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRn cHVfZ21jX2Z1bmNzIGdtY192OV8wX2dtY19mdW5jcyA9IHsKIAkuZmx1c2hfZ3B1X3RsYiA9IGdt Y192OV8wX2ZsdXNoX2dwdV90bGIsCiAJLmVtaXRfZmx1c2hfZ3B1X3RsYiA9IGdtY192OV8wX2Vt aXRfZmx1c2hfZ3B1X3RsYiwKIAkuZW1pdF9wYXNpZF9tYXBwaW5nID0gZ21jX3Y5XzBfZW1pdF9w YXNpZF9tYXBwaW5nLAogCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y5XzBfZ2V0X3ZtX3B0ZV9m bGFncywKLQkuZ2V0X3ZtX3BkZSA9IGdtY192OV8wX2dldF92bV9wZGUKKwkuZ2V0X3ZtX3BkZSA9 IGdtY192OV8wX2dldF92bV9wZGUsCisJLmdldF92bV9tYXBwaW5nX2ZsYWdzID0gZ21jX3Y5XzBf Z2V0X3ZtX21hcHBpbmdfZmxhZ3MKIH07CiAKIHN0YXRpYyB2b2lkIGdtY192OV8wX3NldF9nbWNf ZnVuY3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCi0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QK YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4