From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 03/25] drm/amd/display: Disable Modules at Runtime Date: Mon, 23 Jan 2017 09:35:51 -0500 Message-ID: <20170123143613.15441-4-harry.wentland@amd.com> References: <20170123143613.15441-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170123143613.15441-1-harry.wentland-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: Anthony Koo RnJvbTogQW50aG9ueSBLb28gPEFudGhvbnkuS29vQGFtZC5jb20+CgpBZGQgTlVMTCBjaGVjayBp biBtb2R1bGVzCgpDaGFuZ2UtSWQ6IEkzZTY2OGM5M2IxNjc5NWM1MzlhYzc5MDYzODY5NGMyYjRj NGRhYjI4ClNpZ25lZC1vZmYtYnk6IEFudGhvbnkgS29vIDxhbnRob255Lmtvb0BhbWQuY29tPgpB Y2tlZC1ieTogSGFycnkgV2VudGxhbmQgPEhhcnJ5LldlbnRsYW5kQGFtZC5jb20+ClJldmlld2Vk LWJ5OiBUb255IENoZW5nIDxUb255LkNoZW5nQGFtZC5jb20+Ci0tLQogLi4uL2RybS9hbWQvZGlz cGxheS9tb2R1bGVzL2ZyZWVzeW5jL2ZyZWVzeW5jLmMgICAgfCA5NCArKysrKysrKysrKysrKyst LS0tLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9tb2R1bGVzL2luYy9tb2RfZnJlZXN5bmMu aCB8ICA3IC0tCiAyIGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9tb2R1bGVzL2Zy ZWVzeW5jL2ZyZWVzeW5jLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvbW9kdWxlcy9m cmVlc3luYy9mcmVlc3luYy5jCmluZGV4IDZmNGQxNjlmNGU0ZS4uZTA3MDNjNTg4ZTQ3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvbW9kdWxlcy9mcmVlc3luYy9mcmVl c3luYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9tb2R1bGVzL2ZyZWVzeW5j L2ZyZWVzeW5jLmMKQEAgLTIwNSwxMSArMjA1LDE2IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbWFw X2luZGV4X2Zyb21fc3RyZWFtKHN0cnVjdCBjb3JlX2ZyZWVzeW5jICpjb3JlX2ZyZWVzeW5jLAog Ym9vbCBtb2RfZnJlZXN5bmNfYWRkX3N0cmVhbShzdHJ1Y3QgbW9kX2ZyZWVzeW5jICptb2RfZnJl ZXN5bmMsCiAJCWNvbnN0IHN0cnVjdCBkY19zdHJlYW0gKnN0cmVhbSwgc3RydWN0IG1vZF9mcmVl c3luY19jYXBzICpjYXBzKQogewotCXN0cnVjdCBjb3JlX2ZyZWVzeW5jICpjb3JlX2ZyZWVzeW5j ID0KLQkJCU1PRF9GUkVFU1lOQ19UT19DT1JFKG1vZF9mcmVlc3luYyk7Ci0Jc3RydWN0IGNvcmVf c3RyZWFtICpjb3JlX3N0cmVhbSA9Ci0JCQlEQ19TVFJFQU1fVE9fQ09SRShzdHJlYW0pOwotCXN0 cnVjdCBjb3JlX2RjICpjb3JlX2RjID0gRENfVE9fQ09SRShjb3JlX2ZyZWVzeW5jLT5kYyk7CisJ c3RydWN0IGNvcmVfc3RyZWFtICpjb3JlX3N0cmVhbSA9IE5VTEw7CisJc3RydWN0IGNvcmVfZGMg KmNvcmVfZGMgPSBOVUxMOworCXN0cnVjdCBjb3JlX2ZyZWVzeW5jICpjb3JlX2ZyZWVzeW5jID0g TlVMTDsKKworCWlmIChtb2RfZnJlZXN5bmMgPT0gTlVMTCkKKwkJcmV0dXJuIGZhbHNlOworCisJ Y29yZV9mcmVlc3luYyA9IE1PRF9GUkVFU1lOQ19UT19DT1JFKG1vZF9mcmVlc3luYyk7CisJY29y ZV9zdHJlYW0gPSBEQ19TVFJFQU1fVE9fQ09SRShzdHJlYW0pOworCWNvcmVfZGMgPSBEQ19UT19D T1JFKGNvcmVfZnJlZXN5bmMtPmRjKTsKIAogCWludCBwZXJzaXN0ZW50X2ZyZWVzeW5jX2VuYWJs ZSA9IDA7CiAJc3RydWN0IHBlcnNpc3RlbnRfZGF0YV9mbGFnIGZsYWc7CkBAIC0yNzAsMTEgKzI3 NSwxNiBAQCBib29sIG1vZF9mcmVlc3luY19hZGRfc3RyZWFtKHN0cnVjdCBtb2RfZnJlZXN5bmMg Km1vZF9mcmVlc3luYywKIGJvb2wgbW9kX2ZyZWVzeW5jX3JlbW92ZV9zdHJlYW0oc3RydWN0IG1v ZF9mcmVlc3luYyAqbW9kX2ZyZWVzeW5jLAogCQljb25zdCBzdHJ1Y3QgZGNfc3RyZWFtICpzdHJl YW0pCiB7Ci0Jc3RydWN0IGNvcmVfZnJlZXN5bmMgKmNvcmVfZnJlZXN5bmMgPQotCQkJTU9EX0ZS RUVTWU5DX1RPX0NPUkUobW9kX2ZyZWVzeW5jKTsKLQogCWludCBpID0gMDsKLQl1bnNpZ25lZCBp bnQgaW5kZXggPSBtYXBfaW5kZXhfZnJvbV9zdHJlYW0oY29yZV9mcmVlc3luYywgc3RyZWFtKTsK KwlzdHJ1Y3QgY29yZV9mcmVlc3luYyAqY29yZV9mcmVlc3luYyA9IE5VTEw7CisJdW5zaWduZWQg aW50IGluZGV4ID0gMDsKKworCWlmIChtb2RfZnJlZXN5bmMgPT0gTlVMTCkKKwkJcmV0dXJuIGZh bHNlOworCisJY29yZV9mcmVlc3luYyA9IE1PRF9GUkVFU1lOQ19UT19DT1JFKG1vZF9mcmVlc3lu Yyk7CisJaW5kZXggPSBtYXBfaW5kZXhfZnJvbV9zdHJlYW0oY29yZV9mcmVlc3luYywgc3RyZWFt KTsKKwogCWRjX3N0cmVhbV9yZWxlYXNlKGNvcmVfZnJlZXN5bmMtPm1hcFtpbmRleF0uc3RyZWFt KTsKIAljb3JlX2ZyZWVzeW5jLT5tYXBbaW5kZXhdLnN0cmVhbSA9IE5VTEw7CiAJLyogVG8gcmVt b3ZlIHRoaXMgZW50aXR5LCBzaGlmdCBldmVyeXRoaW5nIGFmdGVyIGRvd24gKi8KQEAgLTYyMSwx MSArNjMxLDE0IEBAIHN0YXRpYyB2b2lkIHNldF9zdGF0aWNfcmFtcF92YXJpYWJsZXMoc3RydWN0 IGNvcmVfZnJlZXN5bmMgKmNvcmVfZnJlZXN5bmMsCiB2b2lkIG1vZF9mcmVlc3luY19oYW5kbGVf dl91cGRhdGUoc3RydWN0IG1vZF9mcmVlc3luYyAqbW9kX2ZyZWVzeW5jLAogCQljb25zdCBzdHJ1 Y3QgZGNfc3RyZWFtICoqc3RyZWFtcywgaW50IG51bV9zdHJlYW1zKQogewotCXN0cnVjdCBjb3Jl X2ZyZWVzeW5jICpjb3JlX2ZyZWVzeW5jID0KLQkJCU1PRF9GUkVFU1lOQ19UT19DT1JFKG1vZF9m cmVlc3luYyk7Ci0KIAl1bnNpZ25lZCBpbnQgaW5kZXgsIHZfdG90YWwgPSAwOwogCXN0cnVjdCBm cmVlc3luY19zdGF0ZSAqc3RhdGU7CisJc3RydWN0IGNvcmVfZnJlZXN5bmMgKmNvcmVfZnJlZXN5 bmMgPSBOVUxMOworCisJaWYgKG1vZF9mcmVlc3luYyA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlj b3JlX2ZyZWVzeW5jID0gTU9EX0ZSRUVTWU5DX1RPX0NPUkUobW9kX2ZyZWVzeW5jKTsKIAogCWlm IChjb3JlX2ZyZWVzeW5jLT5udW1fZW50aXRpZXMgPT0gMCkKIAkJcmV0dXJuOwpAQCAtNjkxLDEx ICs3MDQsMTUgQEAgdm9pZCBtb2RfZnJlZXN5bmNfdXBkYXRlX3N0YXRlKHN0cnVjdCBtb2RfZnJl ZXN5bmMgKm1vZF9mcmVlc3luYywKIAkJY29uc3Qgc3RydWN0IGRjX3N0cmVhbSAqKnN0cmVhbXMs IGludCBudW1fc3RyZWFtcywKIAkJc3RydWN0IG1vZF9mcmVlc3luY19wYXJhbXMgKmZyZWVzeW5j X3BhcmFtcykKIHsKLQlzdHJ1Y3QgY29yZV9mcmVlc3luYyAqY29yZV9mcmVlc3luYyA9Ci0JCQlN T0RfRlJFRVNZTkNfVE9fQ09SRShtb2RfZnJlZXN5bmMpOwogCWJvb2wgZnJlZXN5bmNfcHJvZ3Jh bV9yZXF1aXJlZCA9IGZhbHNlOwogCXVuc2lnbmVkIGludCBzdHJlYW1faW5kZXg7CiAJc3RydWN0 IGZyZWVzeW5jX3N0YXRlICpzdGF0ZTsKKwlzdHJ1Y3QgY29yZV9mcmVlc3luYyAqY29yZV9mcmVl c3luYyA9IE5VTEw7CisKKwlpZiAobW9kX2ZyZWVzeW5jID09IE5VTEwpCisJCXJldHVybjsKKwor CWNvcmVfZnJlZXN5bmMgPSBNT0RfRlJFRVNZTkNfVE9fQ09SRShtb2RfZnJlZXN5bmMpOwogCiAJ aWYgKGNvcmVfZnJlZXN5bmMtPm51bV9lbnRpdGllcyA9PSAwKQogCQlyZXR1cm47CkBAIC03NjIs MTAgKzc3OSwxNCBAQCBib29sIG1vZF9mcmVlc3luY19nZXRfc3RhdGUoc3RydWN0IG1vZF9mcmVl c3luYyAqbW9kX2ZyZWVzeW5jLAogCQljb25zdCBzdHJ1Y3QgZGNfc3RyZWFtICpzdHJlYW0sCiAJ CXN0cnVjdCBtb2RfZnJlZXN5bmNfcGFyYW1zICpmcmVlc3luY19wYXJhbXMpCiB7Ci0Jc3RydWN0 IGNvcmVfZnJlZXN5bmMgKmNvcmVfZnJlZXN5bmMgPQotCQkJCU1PRF9GUkVFU1lOQ19UT19DT1JF KG1vZF9mcmVlc3luYyk7CisJdW5zaWduZWQgaW50IGluZGV4ID0gTlVMTDsKKwlzdHJ1Y3QgY29y ZV9mcmVlc3luYyAqY29yZV9mcmVlc3luYyA9IE5VTEw7CiAKLQl1bnNpZ25lZCBpbnQgaW5kZXgg PSBtYXBfaW5kZXhfZnJvbV9zdHJlYW0oY29yZV9mcmVlc3luYywgc3RyZWFtKTsKKwlpZiAobW9k X2ZyZWVzeW5jID09IE5VTEwpCisJCXJldHVybiBmYWxzZTsKKworCWNvcmVfZnJlZXN5bmMgPSBN T0RfRlJFRVNZTkNfVE9fQ09SRShtb2RfZnJlZXN5bmMpOworCWluZGV4ID0gbWFwX2luZGV4X2Zy b21fc3RyZWFtKGNvcmVfZnJlZXN5bmMsIHN0cmVhbSk7CiAKIAlpZiAoY29yZV9mcmVlc3luYy0+ bWFwW2luZGV4XS5zdGF0ZS5mdWxsc2NyZWVuKSB7CiAJCWZyZWVzeW5jX3BhcmFtcy0+c3RhdGUg PSBGUkVFU1lOQ19TVEFURV9GVUxMU0NSRUVOOwpAQCAtNzk0LDEzICs4MTUsMTcgQEAgYm9vbCBt b2RfZnJlZXN5bmNfc2V0X3VzZXJfZW5hYmxlKHN0cnVjdCBtb2RfZnJlZXN5bmMgKm1vZF9mcmVl c3luYywKIAkJY29uc3Qgc3RydWN0IGRjX3N0cmVhbSAqKnN0cmVhbXMsIGludCBudW1fc3RyZWFt cywKIAkJc3RydWN0IG1vZF9mcmVlc3luY191c2VyX2VuYWJsZSAqdXNlcl9lbmFibGUpCiB7Ci0J c3RydWN0IGNvcmVfZnJlZXN5bmMgKmNvcmVfZnJlZXN5bmMgPQotCQkJTU9EX0ZSRUVTWU5DX1RP X0NPUkUobW9kX2ZyZWVzeW5jKTsKLQlzdHJ1Y3QgY29yZV9kYyAqY29yZV9kYyA9IERDX1RPX0NP UkUoY29yZV9mcmVlc3luYy0+ZGMpOwotCiAJdW5zaWduZWQgaW50IHN0cmVhbV9pbmRleCwgbWFw X2luZGV4OwogCWludCBwZXJzaXN0ZW50X2RhdGEgPSAwOwogCXN0cnVjdCBwZXJzaXN0ZW50X2Rh dGFfZmxhZyBmbGFnOworCXN0cnVjdCBjb3JlX2RjICpjb3JlX2RjID0gTlVMTDsKKwlzdHJ1Y3Qg Y29yZV9mcmVlc3luYyAqY29yZV9mcmVlc3luYyA9IE5VTEw7CisKKwlpZiAobW9kX2ZyZWVzeW5j ID09IE5VTEwpCisJCXJldHVybiBmYWxzZTsKKworCWNvcmVfZnJlZXN5bmMgPSBNT0RfRlJFRVNZ TkNfVE9fQ09SRShtb2RfZnJlZXN5bmMpOworCWNvcmVfZGMgPSBEQ19UT19DT1JFKGNvcmVfZnJl ZXN5bmMtPmRjKTsKIAogCWZsYWcuc2F2ZV9wZXJfZWRpZCA9IHRydWU7CiAJZmxhZy5zYXZlX3Bl cl9saW5rID0gZmFsc2U7CkBAIC04NDIsMTAgKzg2NywxNCBAQCBib29sIG1vZF9mcmVlc3luY19n ZXRfdXNlcl9lbmFibGUoc3RydWN0IG1vZF9mcmVlc3luYyAqbW9kX2ZyZWVzeW5jLAogCQljb25z dCBzdHJ1Y3QgZGNfc3RyZWFtICpzdHJlYW0sCiAJCXN0cnVjdCBtb2RfZnJlZXN5bmNfdXNlcl9l bmFibGUgKnVzZXJfZW5hYmxlKQogewotCXN0cnVjdCBjb3JlX2ZyZWVzeW5jICpjb3JlX2ZyZWVz eW5jID0KLQkJCU1PRF9GUkVFU1lOQ19UT19DT1JFKG1vZF9mcmVlc3luYyk7CisJdW5zaWduZWQg aW50IGluZGV4ID0gMDsKKwlzdHJ1Y3QgY29yZV9mcmVlc3luYyAqY29yZV9mcmVlc3luYyA9IE5V TEw7CiAKLQl1bnNpZ25lZCBpbnQgaW5kZXggPSBtYXBfaW5kZXhfZnJvbV9zdHJlYW0oY29yZV9m cmVlc3luYywgc3RyZWFtKTsKKwlpZiAobW9kX2ZyZWVzeW5jID09IE5VTEwpCisJCXJldHVybiBm YWxzZTsKKworCWNvcmVfZnJlZXN5bmMgPSBNT0RfRlJFRVNZTkNfVE9fQ09SRShtb2RfZnJlZXN5 bmMpOworCWluZGV4ID0gbWFwX2luZGV4X2Zyb21fc3RyZWFtKGNvcmVfZnJlZXN5bmMsIHN0cmVh bSk7CiAKIAkqdXNlcl9lbmFibGUgPSBjb3JlX2ZyZWVzeW5jLT5tYXBbaW5kZXhdLnVzZXJfZW5h YmxlOwogCkBAIC04NTUsMTIgKzg4NCwxNSBAQCBib29sIG1vZF9mcmVlc3luY19nZXRfdXNlcl9l bmFibGUoc3RydWN0IG1vZF9mcmVlc3luYyAqbW9kX2ZyZWVzeW5jLAogdm9pZCBtb2RfZnJlZXN5 bmNfbm90aWZ5X21vZGVfY2hhbmdlKHN0cnVjdCBtb2RfZnJlZXN5bmMgKm1vZF9mcmVlc3luYywK IAkJY29uc3Qgc3RydWN0IGRjX3N0cmVhbSAqKnN0cmVhbXMsIGludCBudW1fc3RyZWFtcykKIHsK LQlzdHJ1Y3QgY29yZV9mcmVlc3luYyAqY29yZV9mcmVlc3luYyA9Ci0JCQlNT0RfRlJFRVNZTkNf VE9fQ09SRShtb2RfZnJlZXN5bmMpOwotCiAJdW5zaWduZWQgaW50IHN0cmVhbV9pbmRleCwgbWFw X2luZGV4OwogCXVuc2lnbmVkIG1pbl9mcmFtZV9kdXJhdGlvbl9pbl9ucywgbWF4X2ZyYW1lX2R1 cmF0aW9uX2luX25zOwogCXN0cnVjdCBmcmVlc3luY19zdGF0ZSAqc3RhdGU7CisJc3RydWN0IGNv cmVfZnJlZXN5bmMgKmNvcmVfZnJlZXN5bmMgPSBOVUxMOworCisJaWYgKG1vZF9mcmVlc3luYyA9 PSBOVUxMKQorCQlyZXR1cm47CisKKwljb3JlX2ZyZWVzeW5jID0gTU9EX0ZSRUVTWU5DX1RPX0NP UkUobW9kX2ZyZWVzeW5jKTsKIAogCWZvciAoc3RyZWFtX2luZGV4ID0gMDsgc3RyZWFtX2luZGV4 IDwgbnVtX3N0cmVhbXM7IHN0cmVhbV9pbmRleCsrKSB7CiAKQEAgLTExMjEsOCArMTE1MywxMiBA QCB2b2lkIG1vZF9mcmVlc3luY19wcmVfdXBkYXRlX3BsYW5lX2FkZHJlc3NlcyhzdHJ1Y3QgbW9k X2ZyZWVzeW5jICptb2RfZnJlZXN5bmMsCiAJCXVuc2lnbmVkIGludCBjdXJyX3RpbWVfc3RhbXBf aW5fdXMpCiB7CiAJdW5zaWduZWQgaW50IHN0cmVhbV9pbmRleCwgbWFwX2luZGV4LCBsYXN0X3Jl bmRlcl90aW1lX2luX3VzID0gMDsKLQlzdHJ1Y3QgY29yZV9mcmVlc3luYyAqY29yZV9mcmVlc3lu YyA9Ci0JCQlNT0RfRlJFRVNZTkNfVE9fQ09SRShtb2RfZnJlZXN5bmMpOworCXN0cnVjdCBjb3Jl X2ZyZWVzeW5jICpjb3JlX2ZyZWVzeW5jID0gTlVMTDsKKworCWlmIChtb2RfZnJlZXN5bmMgPT0g TlVMTCkKKwkJcmV0dXJuOworCisJY29yZV9mcmVlc3luYyA9IE1PRF9GUkVFU1lOQ19UT19DT1JF KG1vZF9mcmVlc3luYyk7CiAKIAlmb3IgKHN0cmVhbV9pbmRleCA9IDA7IHN0cmVhbV9pbmRleCA8 IG51bV9zdHJlYW1zOyBzdHJlYW1faW5kZXgrKykgewogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvbW9kdWxlcy9pbmMvbW9kX2ZyZWVzeW5jLmggYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvbW9kdWxlcy9pbmMvbW9kX2ZyZWVzeW5jLmgKaW5kZXggN2FiZmUz NGRjMmQ5Li43ODNmZjJlZjNiZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9tb2R1bGVzL2luYy9tb2RfZnJlZXN5bmMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvbW9kdWxlcy9pbmMvbW9kX2ZyZWVzeW5jLmgKQEAgLTExMCwxMyArMTEwLDYgQEAg Ym9vbCBtb2RfZnJlZXN5bmNfcmVtb3ZlX3N0cmVhbShzdHJ1Y3QgbW9kX2ZyZWVzeW5jICptb2Rf ZnJlZXN5bmMsCiAJCWNvbnN0IHN0cnVjdCBkY19zdHJlYW0gKnN0cmVhbSk7CiAKIC8qCi0gKiBC dWlsZCBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGRjX3N0cmVhbSB3aGVuIGNyZWF0aW5nIHN0 cmVhbSBmb3IKLSAqIHNpbmsgdG8gc3VwcG9ydCBmcmVlc3luYwotICovCi12b2lkIG1vZF9mcmVl c3luY191cGRhdGVfc3RyZWFtKHN0cnVjdCBtb2RfZnJlZXN5bmMgKm1vZF9mcmVlc3luYywKLQkJ c3RydWN0IGRjX3N0cmVhbSAqc3RyZWFtKTsKLQotLyoKICAqIFVwZGF0ZSB0aGUgZnJlZXN5bmMg c3RhdGUgZmxhZ3MgZm9yIGVhY2ggZGlzcGxheSBhbmQgcHJvZ3JhbQogICogZnJlZXN5bmMgYWNj b3JkaW5nbHkKICAqLwotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v YW1kLWdmeAo=