From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 1/3] drm/amdgpu: cleanup adjust_mc_addr handling v2 Date: Mon, 15 May 2017 13:57:37 +0200 Message-ID: <1494849459-3221-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKUmVuYW1l IGFkanVzdF9tY19hZGRyIHRvIGdldF92bV9wZGUgYW5kIGNoZWNrIHRoZSBhZGRyZXNzIGJpdHMg aW4gb25lIHBsYWNlLgoKdjI6IGhhbmRsZSB2Y24gYXMgd2VsbCwga2VlcCBzZXR0aW5nIHRoZSB2 YWxpZCBiaXQgbWFudWFsbHksCiAgICBhZGQgYSBCVUdfT04oKSBmb3IgR01DIHY2LCB2NyBhbmQg djggYXMgd2VsbC4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5r b2VuaWdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAg ICB8ICA1ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyB8IDI2 ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9n ZnhfdjlfMC5jICB8ICA2ICsrLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2 XzAuYyAgfCAgNyArKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5j ICB8ICA5ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYyAg fCAgOSArKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMgIHwg MTAgKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92NF8wLmMgfCAg NiArKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92N18wLmMgIHwgMTIgKysr Ky0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjRfMC5jICB8ICA2ICsr LS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNuX3YxXzAuYyAgfCAgNSArKy0tLQog MTEgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRleCBmYWRlYjU1Li5iYzA4OWViIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaApAQCAtMzA5LDggKzMwOSw4IEBAIHN0cnVjdCBhbWRn cHVfZ2FydF9mdW5jcyB7CiAJLyogc2V0IHB0ZSBmbGFncyBiYXNlZCBwZXIgYXNpYyAqLwogCXVp bnQ2NF90ICgqZ2V0X3ZtX3B0ZV9mbGFncykoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJ CQkJICAgICB1aW50MzJfdCBmbGFncyk7Ci0JLyogYWRqdXN0IG1jIGFkZHIgaW4gZmIgZm9yIEFQ VSBjYXNlICovCi0JdTY0ICgqYWRqdXN0X21jX2FkZHIpKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCB1NjQgYWRkcik7CisJLyogZ2V0IHRoZSBwZGUgZm9yIGEgZ2l2ZW4gbWMgYWRkciAqLwor CXU2NCAoKmdldF92bV9wZGUpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1NjQgYWRkcik7 CiAJdWludDMyX3QgKCpnZXRfaW52YWxpZGF0ZV9yZXEpKHVuc2lnbmVkIGludCB2bV9pZCk7CiB9 OwogCkBAIC0xODE2LDYgKzE4MTYsNyBAQCBhbWRncHVfZ2V0X3NkbWFfaW5zdGFuY2Uoc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nKQogI2RlZmluZSBhbWRncHVfYXNpY19nZXRfY29uZmlnX21lbXNp emUoYWRldikgKGFkZXYpLT5hc2ljX2Z1bmNzLT5nZXRfY29uZmlnX21lbXNpemUoKGFkZXYpKQog I2RlZmluZSBhbWRncHVfZ2FydF9mbHVzaF9ncHVfdGxiKGFkZXYsIHZtaWQpIChhZGV2KS0+Z2Fy dC5nYXJ0X2Z1bmNzLT5mbHVzaF9ncHVfdGxiKChhZGV2KSwgKHZtaWQpKQogI2RlZmluZSBhbWRn cHVfZ2FydF9zZXRfcHRlX3BkZShhZGV2LCBwdCwgaWR4LCBhZGRyLCBmbGFncykgKGFkZXYpLT5n YXJ0LmdhcnRfZnVuY3MtPnNldF9wdGVfcGRlKChhZGV2KSwgKHB0KSwgKGlkeCksIChhZGRyKSwg KGZsYWdzKSkKKyNkZWZpbmUgYW1kZ3B1X2dhcnRfZ2V0X3ZtX3BkZShhZGV2LCBhZGRyKSAoYWRl diktPmdhcnQuZ2FydF9mdW5jcy0+Z2V0X3ZtX3BkZSgoYWRldiksIChhZGRyKSkKICNkZWZpbmUg YW1kZ3B1X3ZtX2NvcHlfcHRlKGFkZXYsIGliLCBwZSwgc3JjLCBjb3VudCkgKChhZGV2KS0+dm1f bWFuYWdlci52bV9wdGVfZnVuY3MtPmNvcHlfcHRlKChpYiksIChwZSksIChzcmMpLCAoY291bnQp KSkKICNkZWZpbmUgYW1kZ3B1X3ZtX3dyaXRlX3B0ZShhZGV2LCBpYiwgcGUsIHZhbHVlLCBjb3Vu dCwgaW5jcikgKChhZGV2KS0+dm1fbWFuYWdlci52bV9wdGVfZnVuY3MtPndyaXRlX3B0ZSgoaWIp LCAocGUpLCAodmFsdWUpLCAoY291bnQpLCAoaW5jcikpKQogI2RlZmluZSBhbWRncHVfdm1fc2V0 X3B0ZV9wZGUoYWRldiwgaWIsIHBlLCBhZGRyLCBjb3VudCwgaW5jciwgZmxhZ3MpICgoYWRldikt PnZtX21hbmFnZXIudm1fcHRlX2Z1bmNzLT5zZXRfcHRlX3BkZSgoaWIpLCAocGUpLCAoYWRkciks IChjb3VudCksIChpbmNyKSwgKGZsYWdzKSkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV92bS5jCmluZGV4IDg4NDIwZGMuLjM0NGY5NDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV92bS5jCkBAIC02ODIsMTYgKzY4Miw2IEBAIHN0YXRpYyBib29sIGFtZGdwdV92bV9y aW5nX2hhc19jb21wdXRlX3ZtX2J1ZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiAJcmV0dXJu IGZhbHNlOwogfQogCi1zdGF0aWMgdTY0IGFtZGdwdV92bV9hZGp1c3RfbWNfYWRkcihzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwgdTY0IG1jX2FkZHIpCi17Ci0JdTY0IGFkZHIgPSBtY19hZGRy OwotCi0JaWYgKGFkZXYtPmdhcnQuZ2FydF9mdW5jcy0+YWRqdXN0X21jX2FkZHIpCi0JCWFkZHIg PSBhZGV2LT5nYXJ0LmdhcnRfZnVuY3MtPmFkanVzdF9tY19hZGRyKGFkZXYsIGFkZHIpOwotCi0J cmV0dXJuIGFkZHI7Ci19Ci0KIGJvb2wgYW1kZ3B1X3ZtX25lZWRfcGlwZWxpbmVfc3luYyhzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iKQogewpA QCAtMTAzNCwxOCArMTAyNCwxOCBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV91cGRhdGVfbGV2ZWwo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCSAgICAoY291bnQgPT0gQU1ER1BVX1ZNX01B WF9VUERBVEVfU0laRSkpIHsKIAogCQkJaWYgKGNvdW50KSB7Ci0JCQkJdWludDY0X3QgcHRfYWRk ciA9Ci0JCQkJCWFtZGdwdV92bV9hZGp1c3RfbWNfYWRkcihhZGV2LCBsYXN0X3B0KTsKKwkJCQl1 aW50NjRfdCBlbnRyeTsKIAorCQkJCWVudHJ5ID0gYW1kZ3B1X2dhcnRfZ2V0X3ZtX3BkZShhZGV2 LCBsYXN0X3B0KTsKIAkJCQlpZiAoc2hhZG93KQogCQkJCQlhbWRncHVfdm1fZG9fc2V0X3B0ZXMo JnBhcmFtcywKIAkJCQkJCQkgICAgICBsYXN0X3NoYWRvdywKLQkJCQkJCQkgICAgICBwdF9hZGRy LCBjb3VudCwKKwkJCQkJCQkgICAgICBlbnRyeSwgY291bnQsCiAJCQkJCQkJICAgICAgaW5jciwK IAkJCQkJCQkgICAgICBBTURHUFVfUFRFX1ZBTElEKTsKIAogCQkJCWFtZGdwdV92bV9kb19zZXRf cHRlcygmcGFyYW1zLCBsYXN0X3BkZSwKLQkJCQkJCSAgICAgIHB0X2FkZHIsIGNvdW50LCBpbmNy LAorCQkJCQkJICAgICAgZW50cnksIGNvdW50LCBpbmNyLAogCQkJCQkJICAgICAgQU1ER1BVX1BU RV9WQUxJRCk7CiAJCQl9CiAKQEAgLTEwNTksMTMgKzEwNDksMTUgQEAgc3RhdGljIGludCBhbWRn cHVfdm1fdXBkYXRlX2xldmVsKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCX0KIAogCWlm IChjb3VudCkgewotCQl1aW50NjRfdCBwdF9hZGRyID0gYW1kZ3B1X3ZtX2FkanVzdF9tY19hZGRy KGFkZXYsIGxhc3RfcHQpOworCQl1aW50NjRfdCBlbnRyeTsKKworCQllbnRyeSA9IGFtZGdwdV9n YXJ0X2dldF92bV9wZGUoYWRldiwgbGFzdF9wdCk7CiAKIAkJaWYgKHZtLT5yb290LmJvLT5zaGFk b3cpCi0JCQlhbWRncHVfdm1fZG9fc2V0X3B0ZXMoJnBhcmFtcywgbGFzdF9zaGFkb3csIHB0X2Fk ZHIsCisJCQlhbWRncHVfdm1fZG9fc2V0X3B0ZXMoJnBhcmFtcywgbGFzdF9zaGFkb3csIGVudHJ5 LAogCQkJCQkgICAgICBjb3VudCwgaW5jciwgQU1ER1BVX1BURV9WQUxJRCk7CiAKLQkJYW1kZ3B1 X3ZtX2RvX3NldF9wdGVzKCZwYXJhbXMsIGxhc3RfcGRlLCBwdF9hZGRyLAorCQlhbWRncHVfdm1f ZG9fc2V0X3B0ZXMoJnBhcmFtcywgbGFzdF9wZGUsIGVudHJ5LAogCQkJCSAgICAgIGNvdW50LCBp bmNyLCBBTURHUFVfUFRFX1ZBTElEKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhf djlfMC5jCmluZGV4IDZkYzc1ZDIuLmUwOGEyMzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z2Z4X3Y5XzAuYwpAQCAtMzc1OSwxMCArMzc1OSw4IEBAIHN0YXRpYyB2b2lkIGdmeF92OV8wX3Jp bmdfZW1pdF92bV9mbHVzaChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJdWludDMyX3QgcmVx ID0gcmluZy0+YWRldi0+Z2FydC5nYXJ0X2Z1bmNzLT5nZXRfaW52YWxpZGF0ZV9yZXEodm1faWQp OwogCXVuc2lnbmVkIGVuZyA9IHJpbmctPnZtX2ludl9lbmc7CiAKLQlwZF9hZGRyID0gcmluZy0+ YWRldi0+Z2FydC5nYXJ0X2Z1bmNzLT5hZGp1c3RfbWNfYWRkcihyaW5nLT5hZGV2LCBwZF9hZGRy KTsKLQlwZF9hZGRyID0gcGRfYWRkciB8IDB4MTsgLyogdmFsaWQgYml0ICovCi0JLyogbm93IG9u bHkgdXNlIHBoeXNpY2FsIGJhc2UgYWRkcmVzcyBvZiBQREUgYW5kIHZhbGlkICovCi0JQlVHX09O KHBkX2FkZHIgJiAweEZGRkYwMDAwMDAwMDAwM0VVTEwpOworCXBkX2FkZHIgPSBhbWRncHVfZ2Fy dF9nZXRfdm1fcGRlKHJpbmctPmFkZXYsIHBkX2FkZHIpOworCXBkX2FkZHIgfD0gQU1ER1BVX1BU RV9WQUxJRDsKIAogCWdmeF92OV8wX3dyaXRlX2RhdGFfdG9fcmVnKHJpbmcsIHVzZXBmcCwgdHJ1 ZSwKIAkJCQkgICBodWItPmN0eDBfcHRiX2FkZHJfbG8zMiArICgyICogdm1faWQpLApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMKaW5kZXggMWU2MjYzYS4uZDVmM2Q4NzMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAuYwpAQCAtMzk1LDYgKzM5NSwxMiBAQCBzdGF0 aWMgdWludDY0X3QgZ21jX3Y2XzBfZ2V0X3ZtX3B0ZV9mbGFncyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKIAlyZXR1cm4gcHRlX2ZsYWc7CiB9CiAKK3N0YXRpYyB1aW50NjRfdCBnbWNfdjZf MF9nZXRfdm1fcGRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50NjRfdCBhZGRyKQor eworCUJVR19PTihhZGRyICYgMHhGRkZGRjAwMDAwMDBGRkZVTEwpOworCXJldHVybiBhZGRyOwor fQorCiBzdGF0aWMgdm9pZCBnbWNfdjZfMF9zZXRfZmF1bHRfZW5hYmxlX2RlZmF1bHQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJCSAgICAgIGJvb2wgdmFsdWUpCiB7CkBAIC0xMTI3 LDYgKzExMzMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9nYXJ0X2Z1bmNzIGdtY192 Nl8wX2dhcnRfZnVuY3MgPSB7CiAJLmZsdXNoX2dwdV90bGIgPSBnbWNfdjZfMF9nYXJ0X2ZsdXNo X2dwdV90bGIsCiAJLnNldF9wdGVfcGRlID0gZ21jX3Y2XzBfZ2FydF9zZXRfcHRlX3BkZSwKIAku c2V0X3BydCA9IGdtY192Nl8wX3NldF9wcnQsCisJLmdldF92bV9wZGUgPSBnbWNfdjZfMF9nZXRf dm1fcGRlLAogCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y2XzBfZ2V0X3ZtX3B0ZV9mbGFncwog fTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKaW5kZXggOTY3NTA1Yi4uNGYx NDBlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jCkBAIC00NzIsNiArNDcy LDEyIEBAIHN0YXRpYyB1aW50NjRfdCBnbWNfdjdfMF9nZXRfdm1fcHRlX2ZsYWdzKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LAogCXJldHVybiBwdGVfZmxhZzsKIH0KIAorc3RhdGljIHVpbnQ2 NF90IGdtY192N18wX2dldF92bV9wZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQ2 NF90IGFkZHIpCit7CisJQlVHX09OKGFkZHIgJiAweEZGRkZGMDAwMDAwMEZGRlVMTCk7CisJcmV0 dXJuIGFkZHI7Cit9CisKIC8qKgogICogZ21jX3Y4XzBfc2V0X2ZhdWx0X2VuYWJsZV9kZWZhdWx0 IC0gdXBkYXRlIFZNIGZhdWx0IGhhbmRsaW5nCiAgKgpAQCAtMTI5Myw3ICsxMjk5LDggQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBhbWRncHVfZ2FydF9mdW5jcyBnbWNfdjdfMF9nYXJ0X2Z1bmNzID0g ewogCS5mbHVzaF9ncHVfdGxiID0gZ21jX3Y3XzBfZ2FydF9mbHVzaF9ncHVfdGxiLAogCS5zZXRf cHRlX3BkZSA9IGdtY192N18wX2dhcnRfc2V0X3B0ZV9wZGUsCiAJLnNldF9wcnQgPSBnbWNfdjdf MF9zZXRfcHJ0LAotCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y3XzBfZ2V0X3ZtX3B0ZV9mbGFn cworCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y3XzBfZ2V0X3ZtX3B0ZV9mbGFncywKKwkuZ2V0 X3ZtX3BkZSA9IGdtY192N18wX2dldF92bV9wZGUKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg YW1kZ3B1X2lycV9zcmNfZnVuY3MgZ21jX3Y3XzBfaXJxX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dtY192OF8wLmMKaW5kZXggM2I1ZWEwZi4uZjA1YzAzNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9nbWNfdjhfMC5jCkBAIC02NTYsNiArNjU2LDEyIEBAIHN0YXRpYyB1aW50 NjRfdCBnbWNfdjhfMF9nZXRfdm1fcHRlX2ZsYWdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAogCXJldHVybiBwdGVfZmxhZzsKIH0KIAorc3RhdGljIHVpbnQ2NF90IGdtY192OF8wX2dldF92 bV9wZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQ2NF90IGFkZHIpCit7CisJQlVH X09OKGFkZHIgJiAweEZGRjAwMDAwMDAwMDBGRkZVTEwpOworCXJldHVybiBhZGRyOworfQorCiAv KioKICAqIGdtY192OF8wX3NldF9mYXVsdF9lbmFibGVfZGVmYXVsdCAtIHVwZGF0ZSBWTSBmYXVs dCBoYW5kbGluZwogICoKQEAgLTE2MTIsNyArMTYxOCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg YW1kZ3B1X2dhcnRfZnVuY3MgZ21jX3Y4XzBfZ2FydF9mdW5jcyA9IHsKIAkuZmx1c2hfZ3B1X3Rs YiA9IGdtY192OF8wX2dhcnRfZmx1c2hfZ3B1X3RsYiwKIAkuc2V0X3B0ZV9wZGUgPSBnbWNfdjhf MF9nYXJ0X3NldF9wdGVfcGRlLAogCS5zZXRfcHJ0ID0gZ21jX3Y4XzBfc2V0X3BydCwKLQkuZ2V0 X3ZtX3B0ZV9mbGFncyA9IGdtY192OF8wX2dldF92bV9wdGVfZmxhZ3MKKwkuZ2V0X3ZtX3B0ZV9m bGFncyA9IGdtY192OF8wX2dldF92bV9wdGVfZmxhZ3MsCisJLmdldF92bV9wZGUgPSBnbWNfdjhf MF9nZXRfdm1fcGRlCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9pcnFfc3JjX2Z1 bmNzIGdtY192OF8wX2lycV9mdW5jcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dtY192OV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlf MC5jCmluZGV4IDE5ZTEwMjcuLjA0N2IxYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dtY192OV8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21j X3Y5XzAuYwpAQCAtMzU4LDE3ICszNTgsMTkgQEAgc3RhdGljIHVpbnQ2NF90IGdtY192OV8wX2dl dF92bV9wdGVfZmxhZ3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJcmV0dXJuIHB0ZV9m bGFnOwogfQogCi1zdGF0aWMgdTY0IGdtY192OV8wX2FkanVzdF9tY19hZGRyKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LCB1NjQgbWNfYWRkcikKK3N0YXRpYyB1NjQgZ21jX3Y5XzBfZ2V0X3Zt X3BkZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdTY0IGFkZHIpCiB7Ci0JcmV0dXJuIGFk ZXYtPnZtX21hbmFnZXIudnJhbV9iYXNlX29mZnNldCArIG1jX2FkZHIgLSBhZGV2LT5tYy52cmFt X3N0YXJ0OworCWFkZHIgPSBhZGV2LT52bV9tYW5hZ2VyLnZyYW1fYmFzZV9vZmZzZXQgKyBhZGRy IC0gYWRldi0+bWMudnJhbV9zdGFydDsKKwlCVUdfT04oYWRkciAmIDB4RkZGRjAwMDAwMDAwMDAz RlVMTCk7CisJcmV0dXJuIGFkZHI7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2dh cnRfZnVuY3MgZ21jX3Y5XzBfZ2FydF9mdW5jcyA9IHsKIAkuZmx1c2hfZ3B1X3RsYiA9IGdtY192 OV8wX2dhcnRfZmx1c2hfZ3B1X3RsYiwKIAkuc2V0X3B0ZV9wZGUgPSBnbWNfdjlfMF9nYXJ0X3Nl dF9wdGVfcGRlLAotCS5nZXRfdm1fcHRlX2ZsYWdzID0gZ21jX3Y5XzBfZ2V0X3ZtX3B0ZV9mbGFn cywKLQkuYWRqdXN0X21jX2FkZHIgPSBnbWNfdjlfMF9hZGp1c3RfbWNfYWRkciwKIAkuZ2V0X2lu dmFsaWRhdGVfcmVxID0gZ21jX3Y5XzBfZ2V0X2ludmFsaWRhdGVfcmVxLAorCS5nZXRfdm1fcHRl X2ZsYWdzID0gZ21jX3Y5XzBfZ2V0X3ZtX3B0ZV9mbGFncywKKwkuZ2V0X3ZtX3BkZSA9IGdtY192 OV8wX2dldF92bV9wZGUKIH07CiAKIHN0YXRpYyB2b2lkIGdtY192OV8wX3NldF9nYXJ0X2Z1bmNz KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvc2RtYV92NF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1h X3Y0XzAuYwppbmRleCA5MWNmN2U2Li5mYjZmNGIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9zZG1hX3Y0XzAuYwpAQCAtMTE0MywxMCArMTE0Myw4IEBAIHN0YXRpYyB2b2lkIHNkbWFfdjRf MF9yaW5nX2VtaXRfdm1fZmx1c2goc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAogCXVpbnQzMl90 IHJlcSA9IHJpbmctPmFkZXYtPmdhcnQuZ2FydF9mdW5jcy0+Z2V0X2ludmFsaWRhdGVfcmVxKHZt X2lkKTsKIAl1bnNpZ25lZCBlbmcgPSByaW5nLT52bV9pbnZfZW5nOwogCi0JcGRfYWRkciA9IHJp bmctPmFkZXYtPmdhcnQuZ2FydF9mdW5jcy0+YWRqdXN0X21jX2FkZHIocmluZy0+YWRldiwgcGRf YWRkcik7Ci0JcGRfYWRkciA9IHBkX2FkZHIgfCAweDE7IC8qIHZhbGlkIGJpdCAqLwotCS8qIG5v dyBvbmx5IHVzZSBwaHlzaWNhbCBiYXNlIGFkZHJlc3Mgb2YgUERFIGFuZCB2YWxpZCAqLwotCUJV R19PTihwZF9hZGRyICYgMHhGRkZGMDAwMDAwMDAwMDNFVUxMKTsKKwlwZF9hZGRyID0gYW1kZ3B1 X2dhcnRfZ2V0X3ZtX3BkZShyaW5nLT5hZGV2LCBwZF9hZGRyKTsKKwlwZF9hZGRyIHw9IEFNREdQ VV9QVEVfVkFMSUQ7CiAKIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCBTRE1BX1BLVF9IRUFERVJf T1AoU0RNQV9PUF9TUkJNX1dSSVRFKSB8CiAJCQkgIFNETUFfUEtUX1NSQk1fV1JJVEVfSEVBREVS X0JZVEVfRU4oMHhmKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91 dmRfdjdfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y3XzAuYwppbmRleCAy MmY0MmYzLi4xOTk3ZWM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91 dmRfdjdfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92N18wLmMKQEAg LTEzMTYsMTAgKzEzMTYsOCBAQCBzdGF0aWMgdm9pZCB1dmRfdjdfMF9yaW5nX2VtaXRfdm1fZmx1 c2goc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAogCXVpbnQzMl90IGRhdGEwLCBkYXRhMSwgbWFz azsKIAl1bnNpZ25lZCBlbmcgPSByaW5nLT52bV9pbnZfZW5nOwogCi0JcGRfYWRkciA9IHJpbmct PmFkZXYtPmdhcnQuZ2FydF9mdW5jcy0+YWRqdXN0X21jX2FkZHIocmluZy0+YWRldiwgcGRfYWRk cik7Ci0JcGRfYWRkciA9IHBkX2FkZHIgfCAweDE7IC8qIHZhbGlkIGJpdCAqLwotCS8qIG5vdyBv bmx5IHVzZSBwaHlzaWNhbCBiYXNlIGFkZHJlc3Mgb2YgUERFIGFuZCB2YWxpZCAqLwotCUJVR19P TihwZF9hZGRyICYgMHhGRkZGMDAwMDAwMDAwMDNFVUxMKTsKKwlwZF9hZGRyID0gYW1kZ3B1X2dh cnRfZ2V0X3ZtX3BkZShyaW5nLT5hZGV2LCBwZF9hZGRyKTsKKwlwZF9hZGRyIHw9IEFNREdQVV9Q VEVfVkFMSUQ7CiAKIAlkYXRhMCA9IChodWItPmN0eDBfcHRiX2FkZHJfaGkzMiArIHZtX2lkICog MikgPDwgMjsKIAlkYXRhMSA9IHVwcGVyXzMyX2JpdHMocGRfYWRkcik7CkBAIC0xMzU4LDEwICsx MzU2LDggQEAgc3RhdGljIHZvaWQgdXZkX3Y3XzBfZW5jX3JpbmdfZW1pdF92bV9mbHVzaChzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJdWludDMyX3QgcmVxID0gcmluZy0+YWRldi0+Z2FydC5n YXJ0X2Z1bmNzLT5nZXRfaW52YWxpZGF0ZV9yZXEodm1faWQpOwogCXVuc2lnbmVkIGVuZyA9IHJp bmctPnZtX2ludl9lbmc7CiAKLQlwZF9hZGRyID0gcmluZy0+YWRldi0+Z2FydC5nYXJ0X2Z1bmNz LT5hZGp1c3RfbWNfYWRkcihyaW5nLT5hZGV2LCBwZF9hZGRyKTsKLQlwZF9hZGRyID0gcGRfYWRk ciB8IDB4MTsgLyogdmFsaWQgYml0ICovCi0JLyogbm93IG9ubHkgdXNlIHBoeXNpY2FsIGJhc2Ug YWRkcmVzcyBvZiBQREUgYW5kIHZhbGlkICovCi0JQlVHX09OKHBkX2FkZHIgJiAweEZGRkYwMDAw MDAwMDAwM0VVTEwpOworCXBkX2FkZHIgPSBhbWRncHVfZ2FydF9nZXRfdm1fcGRlKHJpbmctPmFk ZXYsIHBkX2FkZHIpOworCXBkX2FkZHIgfD0gQU1ER1BVX1BURV9WQUxJRDsKIAogCWFtZGdwdV9y aW5nX3dyaXRlKHJpbmcsIEhFVkNfRU5DX0NNRF9SRUdfV1JJVEUpOwogCWFtZGdwdV9yaW5nX3dy aXRlKHJpbmcsCShodWItPmN0eDBfcHRiX2FkZHJfaGkzMiArIHZtX2lkICogMikgPDwgMik7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjRfMC5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3Y0XzAuYwppbmRleCAwN2IyYWM3Li44ZGJkMGI3IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjRfMC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92NF8wLmMKQEAgLTkyNiwxMCArOTI2LDggQEAg c3RhdGljIHZvaWQgdmNlX3Y0XzBfZW1pdF92bV9mbHVzaChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJp bmcsCiAJdWludDMyX3QgcmVxID0gcmluZy0+YWRldi0+Z2FydC5nYXJ0X2Z1bmNzLT5nZXRfaW52 YWxpZGF0ZV9yZXEodm1faWQpOwogCXVuc2lnbmVkIGVuZyA9IHJpbmctPnZtX2ludl9lbmc7CiAK LQlwZF9hZGRyID0gcmluZy0+YWRldi0+Z2FydC5nYXJ0X2Z1bmNzLT5hZGp1c3RfbWNfYWRkcihy aW5nLT5hZGV2LCBwZF9hZGRyKTsKLQlwZF9hZGRyID0gcGRfYWRkciB8IDB4MTsgLyogdmFsaWQg Yml0ICovCi0JLyogbm93IG9ubHkgdXNlIHBoeXNpY2FsIGJhc2UgYWRkcmVzcyBvZiBQREUgYW5k IHZhbGlkICovCi0JQlVHX09OKHBkX2FkZHIgJiAweEZGRkYwMDAwMDAwMDAwM0VVTEwpOworCXBk X2FkZHIgPSBhbWRncHVfZ2FydF9nZXRfdm1fcGRlKHJpbmctPmFkZXYsIHBkX2FkZHIpOworCXBk X2FkZHIgfD0gQU1ER1BVX1BURV9WQUxJRDsKIAogCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFZD RV9DTURfUkVHX1dSSVRFKTsKIAlhbWRncHVfcmluZ193cml0ZShyaW5nLAkoaHViLT5jdHgwX3B0 Yl9hZGRyX2hpMzIgKyB2bV9pZCAqIDIpIDw8IDIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvdmNuX3YxXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Zj bl92MV8wLmMKaW5kZXggOTQxMDRhOS4uYmJiZTYyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvdmNuX3YxXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS92Y25fdjFfMC5jCkBAIC04ODIsOSArODgyLDggQEAgc3RhdGljIHZvaWQgdmNuX3YxXzBfZGVj X3JpbmdfZW1pdF92bV9mbHVzaChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJdWludDMyX3Qg ZGF0YTAsIGRhdGExLCBtYXNrOwogCXVuc2lnbmVkIGVuZyA9IHJpbmctPnZtX2ludl9lbmc7CiAK LQlwZF9hZGRyID0gcGRfYWRkciB8IDB4MTsgLyogdmFsaWQgYml0ICovCi0JLyogbm93IG9ubHkg dXNlIHBoeXNpY2FsIGJhc2UgYWRkcmVzcyBvZiBQREUgYW5kIHZhbGlkICovCi0JQlVHX09OKHBk X2FkZHIgJiAweEZGRkYwMDAwMDAwMDAwM0VVTEwpOworCXBkX2FkZHIgPSBhbWRncHVfZ2FydF9n ZXRfdm1fcGRlKHJpbmctPmFkZXYsIHBkX2FkZHIpOworCXBkX2FkZHIgfD0gQU1ER1BVX1BURV9W QUxJRDsKIAogCWRhdGEwID0gKGh1Yi0+Y3R4MF9wdGJfYWRkcl9oaTMyICsgdm1faWQgKiAyKSA8 PCAyOwogCWRhdGExID0gdXBwZXJfMzJfYml0cyhwZF9hZGRyKTsKLS0gCjIuNy40CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcg bGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK