From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 9/9] drm/amdgpu: WIP add IOCTL interface for per VM BOs Date: Fri, 25 Aug 2017 11:38:19 +0200 Message-ID: <1503653899-1781-9-git-send-email-deathsimple@vodafone.de> References: <1503653899-1781-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1503653899-1781-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> 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 RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKQWRkIHRo ZSBJT0NUTCBpbnRlcmZhY2Ugc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIGFsbG9jYXRlIHBlciBW TSBCT3MuCgpTdGlsbCBXSVAgc2luY2Ugbm90IGFsbCBjb3JuZXIgY2FzZXMgYXJlIHRlc3RlZCB5 ZXQsIGJ1dCB0aGlzIHJlZHVjZXMgYXZlcmFnZQpDUyBvdmVyaGVhZCBmb3IgMTBLIEJPcyBmcm9t IDIxbXMgZG93biB0byA0OHVzLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hy aXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdS5oICAgICAgIHwgIDcgKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2ZiLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5j ICAgfCA1OSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYyB8ICAzICstCiBpbmNsdWRlL3VhcGkvZHJtL2FtZGdw dV9kcm0uaCAgICAgICAgICAgICB8ICAyICsrCiA1IGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlv bnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKaW5k ZXggYjFlODE3Yy4uMjFjYWIzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKQEAg LTQ1Nyw5ICs0NTcsMTAgQEAgc3RydWN0IGFtZGdwdV9zYV9ibyB7CiAgKi8KIHZvaWQgYW1kZ3B1 X2dlbV9mb3JjZV9yZWxlYXNlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKIGludCBhbWRn cHVfZ2VtX29iamVjdF9jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVk IGxvbmcgc2l6ZSwKLQkJCQlpbnQgYWxpZ25tZW50LCB1MzIgaW5pdGlhbF9kb21haW4sCi0JCQkJ dTY0IGZsYWdzLCBib29sIGtlcm5lbCwKLQkJCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKipvYmop OworCQkJICAgICBpbnQgYWxpZ25tZW50LCB1MzIgaW5pdGlhbF9kb21haW4sCisJCQkgICAgIHU2 NCBmbGFncywgYm9vbCBrZXJuZWwsCisJCQkgICAgIHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3Qg KnJlc3YsCisJCQkgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqKm9iaik7CiAKIGludCBhbWRn cHVfbW9kZV9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJCSAgICBz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmIu YwppbmRleCAwZTkwN2VhLi43MjU2ZjgzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZmIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZmIuYwpAQCAtMTQ0LDcgKzE0NCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1ZmJfY3JlYXRlX3Bp bm5lZF9vYmplY3Qoc3RydWN0IGFtZGdwdV9mYmRldiAqcmZiZGV2LAogCQkJCSAgICAgICBBTURH UFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKIAkJCQkgICAgICAgQU1ER1BVX0dF TV9DUkVBVEVfVlJBTV9DT05USUdVT1VTIHwKIAkJCQkgICAgICAgQU1ER1BVX0dFTV9DUkVBVEVf VlJBTV9DTEVBUkVELAotCQkJCSAgICAgICB0cnVlLCAmZ29iaik7CisJCQkJICAgICAgIHRydWUs IE5VTEwsICZnb2JqKTsKIAlpZiAocmV0KSB7CiAJCXByX2VycigiZmFpbGVkIHRvIGFsbG9jYXRl IGZyYW1lYnVmZmVyICglZClcbiIsIGFsaWduZWRfc2l6ZSk7CiAJCXJldHVybiAtRU5PTUVNOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jCmluZGV4IGQwMjg4MDYuLmI4ZThk NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKQEAgLTQ0LDExICs0 NCwxMiBAQCB2b2lkIGFtZGdwdV9nZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpnb2JqKQogfQogCiBpbnQgYW1kZ3B1X2dlbV9vYmplY3RfY3JlYXRlKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkJaW50IGFsaWdubWVudCwgdTMy IGluaXRpYWxfZG9tYWluLAotCQkJCXU2NCBmbGFncywgYm9vbCBrZXJuZWwsCi0JCQkJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICoqb2JqKQorCQkJICAgICBpbnQgYWxpZ25tZW50LCB1MzIgaW5pdGlh bF9kb21haW4sCisJCQkgICAgIHU2NCBmbGFncywgYm9vbCBrZXJuZWwsCisJCQkgICAgIHN0cnVj dCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCisJCQkgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqKm9iaikKIHsKLQlzdHJ1Y3QgYW1kZ3B1X2JvICpyb2JqOworCXN0cnVjdCBhbWRncHVfYm8g KmJvOwogCWludCByOwogCiAJKm9iaiA9IE5VTEw7CkBAIC01OSw3ICs2MCw3IEBAIGludCBhbWRn cHVfZ2VtX29iamVjdF9jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVk IGxvbmcgc2l6ZSwKIAogcmV0cnk6CiAJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgc2l6ZSwg YWxpZ25tZW50LCBrZXJuZWwsIGluaXRpYWxfZG9tYWluLAotCQkJICAgICBmbGFncywgTlVMTCwg TlVMTCwgMCwgJnJvYmopOworCQkJICAgICBmbGFncywgTlVMTCwgcmVzdiwgMCwgJmJvKTsKIAlp ZiAocikgewogCQlpZiAociAhPSAtRVJFU1RBUlRTWVMpIHsKIAkJCWlmIChpbml0aWFsX2RvbWFp biA9PSBBTURHUFVfR0VNX0RPTUFJTl9WUkFNKSB7CkBAIC03MSw3ICs3Miw3IEBAIGludCBhbWRn cHVfZ2VtX29iamVjdF9jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVk IGxvbmcgc2l6ZSwKIAkJfQogCQlyZXR1cm4gcjsKIAl9Ci0JKm9iaiA9ICZyb2JqLT5nZW1fYmFz ZTsKKwkqb2JqID0gJmJvLT5nZW1fYmFzZTsKIAogCXJldHVybiAwOwogfQpAQCAtMTM2LDEzICsx MzcsMTQgQEAgdm9pZCBhbWRncHVfZ2VtX29iamVjdF9jbG9zZShzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaiwKIAlzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSA9ICZmcHJpdi0+dm07CiAKIAlzdHJ1Y3Qg YW1kZ3B1X2JvX2xpc3RfZW50cnkgdm1fcGQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCXN0 cnVjdCBsaXN0X2hlYWQgbGlzdCwgZHVwbGljYXRlczsKIAlzdHJ1Y3QgdHRtX3ZhbGlkYXRlX2J1 ZmZlciB0djsKIAlzdHJ1Y3Qgd3dfYWNxdWlyZV9jdHggdGlja2V0OwogCXN0cnVjdCBhbWRncHVf Ym9fdmEgKmJvX3ZhOwogCWludCByOwogCiAJSU5JVF9MSVNUX0hFQUQoJmxpc3QpOworCUlOSVRf TElTVF9IRUFEKCZkdXBsaWNhdGVzKTsKIAogCXR2LmJvID0gJmJvLT50Ym87CiAJdHYuc2hhcmVk ID0gdHJ1ZTsKQEAgLTE1MCw3ICsxNTIsNyBAQCB2b2lkIGFtZGdwdV9nZW1fb2JqZWN0X2Nsb3Nl KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAogCiAJYW1kZ3B1X3ZtX2dldF9wZF9ibyh2bSwg Jmxpc3QsICZ2bV9wZCk7CiAKLQlyID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygmdGlja2V0LCAm bGlzdCwgZmFsc2UsIE5VTEwpOworCXIgPSB0dG1fZXVfcmVzZXJ2ZV9idWZmZXJzKCZ0aWNrZXQs ICZsaXN0LCBmYWxzZSwgJmR1cGxpY2F0ZXMpOwogCWlmIChyKSB7CiAJCWRldl9lcnIoYWRldi0+ ZGV2LCAibGVha2luZyBibyB2YSBiZWNhdXNlICIKIAkJCSJ3ZSBmYWlsIHRvIHJlc2VydmUgYm8g KCVkKVxuIiwgcik7CkBAIC0xODUsOSArMTg3LDEyIEBAIGludCBhbWRncHVfZ2VtX2NyZWF0ZV9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJICAgIHN0cnVjdCBk cm1fZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRldi0+ZGV2 X3ByaXZhdGU7CisJc3RydWN0IGFtZGdwdV9mcHJpdiAqZnByaXYgPSBmaWxwLT5kcml2ZXJfcHJp djsKKwlzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSA9ICZmcHJpdi0+dm07CiAJdW5pb24gZHJtX2FtZGdw dV9nZW1fY3JlYXRlICphcmdzID0gZGF0YTsKIAl1aW50NjRfdCBmbGFncyA9IGFyZ3MtPmluLmRv bWFpbl9mbGFnczsKIAl1aW50NjRfdCBzaXplID0gYXJncy0+aW4uYm9fc2l6ZTsKKwlzdHJ1Y3Qg cmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2ID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg KmdvYmo7CiAJdWludDMyX3QgaGFuZGxlOwogCWludCByOwpAQCAtMTk2LDcgKzIwMSw4IEBAIGlu dCBhbWRncHVfZ2VtX2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCWlmIChmbGFncyAmIH4oQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJF RCB8CiAJCSAgICAgIEFNREdQVV9HRU1fQ1JFQVRFX05PX0NQVV9BQ0NFU1MgfAogCQkgICAgICBB TURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1VTV0MgfAotCQkgICAgICBBTURHUFVfR0VNX0NSRUFU RV9WUkFNX0NMRUFSRUQpKQorCQkgICAgICBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NMRUFSRUQg fAorCQkgICAgICBBTURHUFVfR0VNX0NSRUFURV9MT0NBTCkpCiAJCXJldHVybiAtRUlOVkFMOwog CiAJLyogcmVqZWN0IGludmFsaWQgZ2VtIGRvbWFpbnMgKi8KQEAgLTIyMyw5ICsyMjksMjUgQEAg aW50IGFtZGdwdV9nZW1fY3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCiAJfQogCXNpemUgPSByb3VuZHVwKHNpemUsIFBBR0VfU0laRSk7CiAKKwlpZiAoZmxh Z3MgJiBBTURHUFVfR0VNX0NSRUFURV9MT0NBTCkgeworCQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUo dm0tPnJvb3QuYmFzZS5ibywgZmFsc2UpOworCQlpZiAocikKKwkJCXJldHVybiByOworCisJCXJl c3YgPSB2bS0+cm9vdC5iYXNlLmJvLT50Ym8ucmVzdjsKKwl9CisKIAlyID0gYW1kZ3B1X2dlbV9v YmplY3RfY3JlYXRlKGFkZXYsIHNpemUsIGFyZ3MtPmluLmFsaWdubWVudCwKIAkJCQkgICAgICh1 MzIpKDB4ZmZmZmZmZmYgJiBhcmdzLT5pbi5kb21haW5zKSwKLQkJCQkgICAgIGZsYWdzLCBmYWxz ZSwgJmdvYmopOworCQkJCSAgICAgZmxhZ3MsIGZhbHNlLCByZXN2LCAmZ29iaik7CisJaWYgKGZs YWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfTE9DQUwpIHsKKwkJaWYgKCFyKSB7CisJCQlzdHJ1Y3Qg YW1kZ3B1X2JvICphYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGdvYmopOworCisJCQlhYm8tPnBhcmVu dCA9IGFtZGdwdV9ib19yZWYodm0tPnJvb3QuYmFzZS5ibyk7CisJCX0KKwkJYW1kZ3B1X2JvX3Vu cmVzZXJ2ZSh2bS0+cm9vdC5iYXNlLmJvKTsKKwl9CiAJaWYgKHIpCiAJCXJldHVybiByOwogCkBA IC0yNjcsOSArMjg5LDggQEAgaW50IGFtZGdwdV9nZW1fdXNlcnB0cl9pb2N0bChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCX0KIAogCS8qIGNyZWF0ZSBhIGdlbSBvYmplY3Qg dG8gY29udGFpbiB0aGlzIG9iamVjdCBpbiAqLwotCXIgPSBhbWRncHVfZ2VtX29iamVjdF9jcmVh dGUoYWRldiwgYXJncy0+c2l6ZSwgMCwKLQkJCQkgICAgIEFNREdQVV9HRU1fRE9NQUlOX0NQVSwg MCwKLQkJCQkgICAgIDAsICZnb2JqKTsKKwlyID0gYW1kZ3B1X2dlbV9vYmplY3RfY3JlYXRlKGFk ZXYsIGFyZ3MtPnNpemUsIDAsIEFNREdQVV9HRU1fRE9NQUlOX0NQVSwKKwkJCQkgICAgIDAsIDAs IE5VTEwsICZnb2JqKTsKIAlpZiAocikKIAkJcmV0dXJuIHI7CiAKQEAgLTUyMSw3ICs1NDIsNyBA QCBpbnQgYW1kZ3B1X2dlbV92YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCXN0cnVjdCBhbWRncHVfYm9fbGlzdF9lbnRyeSB2bV9wZDsKIAlzdHJ1Y3QgdHRtX3Zh bGlkYXRlX2J1ZmZlciB0djsKIAlzdHJ1Y3Qgd3dfYWNxdWlyZV9jdHggdGlja2V0OwotCXN0cnVj dCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3QsIGR1cGxpY2F0ZXM7CiAJ dWludDY0X3QgdmFfZmxhZ3M7CiAJaW50IHIgPSAwOwogCkBAIC01NTcsNiArNTc4LDcgQEAgaW50 IGFtZGdwdV9nZW1fdmFfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAl9CiAKIAlJTklUX0xJU1RfSEVBRCgmbGlzdCk7CisJSU5JVF9MSVNUX0hFQUQoJmR1cGxpY2F0 ZXMpOwogCWlmICgoYXJncy0+b3BlcmF0aW9uICE9IEFNREdQVV9WQV9PUF9DTEVBUikgJiYKIAkg ICAgIShhcmdzLT5mbGFncyAmIEFNREdQVV9WTV9QQUdFX1BSVCkpIHsKIAkJZ29iaiA9IGRybV9n ZW1fb2JqZWN0X2xvb2t1cChmaWxwLCBhcmdzLT5oYW5kbGUpOwpAQCAtNTczLDcgKzU5NSw3IEBA IGludCBhbWRncHVfZ2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCiAKIAlhbWRncHVfdm1fZ2V0X3BkX2JvKCZmcHJpdi0+dm0sICZsaXN0LCAmdm1fcGQpOwog Ci0JciA9IHR0bV9ldV9yZXNlcnZlX2J1ZmZlcnMoJnRpY2tldCwgJmxpc3QsIHRydWUsIE5VTEwp OworCXIgPSB0dG1fZXVfcmVzZXJ2ZV9idWZmZXJzKCZ0aWNrZXQsICZsaXN0LCB0cnVlLCAmZHVw bGljYXRlcyk7CiAJaWYgKHIpCiAJCWdvdG8gZXJyb3JfdW5yZWY7CiAKQEAgLTYzOSw2ICs2NjEs NyBAQCBpbnQgYW1kZ3B1X2dlbV92YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAogaW50IGFtZGdwdV9nZW1fb3BfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKIAkJCXN0cnVjdCBkcm1fZmlsZSAqZmlscCkKIHsKKwlzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGRybV9hbWRncHVfZ2Vt X29wICphcmdzID0gZGF0YTsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmo7CiAJc3RydWN0 IGFtZGdwdV9ibyAqcm9iajsKQEAgLTY4Niw2ICs3MDksOSBAQCBpbnQgYW1kZ3B1X2dlbV9vcF9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlpZiAocm9iai0+YWxs b3dlZF9kb21haW5zID09IEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0pCiAJCQlyb2JqLT5hbGxvd2Vk X2RvbWFpbnMgfD0gQU1ER1BVX0dFTV9ET01BSU5fR1RUOwogCisJCWlmIChyb2JqLT5mbGFncyAm IEFNREdQVV9HRU1fQ1JFQVRFX0xPQ0FMKQorCQkJYW1kZ3B1X3ZtX2JvX2ludmFsaWRhdGUoYWRl diwgcm9iaiwgdHJ1ZSk7CisKIAkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShyb2JqKTsKIAkJYnJlYWs7 CiAJZGVmYXVsdDoKQEAgLTcxNSw4ICs3NDEsNyBAQCBpbnQgYW1kZ3B1X21vZGVfZHVtYl9jcmVh dGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJciA9IGFtZGdwdV9nZW1fb2JqZWN0X2Ny ZWF0ZShhZGV2LCBhcmdzLT5zaXplLCAwLAogCQkJCSAgICAgQU1ER1BVX0dFTV9ET01BSU5fVlJB TSwKIAkJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQsCi0JCQkJ ICAgICB0dG1fYm9fdHlwZV9kZXZpY2UsCi0JCQkJICAgICAmZ29iaik7CisJCQkJICAgICBmYWxz ZSwgTlVMTCwgJmdvYmopOwogCWlmIChyKQogCQlyZXR1cm4gLUVOT01FTTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYwppbmRleCA1YjNmOTI4Li5mNDA3NDk5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYwpAQCAtMTM2LDcgKzEz Niw4IEBAIHN0cnVjdCBkbWFfYnVmICphbWRncHVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogewogCXN0cnVjdCBhbWRncHVfYm8gKmJvID0gZ2VtX3RvX2FtZGdwdV9i byhnb2JqKTsKIAotCWlmIChhbWRncHVfdHRtX3R0X2dldF91c2VybW0oYm8tPnRiby50dG0pKQor CWlmIChhbWRncHVfdHRtX3R0X2dldF91c2VybW0oYm8tPnRiby50dG0pIHx8CisJICAgIGJvLT5m bGFncyAmIEFNREdQVV9HRU1fQ1JFQVRFX0xPQ0FMKQogCQlyZXR1cm4gRVJSX1BUUigtRVBFUk0p OwogCiAJcmV0dXJuIGRybV9nZW1fcHJpbWVfZXhwb3J0KGRldiwgZ29iaiwgZmxhZ3MpOwpkaWZm IC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJt L2FtZGdwdV9kcm0uaAppbmRleCBkMGVlNzM5Li4wNTI0MWE2IDEwMDY0NAotLS0gYS9pbmNsdWRl L3VhcGkvZHJtL2FtZGdwdV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0u aApAQCAtODksNiArODksOCBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgQU1ER1BVX0dFTV9DUkVB VEVfU0hBRE9XCQkoMSA8PCA0KQogLyogRmxhZyB0aGF0IGFsbG9jYXRpbmcgdGhlIEJPIHNob3Vs ZCB1c2UgbGluZWFyIFZSQU0gKi8KICNkZWZpbmUgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05U SUdVT1VTCSgxIDw8IDUpCisvKiBGbGFnIHRoYXQgQk8gaXMgbG9jYWwgaW4gdGhlIFZNICovCisj ZGVmaW5lIEFNREdQVV9HRU1fQ1JFQVRFX0xPQ0FMCQkJKDEgPDwgNikKIAogc3RydWN0IGRybV9h bWRncHVfZ2VtX2NyZWF0ZV9pbiAgewogCS8qKiB0aGUgcmVxdWVzdGVkIG1lbW9yeSBzaXplICov Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==