From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 1/6] drm/amdgpu: add AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS flag v3 Date: Tue, 27 Sep 2016 11:49:52 +0200 Message-ID: <1474969797-1882-2-git-send-email-deathsimple@vodafone.de> References: <1474969797-1882-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: <1474969797-1882-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 RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKQWRkIGEg ZmxhZyBub3RpbmcgdGhhdCBhIEJPIG11c3QgYmUgY3JlYXRlZCB1c2luZyBsaW5lYXIgVlJBTQph bmQgc2V0IHRoaXMgZmxhZyBvbiBhbGwgaW4ga2VybmVsIHVzZXJzIHdoZXJlIGFwcHJvcHJpYXRl LgoKSG9wZWZ1bGx5IEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcuCgp2MjogYWRkIGl0IGluIGEg ZmV3IG1vcmUgcGxhY2VzLCBmaXggQ1BVIG1hcHBpbmcuCnYzOiByZW5hbWUgdG8gVlJBTV9DT05U SUdVT1VTLCBmaXggdHlwbyBpbiBDUyBjb2RlLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jZ3MuYyAgICB8ICA2ICsrKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2NzLmMgICAgIHwgIDkgKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9mYi5jICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2dhcnQuYyAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfb2JqZWN0LmMgfCAxMiArKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV90dG0uYyAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3V2ZC5jICAgIHwgIDYgKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdmNlLmMgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5jICAgICB8ICA2ICsrKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAu YyAgICAgIHwgIDkgKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhf MC5jICAgICAgfCAgNiArKysrLS0KIGluY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oICAgICAg ICAgICAgICB8ICAyICsrCiAxMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfY2dzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY2dzLmMKaW5kZXgg N2E4YmZhMy4uYTYxZjQxOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2Nncy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jZ3Mu YwpAQCAtMTQ2LDcgKzE0Niw4IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2Nnc19hbGxvY19ncHVfbWVt KHN0cnVjdCBjZ3NfZGV2aWNlICpjZ3NfZGV2aWNlLAogCXN3aXRjaCh0eXBlKSB7CiAJY2FzZSBD R1NfR1BVX01FTV9UWVBFX19WSVNJQkxFX0NPTlRJR19GQjoKIAljYXNlIENHU19HUFVfTUVNX1RZ UEVfX1ZJU0lCTEVfRkI6Ci0JCWZsYWdzID0gQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19S RVFVSVJFRDsKKwkJZmxhZ3MgPSBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVE IHwKKwkJCUFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUzsKIAkJZG9tYWluID0gQU1E R1BVX0dFTV9ET01BSU5fVlJBTTsKIAkJaWYgKG1heF9vZmZzZXQgPiBhZGV2LT5tYy5yZWFsX3Zy YW1fc2l6ZSkKIAkJCXJldHVybiAtRUlOVkFMOwpAQCAtMTU3LDcgKzE1OCw4IEBAIHN0YXRpYyBp bnQgYW1kZ3B1X2Nnc19hbGxvY19ncHVfbWVtKHN0cnVjdCBjZ3NfZGV2aWNlICpjZ3NfZGV2aWNl LAogCQlicmVhazsKIAljYXNlIENHU19HUFVfTUVNX1RZUEVfX0lOVklTSUJMRV9DT05USUdfRkI6 CiAJY2FzZSBDR1NfR1BVX01FTV9UWVBFX19JTlZJU0lCTEVfRkI6Ci0JCWZsYWdzID0gQU1ER1BV X0dFTV9DUkVBVEVfTk9fQ1BVX0FDQ0VTUzsKKwkJZmxhZ3MgPSBBTURHUFVfR0VNX0NSRUFURV9O T19DUFVfQUNDRVNTIHwKKwkJCUFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUzsKIAkJ ZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fVlJBTTsKIAkJaWYgKGFkZXYtPm1jLnZpc2libGVf dnJhbV9zaXplIDwgYWRldi0+bWMucmVhbF92cmFtX3NpemUpIHsKIAkJCXBsYWNlLmZwZm4gPQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwppbmRleCBiMGY2ZTY5Li4xODdjMzY2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwpAQCAtMTE5NSw2ICsxMTk1 LDE1IEBAIGludCBhbWRncHVfY3Nfc3lzdm1fYWNjZXNzX3JlcXVpcmVkKHN0cnVjdCBhbWRncHVf Y3NfcGFyc2VyICpwYXJzZXIpCiAJCXIgPSBhbWRncHVfdHRtX2JpbmQoJmJvLT50Ym8sICZiby0+ dGJvLm1lbSk7CiAJCWlmICh1bmxpa2VseShyKSkKIAkJCXJldHVybiByOworCisJCWlmIChiby0+ ZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMpCisJCQljb250aW51ZTsK KworCQliby0+ZmxhZ3MgfD0gQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VTOworCQlh bWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihibywgYm8tPmFsbG93ZWRfZG9tYWlucyk7 CisJCXIgPSB0dG1fYm9fdmFsaWRhdGUoJmJvLT50Ym8sICZiby0+cGxhY2VtZW50LCBmYWxzZSwg ZmFsc2UpOworCQlpZiAodW5saWtlbHkocikpCisJCQlyZXR1cm4gcjsKIAl9CiAKIAlyZXR1cm4g MDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2Uu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwppbmRleCBjNjI2 NDM0Li41Y2E2YTM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rldmlj ZS5jCkBAIC0yNjUsNyArMjY1LDggQEAgc3RhdGljIGludCBhbWRncHVfdnJhbV9zY3JhdGNoX2lu aXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJaWYgKGFkZXYtPnZyYW1fc2NyYXRjaC5y b2JqID09IE5VTEwpIHsKIAkJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgQU1ER1BVX0dQVV9Q QUdFX1NJWkUsCiAJCQkJICAgICBQQUdFX1NJWkUsIHRydWUsIEFNREdQVV9HRU1fRE9NQUlOX1ZS QU0sCi0JCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVELAorCQkJ CSAgICAgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCB8CisJCQkJICAgICBB TURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMsCiAJCQkJICAgICBOVUxMLCBOVUxMLCAm YWRldi0+dnJhbV9zY3JhdGNoLnJvYmopOwogCQlpZiAocikgewogCQkJcmV0dXJuIHI7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmIuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jCmluZGV4IDAzNGU5NDUuLmY0OTEwOTIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jCkBAIC0xNDgsNyArMTQ4LDggQEAg c3RhdGljIGludCBhbWRncHVmYl9jcmVhdGVfcGlubmVkX29iamVjdChzdHJ1Y3QgYW1kZ3B1X2Zi ZGV2ICpyZmJkZXYsCiAJYWxpZ25lZF9zaXplID0gQUxJR04oc2l6ZSwgUEFHRV9TSVpFKTsKIAly ZXQgPSBhbWRncHVfZ2VtX29iamVjdF9jcmVhdGUoYWRldiwgYWxpZ25lZF9zaXplLCAwLAogCQkJ CSAgICAgICBBTURHUFVfR0VNX0RPTUFJTl9WUkFNLAotCQkJCSAgICAgICBBTURHUFVfR0VNX0NS RUFURV9DUFVfQUNDRVNTX1JFUVVJUkVELAorCQkJCSAgICAgICBBTURHUFVfR0VNX0NSRUFURV9D UFVfQUNDRVNTX1JFUVVJUkVEIHwKKwkJCQkgICAgICAgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9D T05USUdVT1VTLAogCQkJCSAgICAgICB0cnVlLCAmZ29iaik7CiAJaWYgKHJldCkgewogCQlwcmlu dGsoS0VSTl9FUlIgImZhaWxlZCB0byBhbGxvY2F0ZSBmcmFtZWJ1ZmZlciAoJWQpXG4iLApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nYXJ0LmMKaW5kZXggMjFhMTI0Mi4uOTY0ZDJh OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jCkBAIC0xMjYsNyAr MTI2LDggQEAgaW50IGFtZGdwdV9nYXJ0X3RhYmxlX3ZyYW1fYWxsb2Moc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCiAJaWYgKGFkZXYtPmdhcnQucm9iaiA9PSBOVUxMKSB7CiAJCXIgPSBhbWRn cHVfYm9fY3JlYXRlKGFkZXYsIGFkZXYtPmdhcnQudGFibGVfc2l6ZSwKIAkJCQkgICAgIFBBR0Vf U0laRSwgdHJ1ZSwgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwKLQkJCQkgICAgIEFNREdQVV9HRU1f Q1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQsCisJCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9D UFVfQUNDRVNTX1JFUVVJUkVEIHwKKwkJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09O VElHVU9VUywKIAkJCQkgICAgIE5VTEwsIE5VTEwsICZhZGV2LT5nYXJ0LnJvYmopOwogCQlpZiAo cikgewogCQkJcmV0dXJuIHI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2Jq ZWN0LmMKaW5kZXggYWEwNzRmYS4uYmE0MTgwNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9vYmplY3QuYwpAQCAtMjQ1LDcgKzI0NSw4IEBAIGludCBhbWRncHVfYm9fY3Jl YXRlX2tlcm5lbChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlpbnQgcjsKIAogCXIgPSBh bWRncHVfYm9fY3JlYXRlKGFkZXYsIHNpemUsIGFsaWduLCB0cnVlLCBkb21haW4sCi0JCQkgICAg IEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQsCisJCQkgICAgIEFNREdQVV9H RU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQgfAorCQkJICAgICBBTURHUFVfR0VNX0NSRUFU RV9WUkFNX0NPTlRJR1VPVVMsCiAJCQkgICAgIE5VTEwsIE5VTEwsIGJvX3B0cik7CiAJaWYgKHIp IHsKIAkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxvY2F0ZSBrZXJuZWwg Ym9cbiIsIHIpOwpAQCAtNjQzLDYgKzY0NCw4IEBAIGludCBhbWRncHVfYm9fcGluX3Jlc3RyaWN0 ZWQoc3RydWN0IGFtZGdwdV9ibyAqYm8sIHUzMiBkb21haW4sCiAKIAkJcmV0dXJuIDA7CiAJfQor CisJYm8tPmZsYWdzIHw9IEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUzsKIAlhbWRn cHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihibywgZG9tYWluKTsKIAlmb3IgKGkgPSAwOyBp IDwgYm8tPnBsYWNlbWVudC5udW1fcGxhY2VtZW50OyBpKyspIHsKIAkJLyogZm9yY2UgdG8gcGlu IGludG8gdmlzaWJsZSB2aWRlbyByYW0gKi8KQEAgLTg4NSw3ICs4ODgsOSBAQCBpbnQgYW1kZ3B1 X2JvX2ZhdWx0X3Jlc2VydmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8pCiAK IAlzaXplID0gYm8tPm1lbS5udW1fcGFnZXMgPDwgUEFHRV9TSElGVDsKIAlvZmZzZXQgPSBiby0+ bWVtLnN0YXJ0IDw8IFBBR0VfU0hJRlQ7Ci0JaWYgKChvZmZzZXQgKyBzaXplKSA8PSBhZGV2LT5t Yy52aXNpYmxlX3ZyYW1fc2l6ZSkKKwkvKiBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBtYXAgc2Nh dHRlcmVkIFZSQU0gdG8gdGhlIENQVSAqLworCWlmICgob2Zmc2V0ICsgc2l6ZSkgPD0gYWRldi0+ bWMudmlzaWJsZV92cmFtX3NpemUgJiYKKwkgICAgKGFiby0+ZmxhZ3MgJiBBTURHUFVfR0VNX0NS RUFURV9WUkFNX0NPTlRJR1VPVVMpKQogCQlyZXR1cm4gMDsKIAogCS8qIENhbid0IG1vdmUgYSBw aW5uZWQgQk8gdG8gdmlzaWJsZSBWUkFNICovCkBAIC04OTMsNiArODk4LDcgQEAgaW50IGFtZGdw dV9ib19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQog CQlyZXR1cm4gLUVJTlZBTDsKIAogCS8qIGh1cnJhaCB0aGUgbWVtb3J5IGlzIG5vdCB2aXNpYmxl ICEgKi8KKwlhYm8tPmZsYWdzIHw9IEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUzsK IAlhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihhYm8sIEFNREdQVV9HRU1fRE9NQUlO X1ZSQU0pOwogCWxwZm4gPQlhZGV2LT5tYy52aXNpYmxlX3ZyYW1fc2l6ZSA+PiBQQUdFX1NISUZU OwogCWZvciAoaSA9IDA7IGkgPCBhYm8tPnBsYWNlbWVudC5udW1fcGxhY2VtZW50OyBpKyspIHsK QEAgLTk1NCw2ICs5NjAsOCBAQCB1NjQgYW1kZ3B1X2JvX2dwdV9vZmZzZXQoc3RydWN0IGFtZGdw dV9ibyAqYm8pCiAJV0FSTl9PTl9PTkNFKCF3d19tdXRleF9pc19sb2NrZWQoJmJvLT50Ym8ucmVz di0+bG9jaykgJiYKIAkJICAgICAhYm8tPnBpbl9jb3VudCk7CiAJV0FSTl9PTl9PTkNFKGJvLT50 Ym8ubWVtLnN0YXJ0ID09IEFNREdQVV9CT19JTlZBTElEX09GRlNFVCk7CisJV0FSTl9PTl9PTkNF KGJvLT50Ym8ubWVtLm1lbV90eXBlID09IFRUTV9QTF9WUkFNICYmCisJCSAgICAgIShiby0+Zmxh Z3MgJiBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMpKTsKIAogCXJldHVybiBiby0+ dGJvLm9mZnNldDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwppbmRl eCBjZTlkYTIwLi4wNmFiNjI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0 bS5jCkBAIC0xMTE2LDcgKzExMTYsOCBAQCBpbnQgYW1kZ3B1X3R0bV9pbml0KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KQogCiAJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgMjU2ICogMTAy NCwgUEFHRV9TSVpFLCB0cnVlLAogCQkJICAgICBBTURHUFVfR0VNX0RPTUFJTl9WUkFNLAotCQkJ ICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVELAorCQkJICAgICBBTURH UFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKKwkJCSAgICAgQU1ER1BVX0dFTV9D UkVBVEVfVlJBTV9DT05USUdVT1VTLAogCQkJICAgICBOVUxMLCBOVUxMLCAmYWRldi0+c3RvbGxl bl92Z2FfbWVtb3J5KTsKIAlpZiAocikgewogCQlyZXR1cm4gcjsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV91dmQuYwppbmRleCBlMzI4MWNhLi40Y2YzY2E3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jCkBAIC0xMDAyLDcgKzEwMDIsOCBAQCBpbnQgYW1k Z3B1X3V2ZF9nZXRfY3JlYXRlX21zZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90 IGhhbmRsZSwKIAogCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIDEwMjQsIFBBR0VfU0laRSwg dHJ1ZSwKIAkJCSAgICAgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwKLQkJCSAgICAgQU1ER1BVX0dF TV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCwKKwkJCSAgICAgQU1ER1BVX0dFTV9DUkVBVEVf Q1BVX0FDQ0VTU19SRVFVSVJFRCB8CisJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09O VElHVU9VUywKIAkJCSAgICAgTlVMTCwgTlVMTCwgJmJvKTsKIAlpZiAocikKIAkJcmV0dXJuIHI7 CkBAIC0xMDUxLDcgKzEwNTIsOCBAQCBpbnQgYW1kZ3B1X3V2ZF9nZXRfZGVzdHJveV9tc2coc3Ry dWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1aW50MzJfdCBoYW5kbGUsCiAKIAlyID0gYW1kZ3B1X2Jv X2NyZWF0ZShhZGV2LCAxMDI0LCBQQUdFX1NJWkUsIHRydWUsCiAJCQkgICAgIEFNREdQVV9HRU1f RE9NQUlOX1ZSQU0sCi0JCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlS RUQsCisJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQgfAorCQkJ ICAgICBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMsCiAJCQkgICAgIE5VTEwsIE5V TEwsICZibyk7CiAJaWYgKHIpCiAJCXJldHVybiByOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3ZjZS5jCmluZGV4IDA2Yjk0YzEuLjIxN2NiZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdmNlLmMKQEAgLTE1Nyw3ICsxNTcsOCBAQCBpbnQgYW1kZ3B1X3ZjZV9z d19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBsb25nIHNpemUpCiAK IAlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsCiAJCQkg ICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sCi0JCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQ VV9BQ0NFU1NfUkVRVUlSRUQsCisJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1Nf UkVRVUlSRUQgfAorCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMsCiAJ CQkgICAgIE5VTEwsIE5VTEwsICZhZGV2LT52Y2UudmNwdV9ibyk7CiAJaWYgKHIpIHsKIAkJZGV2 X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxvY2F0ZSBWQ0UgYm9cbiIsIHIpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwppbmRleCBiYzRiMjJjLi4yMzc5ZWIx IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwpAQCAtMTQyMCw3ICsxNDIw LDggQEAgaW50IGFtZGdwdV92bV9ib19tYXAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJ CQkJICAgICBBTURHUFVfR1BVX1BBR0VfU0laRSwgdHJ1ZSwKIAkJCQkgICAgIEFNREdQVV9HRU1f RE9NQUlOX1ZSQU0sCiAJCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9OT19DUFVfQUNDRVNTIHwK LQkJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVywKKwkJCQkgICAgIEFNREdQVV9HRU1f Q1JFQVRFX1NIQURPVyB8CisJCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VP VVMsCiAJCQkJICAgICBOVUxMLCByZXN2LCAmcHQpOwogCQlpZiAocikKIAkJCWdvdG8gZXJyb3Jf ZnJlZTsKQEAgLTE2MzAsNyArMTYzMSw4IEBAIGludCBhbWRncHVfdm1faW5pdChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0pCiAJciA9IGFtZGdwdV9ib19j cmVhdGUoYWRldiwgcGRfc2l6ZSwgYWxpZ24sIHRydWUsCiAJCQkgICAgIEFNREdQVV9HRU1fRE9N QUlOX1ZSQU0sCiAJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX05PX0NQVV9BQ0NFU1MgfAotCQkJ ICAgICBBTURHUFVfR0VNX0NSRUFURV9TSEFET1csCisJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRF X1NIQURPVyB8CisJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUywKIAkJ CSAgICAgTlVMTCwgTlVMTCwgJnZtLT5wYWdlX2RpcmVjdG9yeSk7CiAJaWYgKHIpCiAJCWdvdG8g ZXJyb3JfZnJlZV9zY2hlZF9lbnRpdHk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nZnhfdjdfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAu YwppbmRleCAzMmE2NzYyLi4yYmRjZGQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nZnhfdjdfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92 N18wLmMKQEAgLTMzODUsNyArMzM4NSw4IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBfcmxjX2luaXQo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCWlmIChhZGV2LT5nZngucmxjLnNhdmVfcmVz dG9yZV9vYmogPT0gTlVMTCkgewogCQkJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgZHdzICog NCwgUEFHRV9TSVpFLCB0cnVlLAogCQkJCQkgICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sCi0J CQkJCSAgICAgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCwKKwkJCQkJICAg ICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKKwkJCQkJICAgICBBTURH UFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMsCiAJCQkJCSAgICAgTlVMTCwgTlVMTCwKIAkJ CQkJICAgICAmYWRldi0+Z2Z4LnJsYy5zYXZlX3Jlc3RvcmVfb2JqKTsKIAkJCWlmIChyKSB7CkBA IC0zNDI5LDcgKzM0MzAsOCBAQCBzdGF0aWMgaW50IGdmeF92N18wX3JsY19pbml0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQogCQlpZiAoYWRldi0+Z2Z4LnJsYy5jbGVhcl9zdGF0ZV9vYmog PT0gTlVMTCkgewogCQkJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgZHdzICogNCwgUEFHRV9T SVpFLCB0cnVlLAogCQkJCQkgICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sCi0JCQkJCSAgICAg QU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCwKKwkJCQkJICAgICBBTURHUFVf R0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKKwkJCQkJICAgICBBTURHUFVfR0VNX0NS RUFURV9WUkFNX0NPTlRJR1VPVVMsCiAJCQkJCSAgICAgTlVMTCwgTlVMTCwKIAkJCQkJICAgICAm YWRldi0+Z2Z4LnJsYy5jbGVhcl9zdGF0ZV9vYmopOwogCQkJaWYgKHIpIHsKQEAgLTM0NjksNyAr MzQ3MSw4IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBfcmxjX2luaXQoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpCiAJCWlmIChhZGV2LT5nZngucmxjLmNwX3RhYmxlX29iaiA9PSBOVUxMKSB7CiAJ CQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBhZGV2LT5nZngucmxjLmNwX3RhYmxlX3NpemUs IFBBR0VfU0laRSwgdHJ1ZSwKIAkJCQkJICAgICBBTURHUFVfR0VNX0RPTUFJTl9WUkFNLAotCQkJ CQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQsCisJCQkJCSAgICAg QU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCB8CisJCQkJCSAgICAgQU1ER1BV X0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VTLAogCQkJCQkgICAgIE5VTEwsIE5VTEwsCiAJCQkJ CSAgICAgJmFkZXYtPmdmeC5ybGMuY3BfdGFibGVfb2JqKTsKIAkJCWlmIChyKSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYwppbmRleCAzMjQ3NjRiLi4xNDA5OTdmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMKQEAgLTEyNzQsNyArMTI3NCw4IEBAIHN0YXRp YyBpbnQgZ2Z4X3Y4XzBfcmxjX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCWlm IChhZGV2LT5nZngucmxjLmNsZWFyX3N0YXRlX29iaiA9PSBOVUxMKSB7CiAJCQlyID0gYW1kZ3B1 X2JvX2NyZWF0ZShhZGV2LCBkd3MgKiA0LCBQQUdFX1NJWkUsIHRydWUsCiAJCQkJCSAgICAgQU1E R1BVX0dFTV9ET01BSU5fVlJBTSwKLQkJCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUND RVNTX1JFUVVJUkVELAorCQkJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVR VUlSRUQgfAorCQkJCQkgICAgIEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUywKIAkJ CQkJICAgICBOVUxMLCBOVUxMLAogCQkJCQkgICAgICZhZGV2LT5nZngucmxjLmNsZWFyX3N0YXRl X29iaik7CiAJCQlpZiAocikgewpAQCAtMTMxNiw3ICsxMzE3LDggQEAgc3RhdGljIGludCBnZnhf djhfMF9ybGNfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJaWYgKGFkZXYtPmdm eC5ybGMuY3BfdGFibGVfb2JqID09IE5VTEwpIHsKIAkJCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFk ZXYsIGFkZXYtPmdmeC5ybGMuY3BfdGFibGVfc2l6ZSwgUEFHRV9TSVpFLCB0cnVlLAogCQkJCQkg ICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sCi0JCQkJCSAgICAgQU1ER1BVX0dFTV9DUkVBVEVf Q1BVX0FDQ0VTU19SRVFVSVJFRCwKKwkJCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUND RVNTX1JFUVVJUkVEIHwKKwkJCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VP VVMsCiAJCQkJCSAgICAgTlVMTCwgTlVMTCwKIAkJCQkJICAgICAmYWRldi0+Z2Z4LnJsYy5jcF90 YWJsZV9vYmopOwogCQkJaWYgKHIpIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vYW1k Z3B1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKaW5kZXggYzI3Y2NiZS4u MzE2YjExMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKKysrIGIv aW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKQEAgLTgzLDYgKzgzLDggQEAgZXh0ZXJuICJD IiB7CiAjZGVmaW5lIEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ0xFQVJFRAkJKDEgPDwgMykKIC8q IEZsYWcgdGhhdCBjcmVhdGUgc2hhZG93IGJvKEdUVCkgd2hpbGUgYWxsb2NhdGluZyB2cmFtIGJv ICovCiAjZGVmaW5lIEFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVwkJKDEgPDwgNCkKKy8qIEZsYWcg dGhhdCBhbGxvY2F0aW5nIHRoZSBCTyBzaG91bGQgdXNlIGxpbmVhciBWUkFNICovCisjZGVmaW5l IEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUwkoMSA8PCA1KQogCiBzdHJ1Y3QgZHJt X2FtZGdwdV9nZW1fY3JlYXRlX2luICB7CiAJLyoqIHRoZSByZXF1ZXN0ZWQgbWVtb3J5IHNpemUg Ki8KLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK