From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" Subject: [PATCH 4/8] drm/ttm: allow reserving more than one shared slot v2 Date: Thu, 4 Oct 2018 15:12:46 +0200 Message-ID: <20181004131250.2373-4-christian.koenig@amd.com> References: <20181004131250.2373-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181004131250.2373-1-christian.koenig@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org TGV0J3Mgc3VwcG9ydCBzaW11bHRhbmVvdXMgc3VibWlzc2lvbnMgdG8gbXVsdGlwbGUgZW5naW5l cy4KCnYyOiByZW5hbWUgdGhlIGZpZWxkIHRvIG51bV9zaGFyZWQgYW5kIGZpeCB1cCBhbGwgdXNl cnMKClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1k LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZt LmMgfCAxMCArKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYm9f bGlzdC5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nz LmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9n ZW0uYyAgICAgICAgICB8ICA3ICsrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92aXJ0LmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdm0uYyAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfcmVs ZWFzZS5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2NzLmMgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2dlbS5jICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl92bS5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vdHRt L3R0bV9leGVjYnVmX3V0aWwuYyAgICAgICAgICAgfCAxMiArKysrKysrLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X2V4ZWNidWYuYyAgICAgICAgICB8ICA2ICsrKy0tLQogZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2UuYyAgICAgICAgIHwgMTAgKysrKyst LS0tLQogaW5jbHVkZS9kcm0vdHRtL3R0bV9leGVjYnVmX3V0aWwuaCAgICAgICAgICAgICAgIHwg IDQgKystLQogMTQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtm ZF9ncHV2bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2 bS5jCmluZGV4IGRmMGEwNTk1NjVmOS4uZDBiYzAzMTI0MzBjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jCkBAIC01MzYsNyArNTM2LDcg QEAgc3RhdGljIHZvaWQgYWRkX2tnZF9tZW1fdG9fa2ZkX2JvX2xpc3Qoc3RydWN0IGtnZF9tZW0g Km1lbSwKIAlzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IG1lbS0+Ym87CiAKIAlJTklUX0xJU1RfSEVB RCgmZW50cnktPmhlYWQpOwotCWVudHJ5LT5zaGFyZWQgPSB0cnVlOworCWVudHJ5LT5udW1fc2hh cmVkID0gMTsKIAllbnRyeS0+Ym8gPSAmYm8tPnRibzsKIAltdXRleF9sb2NrKCZwcm9jZXNzX2lu Zm8tPmxvY2spOwogCWlmICh1c2VycHRyKQpAQCAtNjc3LDcgKzY3Nyw3IEBAIHN0YXRpYyBpbnQg cmVzZXJ2ZV9ib19hbmRfdm0oc3RydWN0IGtnZF9tZW0gKm1lbSwKIAogCWN0eC0+a2ZkX2JvLnBy aW9yaXR5ID0gMDsKIAljdHgtPmtmZF9iby50di5ibyA9ICZiby0+dGJvOwotCWN0eC0+a2ZkX2Jv LnR2LnNoYXJlZCA9IHRydWU7CisJY3R4LT5rZmRfYm8udHYubnVtX3NoYXJlZCA9IDE7CiAJY3R4 LT5rZmRfYm8udXNlcl9wYWdlcyA9IE5VTEw7CiAJbGlzdF9hZGQoJmN0eC0+a2ZkX2JvLnR2Lmhl YWQsICZjdHgtPmxpc3QpOwogCkBAIC03NDEsNyArNzQxLDcgQEAgc3RhdGljIGludCByZXNlcnZl X2JvX2FuZF9jb25kX3ZtcyhzdHJ1Y3Qga2dkX21lbSAqbWVtLAogCiAJY3R4LT5rZmRfYm8ucHJp b3JpdHkgPSAwOwogCWN0eC0+a2ZkX2JvLnR2LmJvID0gJmJvLT50Ym87Ci0JY3R4LT5rZmRfYm8u dHYuc2hhcmVkID0gdHJ1ZTsKKwljdHgtPmtmZF9iby50di5udW1fc2hhcmVkID0gMTsKIAljdHgt PmtmZF9iby51c2VyX3BhZ2VzID0gTlVMTDsKIAlsaXN0X2FkZCgmY3R4LT5rZmRfYm8udHYuaGVh ZCwgJmN0eC0+bGlzdCk7CiAKQEAgLTE4MDgsNyArMTgwOCw3IEBAIHN0YXRpYyBpbnQgdmFsaWRh dGVfaW52YWxpZF91c2VyX3BhZ2VzKHN0cnVjdCBhbWRrZmRfcHJvY2Vzc19pbmZvICpwcm9jZXNz X2luZm8pCiAJCQkgICAgdmFsaWRhdGVfbGlzdC5oZWFkKSB7CiAJCWxpc3RfYWRkX3RhaWwoJm1l bS0+cmVzdl9saXN0LmhlYWQsICZyZXN2X2xpc3QpOwogCQltZW0tPnJlc3ZfbGlzdC5ibyA9IG1l bS0+dmFsaWRhdGVfbGlzdC5ibzsKLQkJbWVtLT5yZXN2X2xpc3Quc2hhcmVkID0gbWVtLT52YWxp ZGF0ZV9saXN0LnNoYXJlZDsKKwkJbWVtLT5yZXN2X2xpc3QubnVtX3NoYXJlZCA9IG1lbS0+dmFs aWRhdGVfbGlzdC5udW1fc2hhcmVkOwogCX0KIAogCS8qIFJlc2VydmUgYWxsIEJPcyBhbmQgcGFn ZSB0YWJsZXMgZm9yIHZhbGlkYXRpb24gKi8KQEAgLTIwMjcsNyArMjAyNyw3IEBAIGludCBhbWRn cHVfYW1ka2ZkX2dwdXZtX3Jlc3RvcmVfcHJvY2Vzc19ib3Modm9pZCAqaW5mbywgc3RydWN0IGRt YV9mZW5jZSAqKmVmKQogCiAJCWxpc3RfYWRkX3RhaWwoJm1lbS0+cmVzdl9saXN0LmhlYWQsICZj dHgubGlzdCk7CiAJCW1lbS0+cmVzdl9saXN0LmJvID0gbWVtLT52YWxpZGF0ZV9saXN0LmJvOwot CQltZW0tPnJlc3ZfbGlzdC5zaGFyZWQgPSBtZW0tPnZhbGlkYXRlX2xpc3Quc2hhcmVkOworCQlt ZW0tPnJlc3ZfbGlzdC5udW1fc2hhcmVkID0gbWVtLT52YWxpZGF0ZV9saXN0Lm51bV9zaGFyZWQ7 CiAJfQogCiAJcmV0ID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVycygmY3R4LnRpY2tldCwgJmN0eC5s aXN0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2JvX2xp c3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9ib19saXN0LmMKaW5kZXgg MTRkMjk4MmE0N2NjLi5iNzVkMzBlZTgwYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9ib19saXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2JvX2xpc3QuYwpAQCAtMTE4LDcgKzExOCw3IEBAIGludCBhbWRncHVfYm9fbGlz dF9jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmls cCwKIAkJZW50cnktPnByaW9yaXR5ID0gbWluKGluZm9baV0uYm9fcHJpb3JpdHksCiAJCQkJICAg ICAgQU1ER1BVX0JPX0xJU1RfTUFYX1BSSU9SSVRZKTsKIAkJZW50cnktPnR2LmJvID0gJmJvLT50 Ym87Ci0JCWVudHJ5LT50di5zaGFyZWQgPSAhYm8tPnByaW1lX3NoYXJlZF9jb3VudDsKKwkJZW50 cnktPnR2Lm51bV9zaGFyZWQgPSAhYm8tPnByaW1lX3NoYXJlZF9jb3VudDsKIAogCQlpZiAoYm8t PnByZWZlcnJlZF9kb21haW5zID09IEFNREdQVV9HRU1fRE9NQUlOX0dEUykKIAkJCWxpc3QtPmdk c19vYmogPSBibzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKaW5kZXggMzI0 M2RhNjdkYjllLi40NDc2Mzk4ZTViMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9jcy5jCkBAIC01MCw3ICs1MCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3VzZXJfZmVuY2Vf Y2h1bmsoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJYm8gPSBhbWRncHVfYm9fcmVmKGdl bV90b19hbWRncHVfYm8oZ29iaikpOwogCXAtPnVmX2VudHJ5LnByaW9yaXR5ID0gMDsKIAlwLT51 Zl9lbnRyeS50di5ibyA9ICZiby0+dGJvOwotCXAtPnVmX2VudHJ5LnR2LnNoYXJlZCA9IHRydWU7 CisJcC0+dWZfZW50cnkudHYubnVtX3NoYXJlZCA9IDE7CiAJcC0+dWZfZW50cnkudXNlcl9wYWdl cyA9IE5VTEw7CiAKIAlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQoZ29iaik7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKaW5kZXggN2IzZDFlYmRhOWRmLi5mNGYwMDIx NzU0NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKQEAgLTE2OSw3 ICsxNjksNyBAQCB2b2lkIGFtZGdwdV9nZW1fb2JqZWN0X2Nsb3NlKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLAogCUlOSVRfTElTVF9IRUFEKCZkdXBsaWNhdGVzKTsKIAogCXR2LmJvID0gJmJv LT50Ym87Ci0JdHYuc2hhcmVkID0gdHJ1ZTsKKwl0di5udW1fc2hhcmVkID0gMTsKIAlsaXN0X2Fk ZCgmdHYuaGVhZCwgJmxpc3QpOwogCiAJYW1kZ3B1X3ZtX2dldF9wZF9ibyh2bSwgJmxpc3QsICZ2 bV9wZCk7CkBAIC02MDQsNyArNjA0LDEwIEBAIGludCBhbWRncHVfZ2VtX3ZhX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQlyZXR1cm4gLUVOT0VOVDsKIAkJYWJv ID0gZ2VtX3RvX2FtZGdwdV9ibyhnb2JqKTsKIAkJdHYuYm8gPSAmYWJvLT50Ym87Ci0JCXR2LnNo YXJlZCA9ICEhKGFiby0+ZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9WTV9BTFdBWVNfVkFMSUQp OworCQlpZiAoYWJvLT5mbGFncyAmIEFNREdQVV9HRU1fQ1JFQVRFX1ZNX0FMV0FZU19WQUxJRCkK KwkJCXR2Lm51bV9zaGFyZWQgPSAxOworCQllbHNlCisJCQl0di5udW1fc2hhcmVkID0gMDsKIAkJ bGlzdF9hZGQoJnR2LmhlYWQsICZsaXN0KTsKIAl9IGVsc2UgewogCQlnb2JqID0gTlVMTDsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmlydC5jCmluZGV4IGYyZjM1OGFhMDU5Ny4u MGFjODc1ZGUwMzY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdmlydC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMK QEAgLTgxLDcgKzgxLDcgQEAgaW50IGFtZGdwdV9tYXBfc3RhdGljX2NzYShzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sCiAJSU5JVF9MSVNUX0hFQUQoJmxp c3QpOwogCUlOSVRfTElTVF9IRUFEKCZjc2FfdHYuaGVhZCk7CiAJY3NhX3R2LmJvID0gJmFkZXYt PnZpcnQuY3NhX29iai0+dGJvOwotCWNzYV90di5zaGFyZWQgPSB0cnVlOworCWNzYV90di5udW1f c2hhcmVkID0gMTsKIAogCWxpc3RfYWRkKCZjc2FfdHYuaGVhZCwgJmxpc3QpOwogCWFtZGdwdV92 bV9nZXRfcGRfYm8odm0sICZsaXN0LCAmcGQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdm0uYwppbmRleCBiZGNlMDUxODNlZGIuLjIxODUyN2JiMDE1NiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKQEAgLTYxNiw3ICs2MTYsNyBAQCB2b2lkIGFtZGdwdV92 bV9nZXRfcGRfYm8oc3RydWN0IGFtZGdwdV92bSAqdm0sCiB7CiAJZW50cnktPnByaW9yaXR5ID0g MDsKIAllbnRyeS0+dHYuYm8gPSAmdm0tPnJvb3QuYmFzZS5iby0+dGJvOwotCWVudHJ5LT50di5z aGFyZWQgPSB0cnVlOworCWVudHJ5LT50di5udW1fc2hhcmVkID0gMTsKIAllbnRyeS0+dXNlcl9w YWdlcyA9IE5VTEw7CiAJbGlzdF9hZGQoJmVudHJ5LT50di5oZWFkLCB2YWxpZGF0ZWQpOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfcmVsZWFzZS5jIGIvZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfcmVsZWFzZS5jCmluZGV4IGE4ZDU0NTdhMWFmOS4uYjZmZmJiODU3NDMy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9yZWxlYXNlLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3F4bC9xeGxfcmVsZWFzZS5jCkBAIC0yMTcsNyArMjE3LDcgQEAgaW50IHF4 bF9yZWxlYXNlX2xpc3RfYWRkKHN0cnVjdCBxeGxfcmVsZWFzZSAqcmVsZWFzZSwgc3RydWN0IHF4 bF9ibyAqYm8pCiAKIAlxeGxfYm9fcmVmKGJvKTsKIAllbnRyeS0+dHYuYm8gPSAmYm8tPnRibzsK LQllbnRyeS0+dHYuc2hhcmVkID0gZmFsc2U7CisJZW50cnktPnR2Lm51bV9zaGFyZWQgPSAwOwog CWxpc3RfYWRkX3RhaWwoJmVudHJ5LT50di5oZWFkLCAmcmVsZWFzZS0+Ym9zKTsKIAlyZXR1cm4g MDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcy5jCmluZGV4IDFhZTMxZGJjNjFjNi4uZjQz MzA1MzI5OTM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMKQEAgLTE3OCw3ICsxNzgs NyBAQCBzdGF0aWMgaW50IHJhZGVvbl9jc19wYXJzZXJfcmVsb2NzKHN0cnVjdCByYWRlb25fY3Nf cGFyc2VyICpwKQogCQl9CiAKIAkJcC0+cmVsb2NzW2ldLnR2LmJvID0gJnAtPnJlbG9jc1tpXS5y b2JqLT50Ym87Ci0JCXAtPnJlbG9jc1tpXS50di5zaGFyZWQgPSAhci0+d3JpdGVfZG9tYWluOwor CQlwLT5yZWxvY3NbaV0udHYubnVtX3NoYXJlZCA9ICFyLT53cml0ZV9kb21haW47CiAKIAkJcmFk ZW9uX2NzX2J1Y2tldHNfYWRkKCZidWNrZXRzLCAmcC0+cmVsb2NzW2ldLnR2LmhlYWQsCiAJCQkJ ICAgICAgcHJpb3JpdHkpOwpAQCAtMjUzLDcgKzI1Myw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2Nz X3N5bmNfcmluZ3Moc3RydWN0IHJhZGVvbl9jc19wYXJzZXIgKnApCiAKIAkJcmVzdiA9IHJlbG9j LT5yb2JqLT50Ym8ucmVzdjsKIAkJciA9IHJhZGVvbl9zeW5jX3Jlc3YocC0+cmRldiwgJnAtPmli LnN5bmMsIHJlc3YsCi0JCQkJICAgICByZWxvYy0+dHYuc2hhcmVkKTsKKwkJCQkgICAgIHJlbG9j LT50di5udW1fc2hhcmVkKTsKIAkJaWYgKHIpCiAJCQlyZXR1cm4gcjsKIAl9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2dlbS5jCmluZGV4IDI3ZDhlN2RkMmQwNi4uNDQ2MTdkZWM4MTgzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYwpAQCAtNTUyLDcgKzU1Miw3IEBAIHN0YXRpYyB2 b2lkIHJhZGVvbl9nZW1fdmFfdXBkYXRlX3ZtKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAog CUlOSVRfTElTVF9IRUFEKCZsaXN0KTsKIAogCXR2LmJvID0gJmJvX3ZhLT5iby0+dGJvOwotCXR2 LnNoYXJlZCA9IHRydWU7CisJdHYubnVtX3NoYXJlZCA9IDE7CiAJbGlzdF9hZGQoJnR2LmhlYWQs ICZsaXN0KTsKIAogCXZtX2JvcyA9IHJhZGVvbl92bV9nZXRfYm9zKHJkZXYsIGJvX3ZhLT52bSwg Jmxpc3QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdm0uYyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZtLmMKaW5kZXggZmVkMTFlY2UwZGU2Li4z MWNjM2VjOTc4MTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Zt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdm0uYwpAQCAtMTQyLDcgKzE0 Miw3IEBAIHN0cnVjdCByYWRlb25fYm9fbGlzdCAqcmFkZW9uX3ZtX2dldF9ib3Moc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsCiAJbGlzdFswXS5wcmVmZXJyZWRfZG9tYWlucyA9IFJBREVPTl9H RU1fRE9NQUlOX1ZSQU07CiAJbGlzdFswXS5hbGxvd2VkX2RvbWFpbnMgPSBSQURFT05fR0VNX0RP TUFJTl9WUkFNOwogCWxpc3RbMF0udHYuYm8gPSAmdm0tPnBhZ2VfZGlyZWN0b3J5LT50Ym87Ci0J bGlzdFswXS50di5zaGFyZWQgPSB0cnVlOworCWxpc3RbMF0udHYubnVtX3NoYXJlZCA9IDE7CiAJ bGlzdFswXS50aWxpbmdfZmxhZ3MgPSAwOwogCWxpc3RfYWRkKCZsaXN0WzBdLnR2LmhlYWQsIGhl YWQpOwogCkBAIC0xNTQsNyArMTU0LDcgQEAgc3RydWN0IHJhZGVvbl9ib19saXN0ICpyYWRlb25f dm1fZ2V0X2JvcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJbGlzdFtpZHhdLnByZWZl cnJlZF9kb21haW5zID0gUkFERU9OX0dFTV9ET01BSU5fVlJBTTsKIAkJbGlzdFtpZHhdLmFsbG93 ZWRfZG9tYWlucyA9IFJBREVPTl9HRU1fRE9NQUlOX1ZSQU07CiAJCWxpc3RbaWR4XS50di5ibyA9 ICZsaXN0W2lkeF0ucm9iai0+dGJvOwotCQlsaXN0W2lkeF0udHYuc2hhcmVkID0gdHJ1ZTsKKwkJ bGlzdFtpZHhdLnR2Lm51bV9zaGFyZWQgPSAxOwogCQlsaXN0W2lkeF0udGlsaW5nX2ZsYWdzID0g MDsKIAkJbGlzdF9hZGQoJmxpc3RbaWR4KytdLnR2LmhlYWQsIGhlYWQpOwogCX0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5jIGIvZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fZXhlY2J1Zl91dGlsLmMKaW5kZXggZTQ5M2VkYjBkM2U3Li42YTg0N2MxOThi MzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5jCkBAIC0xMjYsMTAgKzEy NiwxMSBAQCBpbnQgdHRtX2V1X3Jlc2VydmVfYnVmZmVycyhzdHJ1Y3Qgd3dfYWNxdWlyZV9jdHgg KnRpY2tldCwKIAkJfQogCiAJCWlmICghcmV0KSB7Ci0JCQlpZiAoIWVudHJ5LT5zaGFyZWQpCisJ CQlpZiAoIWVudHJ5LT5udW1fc2hhcmVkKQogCQkJCWNvbnRpbnVlOwogCi0JCQlyZXQgPSByZXNl cnZhdGlvbl9vYmplY3RfcmVzZXJ2ZV9zaGFyZWQoYm8tPnJlc3YsIDEpOworCQkJcmV0ID0gcmVz ZXJ2YXRpb25fb2JqZWN0X3Jlc2VydmVfc2hhcmVkKGJvLT5yZXN2LAorCQkJCQkJCQllbnRyeS0+ bnVtX3NoYXJlZCk7CiAJCQlpZiAoIXJldCkKIAkJCQljb250aW51ZTsKIAkJfQpAQCAtMTUwLDgg KzE1MSw5IEBAIGludCB0dG1fZXVfcmVzZXJ2ZV9idWZmZXJzKHN0cnVjdCB3d19hY3F1aXJlX2N0 eCAqdGlja2V0LAogCQkJfQogCQl9CiAKLQkJaWYgKCFyZXQgJiYgZW50cnktPnNoYXJlZCkKLQkJ CXJldCA9IHJlc2VydmF0aW9uX29iamVjdF9yZXNlcnZlX3NoYXJlZChiby0+cmVzdiwgMSk7CisJ CWlmICghcmV0ICYmIGVudHJ5LT5udW1fc2hhcmVkKQorCQkJcmV0ID0gcmVzZXJ2YXRpb25fb2Jq ZWN0X3Jlc2VydmVfc2hhcmVkKGJvLT5yZXN2LAorCQkJCQkJCQllbnRyeS0+bnVtX3NoYXJlZCk7 CiAKIAkJaWYgKHVubGlrZWx5KHJldCAhPSAwKSkgewogCQkJaWYgKHJldCA9PSAtRUlOVFIpCkBA IC0yMDEsNyArMjAzLDcgQEAgdm9pZCB0dG1fZXVfZmVuY2VfYnVmZmVyX29iamVjdHMoc3RydWN0 IHd3X2FjcXVpcmVfY3R4ICp0aWNrZXQsCiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCBs aXN0LCBoZWFkKSB7CiAJCWJvID0gZW50cnktPmJvOwotCQlpZiAoZW50cnktPnNoYXJlZCkKKwkJ aWYgKGVudHJ5LT5udW1fc2hhcmVkKQogCQkJcmVzZXJ2YXRpb25fb2JqZWN0X2FkZF9zaGFyZWRf ZmVuY2UoYm8tPnJlc3YsIGZlbmNlKTsKIAkJZWxzZQogCQkJcmVzZXJ2YXRpb25fb2JqZWN0X2Fk ZF9leGNsX2ZlbmNlKGJvLT5yZXN2LCBmZW5jZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9leGVjYnVmLmMKaW5kZXggMWYxMzQ1NzBiNzU5Li41YTc2YmEyZmNlZWQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2V4ZWNidWYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMKQEAgLTU4Miw3ICs1ODIsNyBAQCBzdGF0aWMg aW50IHZtd19ib190b192YWxpZGF0ZV9saXN0KHN0cnVjdCB2bXdfc3dfY29udGV4dCAqc3dfY29u dGV4dCwKIAkJKytzd19jb250ZXh0LT5jdXJfdmFsX2J1ZjsKIAkJdmFsX2J1ZiA9ICZ2dmFsX2J1 Zi0+YmFzZTsKIAkJdmFsX2J1Zi0+Ym8gPSB0dG1fYm9fcmVmZXJlbmNlKCZ2Ym8tPmJhc2UpOwot CQl2YWxfYnVmLT5zaGFyZWQgPSBmYWxzZTsKKwkJdmFsX2J1Zi0+bnVtX3NoYXJlZCA9IDA7CiAJ CWxpc3RfYWRkX3RhaWwoJnZhbF9idWYtPmhlYWQsICZzd19jb250ZXh0LT52YWxpZGF0ZV9ub2Rl cyk7CiAJCXZ2YWxfYnVmLT52YWxpZGF0ZV9hc19tb2IgPSB2YWxpZGF0ZV9hc19tb2I7CiAJfQpA QCAtNDQwOSwxMSArNDQwOSwxMSBAQCB2b2lkIF9fdm13X2V4ZWNidWZfcmVsZWFzZV9waW5uZWRf Ym8oc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKIAlJTklUX0xJU1RfSEVBRCgmdmFsaWRh dGVfbGlzdCk7CiAKIAlwaW5uZWRfdmFsLmJvID0gdHRtX2JvX3JlZmVyZW5jZSgmZGV2X3ByaXYt PnBpbm5lZF9iby0+YmFzZSk7Ci0JcGlubmVkX3ZhbC5zaGFyZWQgPSBmYWxzZTsKKwlwaW5uZWRf dmFsLm51bV9zaGFyZWQgPSAwOwogCWxpc3RfYWRkX3RhaWwoJnBpbm5lZF92YWwuaGVhZCwgJnZh bGlkYXRlX2xpc3QpOwogCiAJcXVlcnlfdmFsLmJvID0gdHRtX2JvX3JlZmVyZW5jZSgmZGV2X3By aXYtPmR1bW15X3F1ZXJ5X2JvLT5iYXNlKTsKLQlxdWVyeV92YWwuc2hhcmVkID0gZmFsc2U7CisJ cXVlcnlfdmFsLm51bV9zaGFyZWQgPSAwOwogCWxpc3RfYWRkX3RhaWwoJnF1ZXJ5X3ZhbC5oZWFk LCAmdmFsaWRhdGVfbGlzdCk7CiAKIAlyZXQgPSB0dG1fZXVfcmVzZXJ2ZV9idWZmZXJzKCZ0aWNr ZXQsICZ2YWxpZGF0ZV9saXN0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92 bXdnZnhfcmVzb3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNl LmMKaW5kZXggOTIwMDNlYTVhMjE5Li5kOTEwOWZkMDEyM2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfcmVzb3VyY2UuYwpAQCAtODYsNyArODYsNyBAQCBzdGF0aWMgdm9pZCB2bXdf cmVzb3VyY2VfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqa3JlZikKIAkJCXN0cnVjdCB0dG1fdmFsaWRh dGVfYnVmZmVyIHZhbF9idWY7CiAKIAkJCXZhbF9idWYuYm8gPSBibzsKLQkJCXZhbF9idWYuc2hh cmVkID0gZmFsc2U7CisJCQl2YWxfYnVmLm51bV9zaGFyZWQgPSAwOwogCQkJcmVzLT5mdW5jLT51 bmJpbmQocmVzLCBmYWxzZSwgJnZhbF9idWYpOwogCQl9CiAJCXJlcy0+YmFja3VwX2RpcnR5ID0g ZmFsc2U7CkBAIC00NTksNyArNDU5LDcgQEAgdm13X3Jlc291cmNlX2NoZWNrX2J1ZmZlcihzdHJ1 Y3Qgd3dfYWNxdWlyZV9jdHggKnRpY2tldCwKIAogCUlOSVRfTElTVF9IRUFEKCZ2YWxfbGlzdCk7 CiAJdmFsX2J1Zi0+Ym8gPSB0dG1fYm9fcmVmZXJlbmNlKCZyZXMtPmJhY2t1cC0+YmFzZSk7Ci0J dmFsX2J1Zi0+c2hhcmVkID0gZmFsc2U7CisJdmFsX2J1Zi0+bnVtX3NoYXJlZCA9IDA7CiAJbGlz dF9hZGRfdGFpbCgmdmFsX2J1Zi0+aGVhZCwgJnZhbF9saXN0KTsKIAlyZXQgPSB0dG1fZXVfcmVz ZXJ2ZV9idWZmZXJzKHRpY2tldCwgJnZhbF9saXN0LCBpbnRlcnJ1cHRpYmxlLCBOVUxMKTsKIAlp ZiAodW5saWtlbHkocmV0ICE9IDApKQpAQCAtNTYyLDcgKzU2Miw3IEBAIHN0YXRpYyBpbnQgdm13 X3Jlc291cmNlX2RvX2V2aWN0KHN0cnVjdCB3d19hY3F1aXJlX2N0eCAqdGlja2V0LAogCUJVR19P TighZnVuYy0+bWF5X2V2aWN0KTsKIAogCXZhbF9idWYuYm8gPSBOVUxMOwotCXZhbF9idWYuc2hh cmVkID0gZmFsc2U7CisJdmFsX2J1Zi5udW1fc2hhcmVkID0gMDsKIAlyZXQgPSB2bXdfcmVzb3Vy Y2VfY2hlY2tfYnVmZmVyKHRpY2tldCwgcmVzLCBpbnRlcnJ1cHRpYmxlLCAmdmFsX2J1Zik7CiAJ aWYgKHVubGlrZWx5KHJldCAhPSAwKSkKIAkJcmV0dXJuIHJldDsKQEAgLTYwOCw3ICs2MDgsNyBA QCBpbnQgdm13X3Jlc291cmNlX3ZhbGlkYXRlKHN0cnVjdCB2bXdfcmVzb3VyY2UgKnJlcykKIAkJ cmV0dXJuIDA7CiAKIAl2YWxfYnVmLmJvID0gTlVMTDsKLQl2YWxfYnVmLnNoYXJlZCA9IGZhbHNl OworCXZhbF9idWYubnVtX3NoYXJlZCA9IDA7CiAJaWYgKHJlcy0+YmFja3VwKQogCQl2YWxfYnVm LmJvID0gJnJlcy0+YmFja3VwLT5iYXNlOwogCWRvIHsKQEAgLTY3OSw3ICs2NzksNyBAQCB2b2lk IHZtd19yZXNvdXJjZV91bmJpbmRfbGlzdChzdHJ1Y3Qgdm13X2J1ZmZlcl9vYmplY3QgKnZibykK IAlzdHJ1Y3Qgdm13X3Jlc291cmNlICpyZXMsICpuZXh0OwogCXN0cnVjdCB0dG1fdmFsaWRhdGVf YnVmZmVyIHZhbF9idWYgPSB7CiAJCS5ibyA9ICZ2Ym8tPmJhc2UsCi0JCS5zaGFyZWQgPSBmYWxz ZQorCQkubnVtX3NoYXJlZCA9IDAKIAl9OwogCiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmdmJvLT5i YXNlLnJlc3YtPmxvY2suYmFzZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS90dG0vdHRtX2V4 ZWNidWZfdXRpbC5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9leGVjYnVmX3V0aWwuaAppbmRleCBi MGZkZDE5ODAwMzQuLjYyMTYxNWZhNzcyOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vdHRtL3R0 bV9leGVjYnVmX3V0aWwuaAorKysgYi9pbmNsdWRlL2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5o CkBAIC00MCwxMyArNDAsMTMgQEAKICAqCiAgKiBAaGVhZDogICAgICAgICAgIGxpc3QgaGVhZCBm b3IgdGhyZWFkLXByaXZhdGUgbGlzdC4KICAqIEBibzogICAgICAgICAgICAgcmVmY291bnRlZCBi dWZmZXIgb2JqZWN0IHBvaW50ZXIuCi0gKiBAc2hhcmVkOiAgICAgICAgIHNob3VsZCB0aGUgZmVu Y2UgYmUgYWRkZWQgc2hhcmVkPworICogQG51bV9zaGFyZWQ6ICAgICBIb3cgbWFueSBzaGFyZWQg ZmVuY2VzIHdlIHdhbnQgdG8gYWRkLgogICovCiAKIHN0cnVjdCB0dG1fdmFsaWRhdGVfYnVmZmVy IHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGhlYWQ7CiAJc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpi bzsKLQlib29sIHNoYXJlZDsKKwl1bnNpZ25lZCBpbnQgbnVtX3NoYXJlZDsKIH07CiAKIC8qKgot LSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK