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: Wed, 7 Aug 2019 02:31:11 +0000 Message-ID: <1565145062-16674-3-git-send-email-Oak.Zeng@amd.com> References: <1565145062-16674-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: <1565145062-16674-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 ZC9hbWRncHUvZ21jX3Y5XzAuYyAgICAgICAgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysr Ky0tCiA4IGZpbGVzIGNoYW5nZWQsIDEwOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmgg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmgKaW5kZXggZTUxOWRm My4uMDI2NDc1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2FtZGtmZC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQu aApAQCAtNTgsNiArNTgsNyBAQCBzdHJ1Y3Qga2dkX21lbSB7CiAJdWludDY0X3QgdmE7CiAKIAl1 aW50MzJfdCBtYXBwaW5nX2ZsYWdzOworCXVpbnQzMl90IGFsbG9jX2ZsYWdzOwogCiAJYXRvbWlj X3QgaW52YWxpZDsKIAlzdHJ1Y3QgYW1ka2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2 bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jCmlu ZGV4IDQ0YTUyYjAuLmY5MWVmNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKQEAgLTEwODEsNyArMTA4MSw2IEBAIGludCBhbWRncHVf YW1ka2ZkX2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCiAJaW50IGJ5dGVfYWxpZ247CiAJdTMy IGRvbWFpbiwgYWxsb2NfZG9tYWluOwogCXU2NCBhbGxvY19mbGFnczsKLQl1aW50MzJfdCBtYXBw aW5nX2ZsYWdzOwogCWludCByZXQ7CiAKIAkvKgpAQCAtMTE0MywxNiArMTE0Miw3IEBAIGludCBh bWRncHVfYW1ka2ZkX2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCiAJCQlhZGV2LT5hc2ljX3R5 cGUgIT0gQ0hJUF9WRUdBTSkgPwogCQkJVklfQk9fU0laRV9BTElHTiA6IDE7CiAKLQltYXBwaW5n X2ZsYWdzID0gQU1ER1BVX1ZNX1BBR0VfUkVBREFCTEU7Ci0JaWYgKGZsYWdzICYgQUxMT0NfTUVN X0ZMQUdTX1dSSVRBQkxFKQotCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX1dSSVRF QUJMRTsKLQlpZiAoZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfRVhFQ1VUQUJMRSkKLQkJbWFwcGlu Z19mbGFncyB8PSBBTURHUFVfVk1fUEFHRV9FWEVDVVRBQkxFOwotCWlmIChmbGFncyAmIEFMTE9D X01FTV9GTEFHU19DT0hFUkVOVCkKLQkJbWFwcGluZ19mbGFncyB8PSBBTURHUFVfVk1fTVRZUEVf VUM7Ci0JZWxzZQotCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9NVFlQRV9OQzsKLQkoKm1l bSktPm1hcHBpbmdfZmxhZ3MgPSBtYXBwaW5nX2ZsYWdzOworCSgqbWVtKS0+YWxsb2NfZmxhZ3Mg PSBmbGFnczsKIAogCWFtZGdwdV9zeW5jX2NyZWF0ZSgmKCptZW0pLT5zeW5jKTsKIApAQCAtMTI5 OCw2ICsxMjg4LDcgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fbWFwX21lbW9yeV90b19ncHUo CiAJCXN0cnVjdCBrZ2RfZGV2ICprZ2QsIHN0cnVjdCBrZ2RfbWVtICptZW0sIHZvaWQgKnZtKQog ewogCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZ2V0X2FtZGdwdV9kZXZpY2Uoa2dkKTsK KwlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYm9fYWRldjsKIAlzdHJ1Y3QgYW1kZ3B1X3ZtICphdm0g PSAoc3RydWN0IGFtZGdwdV92bSAqKXZtOwogCWludCByZXQ7CiAJc3RydWN0IGFtZGdwdV9ibyAq Ym87CkBAIC0xMzE1LDYgKzEzMDYsOSBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9tYXBfbWVt b3J5X3RvX2dwdSgKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJYm9fYWRldiA9IGFtZGdwdV90 dG1fYWRldihiby0+dGJvLmJkZXYpOworCW1lbS0+bWFwcGluZ19mbGFncyA9IGFtZGdwdV9nbWNf Z2V0X3ZtX21hcHBpbmdfZmxhZ3MoYWRldiwgbWVtLT5hbGxvY19mbGFncywgYm9fYWRldiAhPSBh ZGV2KTsKKwogCS8qIE1ha2Ugc3VyZSByZXN0b3JlIGlzIG5vdCBydW5uaW5nIGNvbmN1cnJlbnRs eS4gU2luY2Ugd2UKIAkgKiBkb24ndCBtYXAgaW52YWxpZCB1c2VycHRyIEJPcywgd2UgcmVseSBv biB0aGUgbmV4dCByZXN0b3JlCiAJICogd29ya2VyIHRvIGRvIHRoZSBtYXBwaW5nCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ21jLmggYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ21jLmgKaW5kZXggMDcxMTQ1YS4uNmJkMGMyOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dtYy5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nbWMuaApAQCAtMTA1LDYgKzEwNSw5IEBA IHN0cnVjdCBhbWRncHVfZ21jX2Z1bmNzIHsKIAkvKiBnZXQgdGhlIHBkZSBmb3IgYSBnaXZlbiBt YyBhZGRyICovCiAJdm9pZCAoKmdldF92bV9wZGUpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LCBpbnQgbGV2ZWwsCiAJCQkgICB1NjQgKmRzdCwgdTY0ICpmbGFncyk7CisJLyogZ2V0IHBlciBh c2ljIHZtIG1hcHBpbmcgZmxhZ3MgKi8KKwl1aW50MzJfdCAoKmdldF92bV9tYXBwaW5nX2ZsYWdz KShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCXVpbnQzMl90IGFsbG9jX2ZsYWdzLCBi b29sIHJlbW90ZV9tYXBwaW5nKTsKIH07CiAKIHN0cnVjdCBhbWRncHVfeGdtaSB7CkBAIC0xODUs NiArMTg4LDcgQEAgc3RydWN0IGFtZGdwdV9nbWMgewogI2RlZmluZSBhbWRncHVfZ21jX2VtaXRf cGFzaWRfbWFwcGluZyhyLCB2bWlkLCBwYXNpZCkgKHIpLT5hZGV2LT5nbWMuZ21jX2Z1bmNzLT5l bWl0X3Bhc2lkX21hcHBpbmcoKHIpLCAodm1pZCksIChwYXNpZCkpCiAjZGVmaW5lIGFtZGdwdV9n bWNfZ2V0X3ZtX3BkZShhZGV2LCBsZXZlbCwgZHN0LCBmbGFncykgKGFkZXYpLT5nbWMuZ21jX2Z1 bmNzLT5nZXRfdm1fcGRlKChhZGV2KSwgKGxldmVsKSwgKGRzdCksIChmbGFncykpCiAjZGVmaW5l IGFtZGdwdV9nbWNfZ2V0X3B0ZV9mbGFncyhhZGV2LCBmbGFncykgKGFkZXYpLT5nbWMuZ21jX2Z1 bmNzLT5nZXRfdm1fcHRlX2ZsYWdzKChhZGV2KSwoZmxhZ3MpKQorI2RlZmluZSBhbWRncHVfZ21j X2dldF92bV9tYXBwaW5nX2ZsYWdzKGFkZXYsIGFsbG9jX2ZsYWdzLCByZW1vdGVfbWFwcGluZykg KChhZGV2KS0+Z21jLmdtY19mdW5jcy0+Z2V0X3ZtX21hcHBpbmdfZmxhZ3MoKGFkZXYpLCAoYWxs b2NfZmxhZ3MpLCAocmVtb3RlX21hcHBpbmcpKSkKIAogLyoqCiAgKiBhbWRncHVfZ21jX3ZyYW1f ZnVsbF92aXNpYmxlIC0gQ2hlY2sgaWYgZnVsbCBWUkFNIGlzIHZpc2libGUgdGhyb3VnaCB0aGUg QkFSCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjEwXzAuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5jCmluZGV4IDRlM2FjMTAuLjdl NDIwZTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5jCkBAIC00MTUsMTIg KzQxNSwzMCBAQCBzdGF0aWMgdm9pZCBnbWNfdjEwXzBfZ2V0X3ZtX3BkZShzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwgaW50IGxldmVsLAogCX0KIH0KIAorc3RhdGljIHVpbnQzMl90IGdtY192 MTBfMF9nZXRfdm1fbWFwcGluZ19mbGFncyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJ CQl1aW50MzJfdCBhbGxvY19mbGFncywgYm9vbCByZW1vdGVfbWFwcGluZykKK3sKKwl1aW50MzJf dCBtYXBwaW5nX2ZsYWdzID0gQU1ER1BVX1ZNX1BBR0VfUkVBREFCTEU7CisKKwlpZiAoYWxsb2Nf ZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfV1JJVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1E R1BVX1ZNX1BBR0VfV1JJVEVBQkxFOworCWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFH U19FWEVDVVRBQkxFKQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX0VYRUNVVEFC TEU7CisJaWYgKGFsbG9jX2ZsYWdzICYgQUxMT0NfTUVNX0ZMQUdTX0NPSEVSRU5UKQorCQltYXBw aW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9NVFlQRV9VQzsKKwllbHNlCisJCW1hcHBpbmdfZmxhZ3Mg fD0gQU1ER1BVX1ZNX01UWVBFX05DOworCisJcmV0dXJuIG1hcHBpbmdfZmxhZ3M7Cit9CisKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2dtY19mdW5jcyBnbWNfdjEwXzBfZ21jX2Z1bmNzID0g ewogCS5mbHVzaF9ncHVfdGxiID0gZ21jX3YxMF8wX2ZsdXNoX2dwdV90bGIsCiAJLmVtaXRfZmx1 c2hfZ3B1X3RsYiA9IGdtY192MTBfMF9lbWl0X2ZsdXNoX2dwdV90bGIsCiAJLmVtaXRfcGFzaWRf bWFwcGluZyA9IGdtY192MTBfMF9lbWl0X3Bhc2lkX21hcHBpbmcsCiAJLmdldF92bV9wdGVfZmxh Z3MgPSBnbWNfdjEwXzBfZ2V0X3ZtX3B0ZV9mbGFncywKLQkuZ2V0X3ZtX3BkZSA9IGdtY192MTBf MF9nZXRfdm1fcGRlCisJLmdldF92bV9wZGUgPSBnbWNfdjEwXzBfZ2V0X3ZtX3BkZSwKKwkuZ2V0 X3ZtX21hcHBpbmdfZmxhZ3MgPSBnbWNfdjEwXzBfZ2V0X3ZtX21hcHBpbmdfZmxhZ3MKIH07CiAK IHN0YXRpYyB2b2lkIGdtY192MTBfMF9zZXRfZ21jX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMKaW5kZXggYjA2ZDg3Ni4u MmIyYWY2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jCkBAIC00MDQsNiAr NDA0LDIyIEBAIHN0YXRpYyB2b2lkIGdtY192Nl8wX2dldF92bV9wZGUoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIGludCBsZXZlbCwKIAlCVUdfT04oKmFkZHIgJiAweEZGRkZGRjAwMDAwMDBG RkZVTEwpOwogfQogCitzdGF0aWMgdWludDMyX3QgZ21jX3Y2XzBfZ2V0X3ZtX21hcHBpbmdfZmxh Z3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJdWludDMyX3QgYWxsb2NfZmxhZ3Ms IGJvb2wgcmVtb3RlX21hcHBpbmcpCit7CisJdWludDMyX3QgbWFwcGluZ19mbGFncyA9IEFNREdQ VV9WTV9QQUdFX1JFQURBQkxFOworCisJaWYgKGFsbG9jX2ZsYWdzICYgQUxMT0NfTUVNX0ZMQUdT X1dSSVRBQkxFKQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX1dSSVRFQUJMRTsK KwlpZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfRVhFQ1VUQUJMRSkKKwkJbWFwcGlu Z19mbGFncyB8PSBBTURHUFVfVk1fUEFHRV9FWEVDVVRBQkxFOworCWlmIChhbGxvY19mbGFncyAm IEFMTE9DX01FTV9GTEFHU19DT0hFUkVOVCkKKwkJbWFwcGluZ19mbGFncyB8PSBBTURHUFVfVk1f TVRZUEVfVUM7CisJZWxzZQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9NVFlQRV9OQzsK KworCXJldHVybiBtYXBwaW5nX2ZsYWdzOworfQogc3RhdGljIHZvaWQgZ21jX3Y2XzBfc2V0X2Zh dWx0X2VuYWJsZV9kZWZhdWx0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCQkgICAg ICBib29sIHZhbHVlKQogewpAQCAtMTE1Nyw3ICsxMTczLDggQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBhbWRncHVfZ21jX2Z1bmNzIGdtY192Nl8wX2dtY19mdW5jcyA9IHsKIAkuZW1pdF9mbHVzaF9n cHVfdGxiID0gZ21jX3Y2XzBfZW1pdF9mbHVzaF9ncHVfdGxiLAogCS5zZXRfcHJ0ID0gZ21jX3Y2 XzBfc2V0X3BydCwKIAkuZ2V0X3ZtX3BkZSA9IGdtY192Nl8wX2dldF92bV9wZGUsCi0JLmdldF92 bV9wdGVfZmxhZ3MgPSBnbWNfdjZfMF9nZXRfdm1fcHRlX2ZsYWdzCisJLmdldF92bV9wdGVfZmxh Z3MgPSBnbWNfdjZfMF9nZXRfdm1fcHRlX2ZsYWdzLAorCS5nZXRfdm1fbWFwcGluZ19mbGFncyA9 IGdtY192Nl8wX2dldF92bV9tYXBwaW5nX2ZsYWdzCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IGFtZGdwdV9pcnFfc3JjX2Z1bmNzIGdtY192Nl8wX2lycV9mdW5jcyA9IHsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nbWNfdjdfMC5jCmluZGV4IDc1YWEzMzMuLjYxOTg2MmUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYwpAQCAtNDgxLDYgKzQ4MSwyMyBAQCBzdGF0aWMgdm9p ZCBnbWNfdjdfMF9nZXRfdm1fcGRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBpbnQgbGV2 ZWwsCiAJQlVHX09OKCphZGRyICYgMHhGRkZGRkYwMDAwMDAwRkZGVUxMKTsKIH0KIAorc3RhdGlj IHVpbnQzMl90IGdtY192N18wX2dldF92bV9tYXBwaW5nX2ZsYWdzKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAorCQkJCXVpbnQzMl90IGFsbG9jX2ZsYWdzLCBib29sIHJlbW90ZV9tYXBwaW5n KQoreworCXVpbnQzMl90IG1hcHBpbmdfZmxhZ3MgPSBBTURHUFVfVk1fUEFHRV9SRUFEQUJMRTsK KworCWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFHU19XUklUQUJMRSkKKwkJbWFwcGlu Z19mbGFncyB8PSBBTURHUFVfVk1fUEFHRV9XUklURUFCTEU7CisJaWYgKGFsbG9jX2ZsYWdzICYg QUxMT0NfTUVNX0ZMQUdTX0VYRUNVVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZN X1BBR0VfRVhFQ1VUQUJMRTsKKwlpZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfQ09I RVJFTlQpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX01UWVBFX1VDOworCWVsc2UKKwkJ bWFwcGluZ19mbGFncyB8PSBBTURHUFVfVk1fTVRZUEVfTkM7CisKKwlyZXR1cm4gbWFwcGluZ19m bGFnczsKK30KKwogLyoqCiAgKiBnbWNfdjhfMF9zZXRfZmF1bHRfZW5hYmxlX2RlZmF1bHQgLSB1 cGRhdGUgVk0gZmF1bHQgaGFuZGxpbmcKICAqCkBAIC0xMzUzLDcgKzEzNzAsOCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGFtZGdwdV9nbWNfZnVuY3MgZ21jX3Y3XzBfZ21jX2Z1bmNzID0gewogCS5l bWl0X3Bhc2lkX21hcHBpbmcgPSBnbWNfdjdfMF9lbWl0X3Bhc2lkX21hcHBpbmcsCiAJLnNldF9w cnQgPSBnbWNfdjdfMF9zZXRfcHJ0LAogCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y3XzBfZ2V0 X3ZtX3B0ZV9mbGFncywKLQkuZ2V0X3ZtX3BkZSA9IGdtY192N18wX2dldF92bV9wZGUKKwkuZ2V0 X3ZtX3BkZSA9IGdtY192N18wX2dldF92bV9wZGUsCisJLmdldF92bV9tYXBwaW5nX2ZsYWdzID0g Z21jX3Y3XzBfZ2V0X3ZtX21hcHBpbmdfZmxhZ3MKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg YW1kZ3B1X2lycV9zcmNfZnVuY3MgZ21jX3Y3XzBfaXJxX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dtY192OF8wLmMKaW5kZXggOGJmMmJhMy4uZDJjZWNiMzAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OF8wLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYwpAQCAtNzA2LDYgKzcwNiwyNCBAQCBzdGF0aWMgdm9p ZCBnbWNfdjhfMF9nZXRfdm1fcGRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBpbnQgbGV2 ZWwsCiAJQlVHX09OKCphZGRyICYgMHhGRkZGRkYwMDAwMDAwRkZGVUxMKTsKIH0KIAorc3RhdGlj IHVpbnQzMl90IGdtY192OF8wX2dldF92bV9tYXBwaW5nX2ZsYWdzKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAorCQkJCXVpbnQzMl90IGFsbG9jX2ZsYWdzLCBib29sIHJlbW90ZV9tYXBwaW5n KQoreworCXVpbnQzMl90IG1hcHBpbmdfZmxhZ3MgPSBBTURHUFVfVk1fUEFHRV9SRUFEQUJMRTsK KworCWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFHU19XUklUQUJMRSkKKwkJbWFwcGlu Z19mbGFncyB8PSBBTURHUFVfVk1fUEFHRV9XUklURUFCTEU7CisJaWYgKGFsbG9jX2ZsYWdzICYg QUxMT0NfTUVNX0ZMQUdTX0VYRUNVVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZN X1BBR0VfRVhFQ1VUQUJMRTsKKwlpZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxBR1NfQ09I RVJFTlQpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX01UWVBFX1VDOworCWVsc2UKKwkJ bWFwcGluZ19mbGFncyB8PSBBTURHUFVfVk1fTVRZUEVfTkM7CisKKwlyZXR1cm4gbWFwcGluZ19m bGFnczsKK30KKworCiAvKioKICAqIGdtY192OF8wX3NldF9mYXVsdF9lbmFibGVfZGVmYXVsdCAt IHVwZGF0ZSBWTSBmYXVsdCBoYW5kbGluZwogICoKQEAgLTE3MjEsNyArMTczOSw4IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2dtY19mdW5jcyBnbWNfdjhfMF9nbWNfZnVuY3MgPSB7CiAJ LmVtaXRfcGFzaWRfbWFwcGluZyA9IGdtY192OF8wX2VtaXRfcGFzaWRfbWFwcGluZywKIAkuc2V0 X3BydCA9IGdtY192OF8wX3NldF9wcnQsCiAJLmdldF92bV9wdGVfZmxhZ3MgPSBnbWNfdjhfMF9n ZXRfdm1fcHRlX2ZsYWdzLAotCS5nZXRfdm1fcGRlID0gZ21jX3Y4XzBfZ2V0X3ZtX3BkZQorCS5n ZXRfdm1fcGRlID0gZ21jX3Y4XzBfZ2V0X3ZtX3BkZSwKKwkuZ2V0X3ZtX21hcHBpbmdfZmxhZ3Mg PSBnbWNfdjhfMF9nZXRfdm1fbWFwcGluZ19mbGFncwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBhbWRncHVfaXJxX3NyY19mdW5jcyBnbWNfdjhfMF9pcnFfZnVuY3MgPSB7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ21jX3Y5XzAuYwppbmRleCA4OTA2NGQ5Li5hZGFkN2M0IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMKQEAgLTY2NywxMiArNjY3LDMxIEBAIHN0YXRpYyB2 b2lkIGdtY192OV8wX2dldF92bV9wZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGludCBs ZXZlbCwKIAl9CiB9CiAKK3N0YXRpYyB1aW50MzJfdCBnbWNfdjlfMF9nZXRfdm1fbWFwcGluZ19m bGFncyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQl1aW50MzJfdCBhbGxvY19mbGFn cywgYm9vbCByZW1vdGVfbWFwcGluZykKK3sKKwl1aW50MzJfdCBtYXBwaW5nX2ZsYWdzID0gQU1E R1BVX1ZNX1BBR0VfUkVBREFCTEU7CisKKwlpZiAoYWxsb2NfZmxhZ3MgJiBBTExPQ19NRU1fRkxB R1NfV1JJVEFCTEUpCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX1BBR0VfV1JJVEVBQkxF OworCWlmIChhbGxvY19mbGFncyAmIEFMTE9DX01FTV9GTEFHU19FWEVDVVRBQkxFKQorCQltYXBw aW5nX2ZsYWdzIHw9IEFNREdQVV9WTV9QQUdFX0VYRUNVVEFCTEU7CisJaWYgKGFsbG9jX2ZsYWdz ICYgQUxMT0NfTUVNX0ZMQUdTX0NPSEVSRU5UKQorCQltYXBwaW5nX2ZsYWdzIHw9IEFNREdQVV9W TV9NVFlQRV9VQzsKKwllbHNlCisJCW1hcHBpbmdfZmxhZ3MgfD0gQU1ER1BVX1ZNX01UWVBFX05D OworCisJcmV0dXJuIG1hcHBpbmdfZmxhZ3M7Cit9CisKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBh bWRncHVfZ21jX2Z1bmNzIGdtY192OV8wX2dtY19mdW5jcyA9IHsKIAkuZmx1c2hfZ3B1X3RsYiA9 IGdtY192OV8wX2ZsdXNoX2dwdV90bGIsCiAJLmVtaXRfZmx1c2hfZ3B1X3RsYiA9IGdtY192OV8w X2VtaXRfZmx1c2hfZ3B1X3RsYiwKIAkuZW1pdF9wYXNpZF9tYXBwaW5nID0gZ21jX3Y5XzBfZW1p dF9wYXNpZF9tYXBwaW5nLAogCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y5XzBfZ2V0X3ZtX3B0 ZV9mbGFncywKLQkuZ2V0X3ZtX3BkZSA9IGdtY192OV8wX2dldF92bV9wZGUKKwkuZ2V0X3ZtX3Bk ZSA9IGdtY192OV8wX2dldF92bV9wZGUsCisJLmdldF92bV9tYXBwaW5nX2ZsYWdzID0gZ21jX3Y5 XzBfZ2V0X3ZtX21hcHBpbmdfZmxhZ3MKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1 X2dtY19mdW5jcyBnbWNfdjlfMF9hcmN0dXJ1c19nbWNfZnVuY3MgPSB7CkBAIC02ODAsNyArNjk5 LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfZ21jX2Z1bmNzIGdtY192OV8wX2FyY3R1 cnVzX2dtY19mdW5jcyA9IHsKIAkuZW1pdF9mbHVzaF9ncHVfdGxiID0gZ21jX3Y5XzBfZW1pdF9m bHVzaF9ncHVfdGxiLAogCS5lbWl0X3Bhc2lkX21hcHBpbmcgPSBnbWNfdjlfMF9lbWl0X3Bhc2lk X21hcHBpbmcsCiAJLmdldF92bV9wdGVfZmxhZ3MgPSBnbWNfdjlfMF9hcmN0dXJ1c19nZXRfdm1f cHRlX2ZsYWdzLAotCS5nZXRfdm1fcGRlID0gZ21jX3Y5XzBfZ2V0X3ZtX3BkZQorCS5nZXRfdm1f cGRlID0gZ21jX3Y5XzBfZ2V0X3ZtX3BkZSwKKwkuZ2V0X3ZtX21hcHBpbmdfZmxhZ3MgPSBnbWNf djlfMF9nZXRfdm1fbWFwcGluZ19mbGFncwogfTsKIAogc3RhdGljIHZvaWQgZ21jX3Y5XzBfc2V0 X2dtY19mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKLS0gCjIuNy40CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcg bGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=