From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 1/2] drm/amdgpu/sdma: simplify sdma instance setup Date: Mon, 25 Jun 2018 12:42:34 -0500 Message-ID: <20180625174235.29172-1-alexander.deucher@amd.com> 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 Cc: Alex Deucher U2V0IHRoZSBtZSBpbnN0YW5jZSBpbiBlYXJseSBpbml0IGFuZCB1c2UgdGhhdCByYXRoZXIgdGhh bgpjYWxjdWxhdGluZyB0aGUgaW5zdGFuY2UgYmFzZWQgb24gdGhlIHJpbmcgcG9pbnRlci4KClNp Z25lZC1vZmYtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfc2RtYS5jICB8IDEyICsrKysrKy0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80LmMgfCAxMiArKysrKystLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5jIHwgMTQgKysrKysrLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jIHwgMjMgKysrKysr KysrKystLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMzIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lr X3NkbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMKaW5kZXggYTc1 NzYyNTVjYzMwLi5kYmQ1NTNhOGQ1ODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2Npa19zZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3Nk bWEuYwpAQCAtMTc3LDkgKzE3Nyw4IEBAIHN0YXRpYyB1aW50NjRfdCBjaWtfc2RtYV9yaW5nX2dl dF9ycHRyKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKIHN0YXRpYyB1aW50NjRfdCBjaWtfc2Rt YV9yaW5nX2dldF93cHRyKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKIHsKIAlzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiA9IHJpbmctPmFkZXY7Ci0JdTMyIG1lID0gKHJpbmcgPT0gJmFkZXYt PnNkbWEuaW5zdGFuY2VbMF0ucmluZykgPyAwIDogMTsKIAotCXJldHVybiAoUlJFRzMyKG1tU0RN QTBfR0ZYX1JCX1dQVFIgKyBzZG1hX29mZnNldHNbbWVdKSAmIDB4M2ZmZmMpID4+IDI7CisJcmV0 dXJuIChSUkVHMzIobW1TRE1BMF9HRlhfUkJfV1BUUiArIHNkbWFfb2Zmc2V0c1tyaW5nLT5tZV0p ICYgMHgzZmZmYykgPj4gMjsKIH0KIAogLyoqCkBAIC0xOTIsOSArMTkxLDggQEAgc3RhdGljIHVp bnQ2NF90IGNpa19zZG1hX3JpbmdfZ2V0X3dwdHIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQog c3RhdGljIHZvaWQgY2lrX3NkbWFfcmluZ19zZXRfd3B0cihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJp bmcpCiB7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSByaW5nLT5hZGV2OwotCXUzMiBt ZSA9IChyaW5nID09ICZhZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmcpID8gMCA6IDE7CiAKLQlX UkVHMzIobW1TRE1BMF9HRlhfUkJfV1BUUiArIHNkbWFfb2Zmc2V0c1ttZV0sCisJV1JFRzMyKG1t U0RNQTBfR0ZYX1JCX1dQVFIgKyBzZG1hX29mZnNldHNbcmluZy0+bWVdLAogCQkgICAgICAgCShs b3dlcl8zMl9iaXRzKHJpbmctPndwdHIpIDw8IDIpICYgMHgzZmZmYyk7CiB9CiAKQEAgLTI0OCw3 ICsyNDYsNyBAQCBzdGF0aWMgdm9pZCBjaWtfc2RtYV9yaW5nX2VtaXRfaGRwX2ZsdXNoKHN0cnVj dCBhbWRncHVfcmluZyAqcmluZykKIAkJCSAgU0RNQV9QT0xMX1JFR19NRU1fRVhUUkFfRlVOQygz KSk7IC8qID09ICovCiAJdTMyIHJlZl9hbmRfbWFzazsKIAotCWlmIChyaW5nID09ICZyaW5nLT5h ZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmcpCisJaWYgKHJpbmctPm1lID09IDApCiAJCXJlZl9h bmRfbWFzayA9IEdQVV9IRFBfRkxVU0hfRE9ORV9fU0RNQTBfTUFTSzsKIAllbHNlCiAJCXJlZl9h bmRfbWFzayA9IEdQVV9IRFBfRkxVU0hfRE9ORV9fU0RNQTFfTUFTSzsKQEAgLTEyOTAsOCArMTI4 OCwxMCBAQCBzdGF0aWMgdm9pZCBjaWtfc2RtYV9zZXRfcmluZ19mdW5jcyhzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIHsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1h Lm51bV9pbnN0YW5jZXM7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgYWRldi0+c2RtYS5udW1faW5z dGFuY2VzOyBpKyspIHsKIAkJYWRldi0+c2RtYS5pbnN0YW5jZVtpXS5yaW5nLmZ1bmNzID0gJmNp a19zZG1hX3JpbmdfZnVuY3M7CisJCWFkZXYtPnNkbWEuaW5zdGFuY2VbaV0ucmluZy5tZSA9IGk7 CisJfQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9pcnFfc3JjX2Z1bmNzIGNpa19z ZG1hX3RyYXBfaXJxX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvc2RtYV92Ml80LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YyXzQu YwppbmRleCBjNzE5MGMzOWM0ZjUuLmNlZTRmYWU3NmQyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvc2RtYV92Ml80LmMKQEAgLTIwMiw4ICsyMDIsNyBAQCBzdGF0aWMgdWludDY0X3Qgc2Rt YV92Ml80X3JpbmdfZ2V0X3JwdHIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQogc3RhdGljIHVp bnQ2NF90IHNkbWFfdjJfNF9yaW5nX2dldF93cHRyKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykK IHsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IHJpbmctPmFkZXY7Ci0JaW50IG1lID0g KHJpbmcgPT0gJnJpbmctPmFkZXYtPnNkbWEuaW5zdGFuY2VbMF0ucmluZykgPyAwIDogMTsKLQl1 MzIgd3B0ciA9IFJSRUczMihtbVNETUEwX0dGWF9SQl9XUFRSICsgc2RtYV9vZmZzZXRzW21lXSkg Pj4gMjsKKwl1MzIgd3B0ciA9IFJSRUczMihtbVNETUEwX0dGWF9SQl9XUFRSICsgc2RtYV9vZmZz ZXRzW3JpbmctPm1lXSkgPj4gMjsKIAogCXJldHVybiB3cHRyOwogfQpAQCAtMjE4LDkgKzIxNyw4 IEBAIHN0YXRpYyB1aW50NjRfdCBzZG1hX3YyXzRfcmluZ19nZXRfd3B0cihzdHJ1Y3QgYW1kZ3B1 X3JpbmcgKnJpbmcpCiBzdGF0aWMgdm9pZCBzZG1hX3YyXzRfcmluZ19zZXRfd3B0cihzdHJ1Y3Qg YW1kZ3B1X3JpbmcgKnJpbmcpCiB7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSByaW5n LT5hZGV2OwotCWludCBtZSA9IChyaW5nID09ICZyaW5nLT5hZGV2LT5zZG1hLmluc3RhbmNlWzBd LnJpbmcpID8gMCA6IDE7CiAKLQlXUkVHMzIobW1TRE1BMF9HRlhfUkJfV1BUUiArIHNkbWFfb2Zm c2V0c1ttZV0sIGxvd2VyXzMyX2JpdHMocmluZy0+d3B0cikgPDwgMik7CisJV1JFRzMyKG1tU0RN QTBfR0ZYX1JCX1dQVFIgKyBzZG1hX29mZnNldHNbcmluZy0+bWVdLCBsb3dlcl8zMl9iaXRzKHJp bmctPndwdHIpIDw8IDIpOwogfQogCiBzdGF0aWMgdm9pZCBzZG1hX3YyXzRfcmluZ19pbnNlcnRf bm9wKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywgdWludDMyX3QgY291bnQpCkBAIC0yNzMsNyAr MjcxLDcgQEAgc3RhdGljIHZvaWQgc2RtYV92Ml80X3JpbmdfZW1pdF9oZHBfZmx1c2goc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nKQogewogCXUzMiByZWZfYW5kX21hc2sgPSAwOwogCi0JaWYgKHJp bmcgPT0gJnJpbmctPmFkZXYtPnNkbWEuaW5zdGFuY2VbMF0ucmluZykKKwlpZiAocmluZy0+bWUg PT0gMCkKIAkJcmVmX2FuZF9tYXNrID0gUkVHX1NFVF9GSUVMRChyZWZfYW5kX21hc2ssIEdQVV9I RFBfRkxVU0hfRE9ORSwgU0RNQTAsIDEpOwogCWVsc2UKIAkJcmVmX2FuZF9tYXNrID0gUkVHX1NF VF9GSUVMRChyZWZfYW5kX21hc2ssIEdQVV9IRFBfRkxVU0hfRE9ORSwgU0RNQTEsIDEpOwpAQCAt MTIxMyw4ICsxMjExLDEwIEBAIHN0YXRpYyB2b2lkIHNkbWFfdjJfNF9zZXRfcmluZ19mdW5jcyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIHsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkg PCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgYWRldi0+ c2RtYS5udW1faW5zdGFuY2VzOyBpKyspIHsKIAkJYWRldi0+c2RtYS5pbnN0YW5jZVtpXS5yaW5n LmZ1bmNzID0gJnNkbWFfdjJfNF9yaW5nX2Z1bmNzOworCQlhZGV2LT5zZG1hLmluc3RhbmNlW2ld LnJpbmcubWUgPSBpOworCX0KIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfaXJxX3Ny Y19mdW5jcyBzZG1hX3YyXzRfdHJhcF9pcnFfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3NkbWFfdjNfMC5jCmluZGV4IGFhOWFiMjk5ZmQzMi4uOTk2MTZkZDk1OTRmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYwpAQCAtMzY1LDkgKzM2NSw3IEBAIHN0YXRp YyB1aW50NjRfdCBzZG1hX3YzXzBfcmluZ19nZXRfd3B0cihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJp bmcpCiAJCS8qIFhYWCBjaGVjayBpZiBzd2FwcGluZyBpcyBuZWNlc3Nhcnkgb24gQkUgKi8KIAkJ d3B0ciA9IHJpbmctPmFkZXYtPndiLndiW3JpbmctPndwdHJfb2Zmc10gPj4gMjsKIAl9IGVsc2Ug ewotCQlpbnQgbWUgPSAocmluZyA9PSAmcmluZy0+YWRldi0+c2RtYS5pbnN0YW5jZVswXS5yaW5n KSA/IDAgOiAxOwotCi0JCXdwdHIgPSBSUkVHMzIobW1TRE1BMF9HRlhfUkJfV1BUUiArIHNkbWFf b2Zmc2V0c1ttZV0pID4+IDI7CisJCXdwdHIgPSBSUkVHMzIobW1TRE1BMF9HRlhfUkJfV1BUUiAr IHNkbWFfb2Zmc2V0c1tyaW5nLT5tZV0pID4+IDI7CiAJfQogCiAJcmV0dXJuIHdwdHI7CkBAIC0z OTQsOSArMzkyLDcgQEAgc3RhdGljIHZvaWQgc2RtYV92M18wX3Jpbmdfc2V0X3dwdHIoc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nKQogCiAJCVdSSVRFX09OQ0UoKndiLCAobG93ZXJfMzJfYml0cyhy aW5nLT53cHRyKSA8PCAyKSk7CiAJfSBlbHNlIHsKLQkJaW50IG1lID0gKHJpbmcgPT0gJnJpbmct PmFkZXYtPnNkbWEuaW5zdGFuY2VbMF0ucmluZykgPyAwIDogMTsKLQotCQlXUkVHMzIobW1TRE1B MF9HRlhfUkJfV1BUUiArIHNkbWFfb2Zmc2V0c1ttZV0sIGxvd2VyXzMyX2JpdHMocmluZy0+d3B0 cikgPDwgMik7CisJCVdSRUczMihtbVNETUEwX0dGWF9SQl9XUFRSICsgc2RtYV9vZmZzZXRzW3Jp bmctPm1lXSwgbG93ZXJfMzJfYml0cyhyaW5nLT53cHRyKSA8PCAyKTsKIAl9CiB9CiAKQEAgLTQ1 MCw3ICs0NDYsNyBAQCBzdGF0aWMgdm9pZCBzZG1hX3YzXzBfcmluZ19lbWl0X2hkcF9mbHVzaChz dHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiB7CiAJdTMyIHJlZl9hbmRfbWFzayA9IDA7CiAKLQlp ZiAocmluZyA9PSAmcmluZy0+YWRldi0+c2RtYS5pbnN0YW5jZVswXS5yaW5nKQorCWlmIChyaW5n LT5tZSA9PSAwKQogCQlyZWZfYW5kX21hc2sgPSBSRUdfU0VUX0ZJRUxEKHJlZl9hbmRfbWFzaywg R1BVX0hEUF9GTFVTSF9ET05FLCBTRE1BMCwgMSk7CiAJZWxzZQogCQlyZWZfYW5kX21hc2sgPSBS RUdfU0VUX0ZJRUxEKHJlZl9hbmRfbWFzaywgR1BVX0hEUF9GTFVTSF9ET05FLCBTRE1BMSwgMSk7 CkBAIC0xNjU1LDggKzE2NTEsMTAgQEAgc3RhdGljIHZvaWQgc2RtYV92M18wX3NldF9yaW5nX2Z1 bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogewogCWludCBpOwogCi0JZm9yIChpID0g MDsgaSA8IGFkZXYtPnNkbWEubnVtX2luc3RhbmNlczsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBh ZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewogCQlhZGV2LT5zZG1hLmluc3RhbmNlW2ld LnJpbmcuZnVuY3MgPSAmc2RtYV92M18wX3JpbmdfZnVuY3M7CisJCWFkZXYtPnNkbWEuaW5zdGFu Y2VbaV0ucmluZy5tZSA9IGk7CisJfQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9p cnFfc3JjX2Z1bmNzIHNkbWFfdjNfMF90cmFwX2lycV9mdW5jcyA9IHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvc2RtYV92NF8wLmMKaW5kZXggY2E1M2IzZmJhNDIyLi41NzJjYTYzY2Y2NzYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCkBAIC0yOTYsMTMgKzI5NiwxMiBA QCBzdGF0aWMgdWludDY0X3Qgc2RtYV92NF8wX3JpbmdfZ2V0X3dwdHIoc3RydWN0IGFtZGdwdV9y aW5nICpyaW5nKQogCQlEUk1fREVCVUcoIndwdHIvZG9vcmJlbGwgYmVmb3JlIHNoaWZ0ID09IDB4 JTAxNmxseFxuIiwgd3B0cik7CiAJfSBlbHNlIHsKIAkJdTMyIGxvd2JpdCwgaGlnaGJpdDsKLQkJ aW50IG1lID0gKHJpbmcgPT0gJmFkZXYtPnNkbWEuaW5zdGFuY2VbMF0ucmluZykgPyAwIDogMTsK IAotCQlsb3diaXQgPSBSUkVHMzIoc2RtYV92NF8wX2dldF9yZWdfb2Zmc2V0KGFkZXYsIG1lLCBt bVNETUEwX0dGWF9SQl9XUFRSKSkgPj4gMjsKLQkJaGlnaGJpdCA9IFJSRUczMihzZG1hX3Y0XzBf Z2V0X3JlZ19vZmZzZXQoYWRldiwgbWUsIG1tU0RNQTBfR0ZYX1JCX1dQVFJfSEkpKSA+PiAyOwor CQlsb3diaXQgPSBSUkVHMzIoc2RtYV92NF8wX2dldF9yZWdfb2Zmc2V0KGFkZXYsIHJpbmctPm1l LCBtbVNETUEwX0dGWF9SQl9XUFRSKSkgPj4gMjsKKwkJaGlnaGJpdCA9IFJSRUczMihzZG1hX3Y0 XzBfZ2V0X3JlZ19vZmZzZXQoYWRldiwgcmluZy0+bWUsIG1tU0RNQTBfR0ZYX1JCX1dQVFJfSEkp KSA+PiAyOwogCiAJCURSTV9ERUJVRygid3B0ciBbJWldaGlnaD09IDB4JTA4eCBsb3c9PTB4JTA4 eFxuIiwKLQkJCQltZSwgaGlnaGJpdCwgbG93Yml0KTsKKwkJCQlyaW5nLT5tZSwgaGlnaGJpdCwg bG93Yml0KTsKIAkJd3B0ciA9IGhpZ2hiaXQ7CiAJCXdwdHIgPSB3cHRyIDw8IDMyOwogCQl3cHRy IHw9IGxvd2JpdDsKQEAgLTMzOSwxNyArMzM4LDE1IEBAIHN0YXRpYyB2b2lkIHNkbWFfdjRfMF9y aW5nX3NldF93cHRyKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKIAkJCQlyaW5nLT5kb29yYmVs bF9pbmRleCwgcmluZy0+d3B0ciA8PCAyKTsKIAkJV0RPT1JCRUxMNjQocmluZy0+ZG9vcmJlbGxf aW5kZXgsIHJpbmctPndwdHIgPDwgMik7CiAJfSBlbHNlIHsKLQkJaW50IG1lID0gKHJpbmcgPT0g JnJpbmctPmFkZXYtPnNkbWEuaW5zdGFuY2VbMF0ucmluZykgPyAwIDogMTsKLQogCQlEUk1fREVC VUcoIk5vdCB1c2luZyBkb29yYmVsbCAtLSAiCiAJCQkJIm1tU0RNQSVpX0dGWF9SQl9XUFRSID09 IDB4JTA4eCAiCiAJCQkJIm1tU0RNQSVpX0dGWF9SQl9XUFRSX0hJID09IDB4JTA4eFxuIiwKLQkJ CQltZSwKKwkJCQlyaW5nLT5tZSwKIAkJCQlsb3dlcl8zMl9iaXRzKHJpbmctPndwdHIgPDwgMiks Ci0JCQkJbWUsCisJCQkJcmluZy0+bWUsCiAJCQkJdXBwZXJfMzJfYml0cyhyaW5nLT53cHRyIDw8 IDIpKTsKLQkJV1JFRzMyKHNkbWFfdjRfMF9nZXRfcmVnX29mZnNldChhZGV2LCBtZSwgbW1TRE1B MF9HRlhfUkJfV1BUUiksIGxvd2VyXzMyX2JpdHMocmluZy0+d3B0ciA8PCAyKSk7Ci0JCVdSRUcz MihzZG1hX3Y0XzBfZ2V0X3JlZ19vZmZzZXQoYWRldiwgbWUsIG1tU0RNQTBfR0ZYX1JCX1dQVFJf SEkpLCB1cHBlcl8zMl9iaXRzKHJpbmctPndwdHIgPDwgMikpOworCQlXUkVHMzIoc2RtYV92NF8w X2dldF9yZWdfb2Zmc2V0KGFkZXYsIHJpbmctPm1lLCBtbVNETUEwX0dGWF9SQl9XUFRSKSwgbG93 ZXJfMzJfYml0cyhyaW5nLT53cHRyIDw8IDIpKTsKKwkJV1JFRzMyKHNkbWFfdjRfMF9nZXRfcmVn X29mZnNldChhZGV2LCByaW5nLT5tZSwgbW1TRE1BMF9HRlhfUkJfV1BUUl9ISSksIHVwcGVyXzMy X2JpdHMocmluZy0+d3B0ciA8PCAyKSk7CiAJfQogfQogCkBAIC00MzAsNyArNDI3LDcgQEAgc3Rh dGljIHZvaWQgc2RtYV92NF8wX3JpbmdfZW1pdF9oZHBfZmx1c2goc3RydWN0IGFtZGdwdV9yaW5n ICpyaW5nKQogCXUzMiByZWZfYW5kX21hc2sgPSAwOwogCWNvbnN0IHN0cnVjdCBuYmlvX2hkcF9m bHVzaF9yZWcgKm5iaW9faGZfcmVnID0gYWRldi0+bmJpb19mdW5jcy0+aGRwX2ZsdXNoX3JlZzsK IAotCWlmIChyaW5nID09ICZyaW5nLT5hZGV2LT5zZG1hLmluc3RhbmNlWzBdLnJpbmcpCisJaWYg KHJpbmctPm1lID09IDApCiAJCXJlZl9hbmRfbWFzayA9IG5iaW9faGZfcmVnLT5yZWZfYW5kX21h c2tfc2RtYTA7CiAJZWxzZQogCQlyZWZfYW5kX21hc2sgPSBuYmlvX2hmX3JlZy0+cmVmX2FuZF9t YXNrX3NkbWExOwpAQCAtMTY1MSw4ICsxNjQ4LDEwIEBAIHN0YXRpYyB2b2lkIHNkbWFfdjRfMF9z ZXRfcmluZ19mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIHsKIAlpbnQgaTsKIAot CWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykKKwlmb3IgKGkg PSAwOyBpIDwgYWRldi0+c2RtYS5udW1faW5zdGFuY2VzOyBpKyspIHsKIAkJYWRldi0+c2RtYS5p bnN0YW5jZVtpXS5yaW5nLmZ1bmNzID0gJnNkbWFfdjRfMF9yaW5nX2Z1bmNzOworCQlhZGV2LT5z ZG1hLmluc3RhbmNlW2ldLnJpbmcubWUgPSBpOworCX0KIH0KIAogc3RhdGljIGNvbnN0IHN0cnVj dCBhbWRncHVfaXJxX3NyY19mdW5jcyBzZG1hX3Y0XzBfdHJhcF9pcnFfZnVuY3MgPSB7Ci0tIAoy LjEzLjYKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFt ZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=