From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" Subject: [PATCH 6/8] drm/amdgpu: allocate VM PDs/PTs on demand Date: Mon, 4 Feb 2019 13:42:54 +0100 Message-ID: <20190204124256.1765-6-christian.koenig@amd.com> References: <20190204124256.1765-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: <20190204124256.1765-1-christian.koenig-5C7GfCeVMHo@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 TGV0J3Mgc3RhcnQgdG8gYWxsb2NhdGUgVk0gUERzL1BUcyBvbiBkZW1hbmQgaW5zdGVhZCBvZiBw cmUtYWxsb2NhdGluZwp0aGVtIGR1cmluZyBtYXBwaW5nLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0 aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0KIC4uLi9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jICB8ICAgNiAtCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfY3NhLmMgICAgICAgfCAgIDkgLS0KIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9nZW0uYyAgICAgICB8ICAxMCAtLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3ZtLmMgICAgICAgIHwgMTM2ICsrKysrLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmggICAgICAgIHwgICAzIC0KIDUgZmls ZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMTI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYwppbmRleCBkN2Ix MGQ3OWYxZGUuLjIxNzZjOTJmOTM3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYwpAQCAtNDkyLDEyICs0OTIsNiBAQCBzdGF0aWMgaW50 IGFkZF9ib190b192bShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGtnZF9tZW0g Km1lbSwKIAkJCQkJdm0tPnByb2Nlc3NfaW5mby0+ZXZpY3Rpb25fZmVuY2UsCiAJCQkJCU5VTEws IE5VTEwpOwogCi0JcmV0ID0gYW1kZ3B1X3ZtX2FsbG9jX3B0cyhhZGV2LCB2bSwgdmEsIGFtZGdw dV9ib19zaXplKGJvKSk7Ci0JaWYgKHJldCkgewotCQlwcl9lcnIoIkZhaWxlZCB0byBhbGxvY2F0 ZSBwdHMsIGVycj0lZFxuIiwgcmV0KTsKLQkJZ290byBlcnJfYWxsb2NfcHRzOwotCX0KLQogCXJl dCA9IHZtX3ZhbGlkYXRlX3B0X3BkX2Jvcyh2bSk7CiAJaWYgKHJldCkgewogCQlwcl9lcnIoInZh bGlkYXRlX3B0X3BkX2JvcygpIGZhaWxlZFxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY3NhLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfY3NhLmMKaW5kZXggN2UyMmJlN2NhNjhhLi41NGRkMDJhODk4YjkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jc2EuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3NhLmMKQEAgLTkyLDE1ICs5Miw2IEBAIGludCBhbWRn cHVfbWFwX3N0YXRpY19jc2Eoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRn cHVfdm0gKnZtLAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKLQlyID0gYW1kZ3B1X3ZtX2FsbG9j X3B0cyhhZGV2LCAoKmJvX3ZhKS0+YmFzZS52bSwgY3NhX2FkZHIsCi0JCQkJc2l6ZSk7Ci0JaWYg KHIpIHsKLQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gYWxsb2NhdGUgcHRzIGZvciBzdGF0aWMgQ1NB LCBlcnI9JWRcbiIsIHIpOwotCQlhbWRncHVfdm1fYm9fcm12KGFkZXYsICpib192YSk7Ci0JCXR0 bV9ldV9iYWNrb2ZmX3Jlc2VydmF0aW9uKCZ0aWNrZXQsICZsaXN0KTsKLQkJcmV0dXJuIHI7Ci0J fQotCiAJciA9IGFtZGdwdV92bV9ib19tYXAoYWRldiwgKmJvX3ZhLCBjc2FfYWRkciwgMCwgc2l6 ZSwKIAkJCSAgICAgQU1ER1BVX1BURV9SRUFEQUJMRSB8IEFNREdQVV9QVEVfV1JJVEVBQkxFIHwK IAkJCSAgICAgQU1ER1BVX1BURV9FWEVDVVRBQkxFKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9nZW0uYwppbmRleCBkMjFkZDJmMzY5ZGEuLmUxNDFlM2IxMzExMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYwpAQCAtNjI3LDExICs2MjcsNiBAQCBpbnQg YW1kZ3B1X2dlbV92YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAog CiAJc3dpdGNoIChhcmdzLT5vcGVyYXRpb24pIHsKIAljYXNlIEFNREdQVV9WQV9PUF9NQVA6Ci0J CXIgPSBhbWRncHVfdm1fYWxsb2NfcHRzKGFkZXYsIGJvX3ZhLT5iYXNlLnZtLCBhcmdzLT52YV9h ZGRyZXNzLAotCQkJCQlhcmdzLT5tYXBfc2l6ZSk7Ci0JCWlmIChyKQotCQkJZ290byBlcnJvcl9i YWNrb2ZmOwotCiAJCXZhX2ZsYWdzID0gYW1kZ3B1X2dtY19nZXRfcHRlX2ZsYWdzKGFkZXYsIGFy Z3MtPmZsYWdzKTsKIAkJciA9IGFtZGdwdV92bV9ib19tYXAoYWRldiwgYm9fdmEsIGFyZ3MtPnZh X2FkZHJlc3MsCiAJCQkJICAgICBhcmdzLT5vZmZzZXRfaW5fYm8sIGFyZ3MtPm1hcF9zaXplLApA QCAtNjQ3LDExICs2NDIsNiBAQCBpbnQgYW1kZ3B1X2dlbV92YV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCQkJYXJncy0+bWFwX3NpemUpOwogCQlicmVhazsK IAljYXNlIEFNREdQVV9WQV9PUF9SRVBMQUNFOgotCQlyID0gYW1kZ3B1X3ZtX2FsbG9jX3B0cyhh ZGV2LCBib192YS0+YmFzZS52bSwgYXJncy0+dmFfYWRkcmVzcywKLQkJCQkJYXJncy0+bWFwX3Np emUpOwotCQlpZiAocikKLQkJCWdvdG8gZXJyb3JfYmFja29mZjsKLQogCQl2YV9mbGFncyA9IGFt ZGdwdV9nbWNfZ2V0X3B0ZV9mbGFncyhhZGV2LCBhcmdzLT5mbGFncyk7CiAJCXIgPSBhbWRncHVf dm1fYm9fcmVwbGFjZV9tYXAoYWRldiwgYm9fdmEsIGFyZ3MtPnZhX2FkZHJlc3MsCiAJCQkJCSAg ICAgYXJncy0+b2Zmc2V0X2luX2JvLCBhcmdzLT5tYXBfc2l6ZSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZtLmMKaW5kZXggZjdkNDEwYTVkODQ4Li4wYjhhMWFhNTZjNGEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCkBAIC01MDQsNDcgKzUwNCw2IEBAIHN0 YXRpYyB2b2lkIGFtZGdwdV92bV9wdF9uZXh0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAog CX0KIH0KIAotLyoqCi0gKiBhbWRncHVfdm1fcHRfZmlyc3RfbGVhZiAtIGdldCBmaXJzdCBsZWFm IFBEL1BUCi0gKgotICogQGFkZXY6IGFtZGdwdV9kZXZpY2UgcG9pbnRlcgotICogQHZtOiBhbWRn cHVfdm0gc3RydWN0dXJlCi0gKiBAc3RhcnQ6IHN0YXJ0IGFkZHIgb2YgdGhlIHdhbGsKLSAqIEBj dXJzb3I6IHN0YXRlIHRvIGluaXRpYWxpemUKLSAqCi0gKiBTdGFydCBhIHdhbGsgYW5kIGdvIGRp cmVjdGx5IHRvIHRoZSBsZWFmIG5vZGUuCi0gKi8KLXN0YXRpYyB2b2lkIGFtZGdwdV92bV9wdF9m aXJzdF9sZWFmKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAotCQkJCSAgICBzdHJ1Y3QgYW1k Z3B1X3ZtICp2bSwgdWludDY0X3Qgc3RhcnQsCi0JCQkJICAgIHN0cnVjdCBhbWRncHVfdm1fcHRf Y3Vyc29yICpjdXJzb3IpCi17Ci0JYW1kZ3B1X3ZtX3B0X3N0YXJ0KGFkZXYsIHZtLCBzdGFydCwg Y3Vyc29yKTsKLQl3aGlsZSAoYW1kZ3B1X3ZtX3B0X2Rlc2NlbmRhbnQoYWRldiwgY3Vyc29yKSk7 Ci19Ci0KLS8qKgotICogYW1kZ3B1X3ZtX3B0X25leHRfbGVhZiAtIGdldCBuZXh0IGxlYWYgUEQv UFQKLSAqCi0gKiBAYWRldjogYW1kZ3B1X2RldmljZSBwb2ludGVyCi0gKiBAY3Vyc29yOiBjdXJy ZW50IHN0YXRlCi0gKgotICogV2FsayB0aGUgUEQvUFQgdHJlZSB0byB0aGUgbmV4dCBsZWFmIG5v ZGUuCi0gKi8KLXN0YXRpYyB2b2lkIGFtZGdwdV92bV9wdF9uZXh0X2xlYWYoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCi0JCQkJICAgc3RydWN0IGFtZGdwdV92bV9wdF9jdXJzb3IgKmN1cnNv cikKLXsKLQlhbWRncHVfdm1fcHRfbmV4dChhZGV2LCBjdXJzb3IpOwotCWlmIChjdXJzb3ItPnBm biAhPSB+MGxsKQotCQl3aGlsZSAoYW1kZ3B1X3ZtX3B0X2Rlc2NlbmRhbnQoYWRldiwgY3Vyc29y KSk7Ci19Ci0KLS8qKgotICogZm9yX2VhY2hfYW1kZ3B1X3ZtX3B0X2xlYWYgLSB3YWxrIG92ZXIg YWxsIGxlYWYgUERzL1BUcyBpbiB0aGUgaGllcmFyY2h5Ci0gKi8KLSNkZWZpbmUgZm9yX2VhY2hf YW1kZ3B1X3ZtX3B0X2xlYWYoYWRldiwgdm0sIHN0YXJ0LCBlbmQsIGN1cnNvcikJCVwKLQlmb3Ig KGFtZGdwdV92bV9wdF9maXJzdF9sZWFmKChhZGV2KSwgKHZtKSwgKHN0YXJ0KSwgJihjdXJzb3Ip KTsJCVwKLQkgICAgIChjdXJzb3IpLnBmbiA8PSBlbmQ7IGFtZGdwdV92bV9wdF9uZXh0X2xlYWYo KGFkZXYpLCAmKGN1cnNvcikpKQotCiAvKioKICAqIGFtZGdwdV92bV9wdF9maXJzdF9kZnMgLSBz dGFydCBhIGRlZXAgZmlyc3Qgc2VhcmNoCiAgKgpAQCAtOTE5LDc0ICs4NzgsNTEgQEAgc3RhdGlj IHZvaWQgYW1kZ3B1X3ZtX2JvX3BhcmFtKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1 Y3QgYW1kZ3B1X3ZtICp2bSwKICAqIFJldHVybnM6CiAgKiAwIG9uIHN1Y2Nlc3MsIGVycm5vIG90 aGVyd2lzZS4KICAqLwotaW50IGFtZGdwdV92bV9hbGxvY19wdHMoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsCi0JCQlzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKLQkJCXVpbnQ2NF90IHNhZGRyLCB1 aW50NjRfdCBzaXplKQorc3RhdGljIGludCBhbWRncHVfdm1fYWxsb2NfcHRzKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LAorCQkJICAgICAgIHN0cnVjdCBhbWRncHVfdm0gKnZtLAorCQkJICAg ICAgIHN0cnVjdCBhbWRncHVfdm1fcHRfY3Vyc29yICpjdXJzb3IpCiB7Ci0Jc3RydWN0IGFtZGdw dV92bV9wdF9jdXJzb3IgY3Vyc29yOworCXN0cnVjdCBhbWRncHVfdm1fcHQgKmVudHJ5ID0gY3Vy c29yLT5lbnRyeTsKKwlzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFtIGJwOwogCXN0cnVjdCBhbWRncHVf Ym8gKnB0OwotCXVpbnQ2NF90IGVhZGRyOwogCWludCByOwogCi0JLyogdmFsaWRhdGUgdGhlIHBh cmFtZXRlcnMgKi8KLQlpZiAoc2FkZHIgJiBBTURHUFVfR1BVX1BBR0VfTUFTSyB8fCBzaXplICYg QU1ER1BVX0dQVV9QQUdFX01BU0spCi0JCXJldHVybiAtRUlOVkFMOworCWlmIChjdXJzb3ItPmxl dmVsIDwgQU1ER1BVX1ZNX1BUQiAmJiAhZW50cnktPmVudHJpZXMpIHsKKwkJdW5zaWduZWQgbnVt X2VudHJpZXM7CiAKLQllYWRkciA9IHNhZGRyICsgc2l6ZSAtIDE7Ci0KLQlzYWRkciAvPSBBTURH UFVfR1BVX1BBR0VfU0laRTsKLQllYWRkciAvPSBBTURHUFVfR1BVX1BBR0VfU0laRTsKLQotCWlm IChlYWRkciA+PSBhZGV2LT52bV9tYW5hZ2VyLm1heF9wZm4pIHsKLQkJZGV2X2VycihhZGV2LT5k ZXYsICJ2YSBhYm92ZSBsaW1pdCAoMHglMDhsbFggPj0gMHglMDhsbFgpXG4iLAotCQkJZWFkZHIs IGFkZXYtPnZtX21hbmFnZXIubWF4X3Bmbik7Ci0JCXJldHVybiAtRUlOVkFMOworCQludW1fZW50 cmllcyA9IGFtZGdwdV92bV9udW1fZW50cmllcyhhZGV2LCBjdXJzb3ItPmxldmVsKTsKKwkJZW50 cnktPmVudHJpZXMgPSBrdm1hbGxvY19hcnJheShudW1fZW50cmllcywKKwkJCQkJCXNpemVvZigq ZW50cnktPmVudHJpZXMpLAorCQkJCQkJR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8pOworCQlpZiAo IWVudHJ5LT5lbnRyaWVzKQorCQkJcmV0dXJuIC1FTk9NRU07CiAJfQogCi0JZm9yX2VhY2hfYW1k Z3B1X3ZtX3B0X2xlYWYoYWRldiwgdm0sIHNhZGRyLCBlYWRkciwgY3Vyc29yKSB7Ci0JCXN0cnVj dCBhbWRncHVfdm1fcHQgKmVudHJ5ID0gY3Vyc29yLmVudHJ5OwotCQlzdHJ1Y3QgYW1kZ3B1X2Jv X3BhcmFtIGJwOwotCi0JCWlmIChjdXJzb3IubGV2ZWwgPCBBTURHUFVfVk1fUFRCKSB7Ci0JCQl1 bnNpZ25lZCBudW1fZW50cmllczsKLQotCQkJbnVtX2VudHJpZXMgPSBhbWRncHVfdm1fbnVtX2Vu dHJpZXMoYWRldiwgY3Vyc29yLmxldmVsKTsKLQkJCWVudHJ5LT5lbnRyaWVzID0ga3ZtYWxsb2Nf YXJyYXkobnVtX2VudHJpZXMsCi0JCQkJCQkJc2l6ZW9mKCplbnRyeS0+ZW50cmllcyksCi0JCQkJ CQkJR0ZQX0tFUk5FTCB8Ci0JCQkJCQkJX19HRlBfWkVSTyk7Ci0JCQlpZiAoIWVudHJ5LT5lbnRy aWVzKQotCQkJCXJldHVybiAtRU5PTUVNOwotCQl9Ci0KLQotCQlpZiAoZW50cnktPmJhc2UuYm8p Ci0JCQljb250aW51ZTsKLQotCQlhbWRncHVfdm1fYm9fcGFyYW0oYWRldiwgdm0sIGN1cnNvci5s ZXZlbCwgJmJwKTsKLQotCQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZwdCk7Ci0J CWlmIChyKQotCQkJcmV0dXJuIHI7Ci0KLQkJaWYgKHZtLT51c2VfY3B1X2Zvcl91cGRhdGUpIHsK LQkJCXIgPSBhbWRncHVfYm9fa21hcChwdCwgTlVMTCk7Ci0JCQlpZiAocikKLQkJCQlnb3RvIGVy cm9yX2ZyZWVfcHQ7Ci0JCX0KKwlpZiAoZW50cnktPmJhc2UuYm8pCisJCXJldHVybiAwOwogCi0J CS8qIEtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIHJvb3QgZGlyZWN0b3J5IHRvIGF2b2lkCi0JCSog ZnJlZWluZyB0aGVtIHVwIGluIHRoZSB3cm9uZyBvcmRlci4KLQkJKi8KLQkJcHQtPnBhcmVudCA9 IGFtZGdwdV9ib19yZWYoY3Vyc29yLnBhcmVudC0+YmFzZS5ibyk7CisJYW1kZ3B1X3ZtX2JvX3Bh cmFtKGFkZXYsIHZtLCBjdXJzb3ItPmxldmVsLCAmYnApOwogCi0JCWFtZGdwdV92bV9ib19iYXNl X2luaXQoJmVudHJ5LT5iYXNlLCB2bSwgcHQpOworCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYs ICZicCwgJnB0KTsKKwlpZiAocikKKwkJcmV0dXJuIHI7CiAKLQkJciA9IGFtZGdwdV92bV9jbGVh cl9ibyhhZGV2LCB2bSwgcHQpOworCWlmICh2bS0+dXNlX2NwdV9mb3JfdXBkYXRlKSB7CisJCXIg PSBhbWRncHVfYm9fa21hcChwdCwgTlVMTCk7CiAJCWlmIChyKQogCQkJZ290byBlcnJvcl9mcmVl X3B0OwogCX0KIAorCS8qIEtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIHJvb3QgZGlyZWN0b3J5IHRv IGF2b2lkCisJICogZnJlZWluZyB0aGVtIHVwIGluIHRoZSB3cm9uZyBvcmRlci4KKwkgKi8KKwlw dC0+cGFyZW50ID0gYW1kZ3B1X2JvX3JlZihjdXJzb3ItPnBhcmVudC0+YmFzZS5ibyk7CisJYW1k Z3B1X3ZtX2JvX2Jhc2VfaW5pdCgmZW50cnktPmJhc2UsIHZtLCBwdCk7CisKKwlyID0gYW1kZ3B1 X3ZtX2NsZWFyX2JvKGFkZXYsIHZtLCBwdCk7CisJaWYgKHIpCisJCWdvdG8gZXJyb3JfZnJlZV9w dDsKKwogCXJldHVybiAwOwogCiBlcnJvcl9mcmVlX3B0OgpAQCAtMTY1NSw2ICsxNTkxLDcgQEAg c3RhdGljIGludCBhbWRncHVfdm1fdXBkYXRlX3B0ZXMoc3RydWN0IGFtZGdwdV9wdGVfdXBkYXRl X3BhcmFtcyAqcGFyYW1zLAogCXN0cnVjdCBhbWRncHVfdm1fcHRfY3Vyc29yIGN1cnNvcjsKIAl1 aW50NjRfdCBmcmFnX3N0YXJ0ID0gc3RhcnQsIGZyYWdfZW5kOwogCXVuc2lnbmVkIGludCBmcmFn OworCWludCByOwogCiAJLyogZmlndXJlIG91dCB0aGUgaW5pdGlhbCBmcmFnbWVudCAqLwogCWFt ZGdwdV92bV9mcmFnbWVudChwYXJhbXMsIGZyYWdfc3RhcnQsIGVuZCwgZmxhZ3MsICZmcmFnLCAm ZnJhZ19lbmQpOwpAQCAtMTY2MiwxMiArMTU5OSwxNSBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV91 cGRhdGVfcHRlcyhzdHJ1Y3QgYW1kZ3B1X3B0ZV91cGRhdGVfcGFyYW1zICpwYXJhbXMsCiAJLyog d2FsayBvdmVyIHRoZSBhZGRyZXNzIHNwYWNlIGFuZCB1cGRhdGUgdGhlIFBUcyAqLwogCWFtZGdw dV92bV9wdF9zdGFydChhZGV2LCBwYXJhbXMtPnZtLCBzdGFydCwgJmN1cnNvcik7CiAJd2hpbGUg KGN1cnNvci5wZm4gPCBlbmQpIHsKLQkJc3RydWN0IGFtZGdwdV9ibyAqcHQgPSBjdXJzb3IuZW50 cnktPmJhc2UuYm87CiAJCXVuc2lnbmVkIHNoaWZ0LCBwYXJlbnRfc2hpZnQsIG1hc2s7CiAJCXVp bnQ2NF90IGluY3IsIGVudHJ5X2VuZCwgcGVfc3RhcnQ7CisJCXN0cnVjdCBhbWRncHVfYm8gKnB0 OwogCi0JCWlmICghcHQpCi0JCQlyZXR1cm4gLUVOT0VOVDsKKwkJciA9IGFtZGdwdV92bV9hbGxv Y19wdHMocGFyYW1zLT5hZGV2LCBwYXJhbXMtPnZtLCAmY3Vyc29yKTsKKwkJaWYgKHIpCisJCQly ZXR1cm4gcjsKKworCQlwdCA9IGN1cnNvci5lbnRyeS0+YmFzZS5ibzsKIAogCQkvKiBUaGUgcm9v dCBsZXZlbCBjYW4ndCBiZSBhIGh1Z2UgcGFnZSAqLwogCQlpZiAoY3Vyc29yLmxldmVsID09IGFk ZXYtPnZtX21hbmFnZXIucm9vdF9sZXZlbCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdm0uaAppbmRleCA4MWZmODE3N2YwOTIuLjExNjYwNWMwMzhkMiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKQEAgLTMwMyw5ICszMDMsNiBAQCBib29sIGFtZGdwdV92 bV9yZWFkeShzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSk7CiBpbnQgYW1kZ3B1X3ZtX3ZhbGlkYXRlX3B0 X2JvcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sCiAJ CQkgICAgICBpbnQgKCpjYWxsYmFjaykodm9pZCAqcCwgc3RydWN0IGFtZGdwdV9ibyAqYm8pLAog CQkJICAgICAgdm9pZCAqcGFyYW0pOwotaW50IGFtZGdwdV92bV9hbGxvY19wdHMoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCi0JCQlzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKLQkJCXVpbnQ2NF90 IHNhZGRyLCB1aW50NjRfdCBzaXplKTsKIGludCBhbWRncHVfdm1fZmx1c2goc3RydWN0IGFtZGdw dV9yaW5nICpyaW5nLCBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iLCBib29sIG5lZWRfcGlwZV9zeW5j KTsKIGludCBhbWRncHVfdm1fdXBkYXRlX2RpcmVjdG9yaWVzKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAogCQkJCSBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSk7Ci0tIAoyLjE3LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBs aXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=