From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 27/45] drm/amd/display: Fix driver load crash in amdgpu_dm Date: Tue, 11 Dec 2018 17:57:33 -0500 Message-ID: <1544569071-7114-28-git-send-email-sunpeng.li@amd.com> References: <1544569071-7114-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1544569071-7114-1-git-send-email-sunpeng.li-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 Cc: sunpeng.li-5C7GfCeVMHo@public.gmane.org RnJvbTogTGVvIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+CgpbV2h5XQpUaGlzIGZpeGVzIGFuIHJl Z3Jlc3Npb24gaW50cm9kdWNlZCBieToKICAgIGRybS9hbWQvZGlzcGxheTogYWRkIHN0cmVhbSBJ RCBhbmQgb3RnIGluc3RhbmNlIGluIGRjX3N0cmVhbV9zdGF0ZQoKRHVyaW5nIGRyaXZlciBpbml0 aWFsaXphdGlvbiwgYSBudWxsIHBvaW50ZXIgZGVyZWYgaXMgcmFpc2VkLiBUaGlzIGlzCmNhdXNl ZCBieSBzZWFyY2hpbmcgZm9yIGEgc3RyZWFtIHN0YXR1cyBpbiB0aGUgZGMtPmN1cnJlbnRfc3Rh dGUgYmVmb3JlCnRoZSBkY19zdGF0ZSBzd2FwIGhhcHBlbnMgYXQgdGhlIGVuZCBvZiBkY19jb21t aXRfc3RhdGVfbm9fY2hlY2soKS4KU2luY2UgdGhlIHN3YXAgaGFzIG5vdCBoYXBwZW5lZCwgdGhl IGRjX3N0YXRlIHRvIGJlIHN3YXBwZWQgaW4gc2hvdWxkCmJlIHNlYXJjaGVkLCBhbmQgbm90IGRj LT5jdXJyZW50X3N0YXRlLgoKW0hvd10KQWRkIGEgZnVuY3Rpb24gdGhhdCBzZWFyY2hlcyBmb3Ig dGhlIHN0cmVhbSBzdGF0dXMgd2l0aGluIHRoZSBnaXZlbgpkY19zdGF0ZSwgaW5zdGVhZCBvZiBk Yy0+Y3VycmVudF9zdGF0ZS4gVXNlIHRoYXQgYmVmb3JlIHRoZSBzdGF0ZSBzd2FwCmhhcHBlbnMg aW4gZGNfY29tbWl0X3N0YXRlX25vX2NoZWNrKCkuCgpBbHNvIHJlbW92ZSBkdXBsaWNhdGUgb2Nj dXJyZW5jZXMgb2YgdGhpcyBmdW5jdGlvbiBpbiBhbWRncHVfZG0uYy4KClNpZ25lZC1vZmYtYnk6 IExlbyBMaSA8c3VucGVuZy5saUBhbWQuY29tPgpSZXZpZXdlZC1ieTogSGFycnkgV2VudGxhbmQg PEhhcnJ5LldlbnRsYW5kQGFtZC5jb20+CkFja2VkLWJ5OiBOaWNob2xhcyBLYXpsYXVza2FzIDxO aWNob2xhcy5LYXpsYXVza2FzQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8IDIyICsrKy0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjLmMgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMgICB8IDMyICsrKysrKysr KysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNfc3RyZWFt LmggICAgICAgIHwgIDMgKysrCiA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDI0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1 X2RtL2FtZGdwdV9kbS5jCmluZGV4IGZjZjg1MjQuLmMwYzY2NGUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwpAQCAtNDM4MSwyMCAr NDM4MSw2IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVfZmxpcF9pc3Ioc3RydWN0IGFtZGdwdV9jcnRj ICphY3J0YykKIAkJCQkJCSBhY3J0Yy0+Y3J0Y19pZCk7CiB9CiAKLXN0cnVjdCBkY19zdHJlYW1f c3RhdHVzICpkY19zdGF0ZV9nZXRfc3RyZWFtX3N0YXR1cygKLQlzdHJ1Y3QgZGNfc3RhdGUgKnN0 YXRlLAotCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSkKLXsKLQl1aW50OF90IGk7Ci0K LQlmb3IgKGkgPSAwOyBpIDwgc3RhdGUtPnN0cmVhbV9jb3VudDsgaSsrKSB7Ci0JCWlmIChzdHJl YW0gPT0gc3RhdGUtPnN0cmVhbXNbaV0pCi0JCQlyZXR1cm4gJnN0YXRlLT5zdHJlYW1fc3RhdHVz W2ldOwotCX0KLQotCXJldHVybiBOVUxMOwotfQotCiBzdGF0aWMgdm9pZCB1cGRhdGVfZnJlZXN5 bmNfc3RhdGVfb25fc3RyZWFtKAogCXN0cnVjdCBhbWRncHVfZGlzcGxheV9tYW5hZ2VyICpkbSwK IAlzdHJ1Y3QgZG1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUsCkBAIC00OTY1LDggKzQ5NTEs OCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJCQkJZGNfc3RyZWFtX2dldF9zdGF0dXMoZG1fbmV3X2Ny dGNfc3RhdGUtPnN0cmVhbSk7CiAKIAkJCWlmICghc3RhdHVzKQotCQkJCXN0YXR1cyA9IGRjX3N0 YXRlX2dldF9zdHJlYW1fc3RhdHVzKGRjX3N0YXRlLAotCQkJCQkJCQkgICAgZG1fbmV3X2NydGNf c3RhdGUtPnN0cmVhbSk7CisJCQkJc3RhdHVzID0gZGNfc3RyZWFtX2dldF9zdGF0dXNfZnJvbV9z dGF0ZShkY19zdGF0ZSwKKwkJCQkJCQkJCSBkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtKTsKIAog CQkJaWYgKCFzdGF0dXMpCiAJCQkJRENfRVJSKCJnb3Qgbm8gc3RhdHVzIGZvciBzdHJlYW0gJXAg b24gYWNydGMlcFxuIiwgZG1fbmV3X2NydGNfc3RhdGUtPnN0cmVhbSwgYWNydGMpOwpAQCAtNTcy OCw4ICs1NzE0LDggQEAgZG1fZGV0ZXJtaW5lX3VwZGF0ZV90eXBlX2Zvcl9jb21taXQoc3RydWN0 IGRjICpkYywKIAkJCQkJZ290byBjbGVhbnVwOwogCQkJCX0KIAotCQkJCXN0YXR1cyA9IGRjX3N0 YXRlX2dldF9zdHJlYW1fc3RhdHVzKG9sZF9kbV9zdGF0ZS0+Y29udGV4dCwKLQkJCQkJCQkJICAg IG5ld19kbV9jcnRjX3N0YXRlLT5zdHJlYW0pOworCQkJCXN0YXR1cyA9IGRjX3N0cmVhbV9nZXRf c3RhdHVzX2Zyb21fc3RhdGUob2xkX2RtX3N0YXRlLT5jb250ZXh0LAorCQkJCQkJCQkJIG5ld19k bV9jcnRjX3N0YXRlLT5zdHJlYW0pOwogCiAJCQkJdXBkYXRlX3R5cGUgPSBkY19jaGVja191cGRh dGVfc3VyZmFjZXNfZm9yX3N0cmVhbShkYywgdXBkYXRlcywgbnVtX3BsYW5lLAogCQkJCQkJCQkJ CSAgJnN0cmVhbV91cGRhdGUsIHN0YXR1cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2NvcmUvZGMuYwppbmRleCA1NzVjMzE4Li5jOThmYThkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9jb3JlL2RjLmMKQEAgLTEwNzUsNyArMTA3NSw3IEBAIHN0YXRpYyBlbnVtIGRj X3N0YXR1cyBkY19jb21taXRfc3RhdGVfbm9fY2hlY2soc3RydWN0IGRjICpkYywgc3RydWN0IGRj X3N0YXRlICpjCiAJCQl9CiAJCX0KIAotCQlzdGF0dXMgPSBkY19zdHJlYW1fZ2V0X3N0YXR1cyhj b250ZXh0LT5zdHJlYW1zW2ldKTsKKwkJc3RhdHVzID0gZGNfc3RyZWFtX2dldF9zdGF0dXNfZnJv bV9zdGF0ZShjb250ZXh0LCBjb250ZXh0LT5zdHJlYW1zW2ldKTsKIAkJY29udGV4dC0+c3RyZWFt c1tpXS0+b3V0Lm90Z19vZmZzZXQgPSBzdGF0dXMtPnByaW1hcnlfb3RnX2luc3Q7CiAKIAkJQ09O Tl9NU0dfTU9ERShsaW5rLCAieyVkeCVkLCAlZHglZEAlZEtoen0iLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdHJlYW0uYwppbmRleCAzMzY1ODZiLi5lZDVl YjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19z dHJlYW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdHJl YW0uYwpAQCAtMTYwLDIxICsxNjAsNDMgQEAgc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqZGNfY3Jl YXRlX3N0cmVhbV9mb3Jfc2luaygKIAlyZXR1cm4gc3RyZWFtOwogfQogCi1zdHJ1Y3QgZGNfc3Ry ZWFtX3N0YXR1cyAqZGNfc3RyZWFtX2dldF9zdGF0dXMoCisvKioKKyAqIGRjX3N0cmVhbV9nZXRf c3RhdHVzX2Zyb21fc3RhdGUgLSBHZXQgc3RyZWFtIHN0YXR1cyBmcm9tIGdpdmVuIGRjIHN0YXRl CisgKiBAc3RhdGU6IERDIHN0YXRlIHRvIGZpbmQgdGhlIHN0cmVhbSBzdGF0dXMgaW4KKyAqIEBz dHJlYW06IFRoZSBzdHJlYW0gdG8gZ2V0IHRoZSBzdHJlYW0gc3RhdHVzIGZvcgorICoKKyAqIFRo ZSBnaXZlbiBzdHJlYW0gaXMgZXhwZWN0ZWQgdG8gZXhpc3QgaW4gdGhlIGdpdmVuIGRjIHN0YXRl LiBPdGhlcndpc2UsIE5VTEwKKyAqIHdpbGwgYmUgcmV0dXJuZWQuCisgKi8KK3N0cnVjdCBkY19z dHJlYW1fc3RhdHVzICpkY19zdHJlYW1fZ2V0X3N0YXR1c19mcm9tX3N0YXRlKAorCXN0cnVjdCBk Y19zdGF0ZSAqc3RhdGUsCiAJc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtKQogewogCXVp bnQ4X3QgaTsKLQlzdHJ1Y3QgZGMgICpkYyA9IHN0cmVhbS0+Y3R4LT5kYzsKIAotCWZvciAoaSA9 IDA7IGkgPCBkYy0+Y3VycmVudF9zdGF0ZS0+c3RyZWFtX2NvdW50OyBpKyspIHsKLQkJaWYgKHN0 cmVhbSA9PSBkYy0+Y3VycmVudF9zdGF0ZS0+c3RyZWFtc1tpXSkKLQkJCXJldHVybiAmZGMtPmN1 cnJlbnRfc3RhdGUtPnN0cmVhbV9zdGF0dXNbaV07CisJZm9yIChpID0gMDsgaSA8IHN0YXRlLT5z dHJlYW1fY291bnQ7IGkrKykgeworCQlpZiAoc3RyZWFtID09IHN0YXRlLT5zdHJlYW1zW2ldKQor CQkJcmV0dXJuICZzdGF0ZS0+c3RyZWFtX3N0YXR1c1tpXTsKIAl9CiAKIAlyZXR1cm4gTlVMTDsK IH0KIAogLyoqCisgKiBkY19zdHJlYW1fZ2V0X3N0YXR1cygpIC0gR2V0IGN1cnJlbnQgc3RyZWFt IHN0YXR1cyBvZiB0aGUgZ2l2ZW4gc3RyZWFtIHN0YXRlCisgKiBAc3RyZWFtOiBUaGUgc3RyZWFt IHRvIGdldCB0aGUgc3RyZWFtIHN0YXR1cyBmb3IuCisgKgorICogVGhlIGdpdmVuIHN0cmVhbSBp cyBleHBlY3RlZCB0byBleGlzdCBpbiBkYy0+Y3VycmVudF9zdGF0ZS4gT3RoZXJ3aXNlLCBOVUxM CisgKiB3aWxsIGJlIHJldHVybmVkLgorICovCitzdHJ1Y3QgZGNfc3RyZWFtX3N0YXR1cyAqZGNf c3RyZWFtX2dldF9zdGF0dXMoCisJc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtKQorewor CXN0cnVjdCBkYyAqZGMgPSBzdHJlYW0tPmN0eC0+ZGM7CisJcmV0dXJuIGRjX3N0cmVhbV9nZXRf c3RhdHVzX2Zyb21fc3RhdGUoZGMtPmN1cnJlbnRfc3RhdGUsIHN0cmVhbSk7Cit9CisKKy8qKgog ICogZGNfc3RyZWFtX3NldF9jdXJzb3JfYXR0cmlidXRlcygpIC0gVXBkYXRlIGN1cnNvciBhdHRy aWJ1dGVzIGFuZCBzZXQgY3Vyc29yIHN1cmZhY2UgYWRkcmVzcwogICovCiBib29sIGRjX3N0cmVh bV9zZXRfY3Vyc29yX2F0dHJpYnV0ZXMoCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNfc3RyZWFtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNfc3RyZWFtLmgKaW5kZXggMWUxZTg5ZS4uYmZiNzQxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjX3N0cmVhbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY19zdHJlYW0uaApAQCAtMjc4LDYgKzI3OCw5IEBAIHZvaWQgdXBkYXRl X3N0cmVhbV9zaWduYWwoc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtLCBzdHJ1Y3QgZGNf c2luayAqc2luayk7CiB2b2lkIGRjX3N0cmVhbV9yZXRhaW4oc3RydWN0IGRjX3N0cmVhbV9zdGF0 ZSAqZGNfc3RyZWFtKTsKIHZvaWQgZGNfc3RyZWFtX3JlbGVhc2Uoc3RydWN0IGRjX3N0cmVhbV9z dGF0ZSAqZGNfc3RyZWFtKTsKIAorc3RydWN0IGRjX3N0cmVhbV9zdGF0dXMgKmRjX3N0cmVhbV9n ZXRfc3RhdHVzX2Zyb21fc3RhdGUoCisJc3RydWN0IGRjX3N0YXRlICpzdGF0ZSwKKwlzdHJ1Y3Qg ZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0pOwogc3RydWN0IGRjX3N0cmVhbV9zdGF0dXMgKmRjX3N0 cmVhbV9nZXRfc3RhdHVzKAogCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKmRjX3N0cmVhbSk7CiAK LS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK