From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PART1 PATCH v3 7/8] drm/amdgpu: add get clockgating_state method for uvd v5&v6 Date: Fri, 6 Jan 2017 18:51:14 +0800 Message-ID: <1483699875-27734-1-git-send-email-ray.huang@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: Alex Deucher , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, =?UTF-8?q?Christian=20K=C3=B6nig?= Cc: Ping Fu , David Mao , Felix Kuehling , Huang Rui , Rex Zhu , Hawking Zhang U2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4KLS0tCgpDaGFuZ2Vz IGZyb20gVjIgLT4gVjM6Ci0gYWRkIG11dGV4IHRvIHByb3RlY3QgdGhlIGlzX3Bvd2VyZ2F0ZWQg ZmxhZy4KCi0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICB8ICAyICsr CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjVfMC5jIHwgMzcgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92 Nl8wLmMgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMyBmaWxlcyBj aGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmgKaW5kZXggNTMwNTQ5Yi4uYWZiM2RlZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmgKQEAgLTExODMsNiArMTE4Myw4IEBAIHN0cnVjdCBhbWRncHVfdXZkIHsK IAlib29sCQkJdXNlX2N0eF9idWY7CiAJc3RydWN0IGFtZF9zY2hlZF9lbnRpdHkgZW50aXR5Owog CXVpbnQzMl90ICAgICAgICAgICAgICAgIHNyYm1fc29mdF9yZXNldDsKKwlib29sCQkJaXNfcG93 ZXJnYXRlZDsKKwlzdHJ1Y3QgbXV0ZXgJCXBnX211dGV4OwogfTsKIAogLyoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS91dmRfdjVfMC5jCmluZGV4IDAzYTM1ZDkuLmJmNzk3YjggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NV8wLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvdXZkX3Y1XzAuYwpAQCAtNzgxLDE2ICs3ODEsNDggQEAgc3RhdGljIGlu dCB1dmRfdjVfMF9zZXRfcG93ZXJnYXRpbmdfc3RhdGUodm9pZCAqaGFuZGxlLAogCSAqIHRoZSBz bWMgYW5kIHRoZSBodyBibG9ja3MKIAkgKi8KIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9 IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKKwlpbnQgcmV0ID0gMDsKIAogCWlmICgh KGFkZXYtPnBnX2ZsYWdzICYgQU1EX1BHX1NVUFBPUlRfVVZEKSkKIAkJcmV0dXJuIDA7CiAKKwlt dXRleF9sb2NrKCZhZGV2LT51dmQucGdfbXV0ZXgpOworCiAJaWYgKHN0YXRlID09IEFNRF9QR19T VEFURV9HQVRFKSB7CisJCWFkZXYtPnV2ZC5pc19wb3dlcmdhdGVkID0gdHJ1ZTsKIAkJdXZkX3Y1 XzBfc3RvcChhZGV2KTsKLQkJcmV0dXJuIDA7CiAJfSBlbHNlIHsKLQkJcmV0dXJuIHV2ZF92NV8w X3N0YXJ0KGFkZXYpOworCQlyZXQgPSB1dmRfdjVfMF9zdGFydChhZGV2KTsKKwkJaWYgKHJldCkK KwkJCWdvdG8gb3V0OworCQlhZGV2LT51dmQuaXNfcG93ZXJnYXRlZCA9IGZhbHNlOworCX0KKwor b3V0OgorCW11dGV4X3VubG9jaygmYWRldi0+dXZkLnBnX211dGV4KTsKKworCXJldHVybiByZXQ7 Cit9CisKK3N0YXRpYyB2b2lkIHV2ZF92NV8wX2dldF9jbG9ja2dhdGluZ19zdGF0ZSh2b2lkICpo YW5kbGUsIHUzMiAqZmxhZ3MpCit7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7CisJaW50IGRhdGE7CisKKwltdXRleF9sb2NrKCZh ZGV2LT51dmQucGdfbXV0ZXgpOworCisJaWYgKGFkZXYtPnV2ZC5pc19wb3dlcmdhdGVkKSB7CisJ CURSTV9JTkZPKCJDYW5ub3QgZ2V0IGNsb2NrZ2F0aW5nIHN0YXRlIHdoZW4gVVZEIGlzIHBvd2Vy Z2F0ZWQuXG4iKTsKKwkJZ290byBvdXQ7CiAJfQorCisJLyogQU1EX0NHX1NVUFBPUlRfVVZEX01H Q0cgKi8KKwlkYXRhID0gUlJFRzMyKG1tVVZEX0NHQ19DVFJMKTsKKwlpZiAoZGF0YSAmIFVWRF9D R0NfQ1RSTF9fRFlOX0NMT0NLX01PREVfTUFTSykKKwkJKmZsYWdzIHw9IEFNRF9DR19TVVBQT1JU X1VWRF9NR0NHOworCitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZhZGV2LT51dmQucGdfbXV0ZXgpOwog fQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZF9pcF9mdW5jcyB1dmRfdjVfMF9pcF9mdW5jcyA9 IHsKQEAgLTgwOCw2ICs4NDAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZF9pcF9mdW5jcyB1 dmRfdjVfMF9pcF9mdW5jcyA9IHsKIAkuc29mdF9yZXNldCA9IHV2ZF92NV8wX3NvZnRfcmVzZXQs CiAJLnNldF9jbG9ja2dhdGluZ19zdGF0ZSA9IHV2ZF92NV8wX3NldF9jbG9ja2dhdGluZ19zdGF0 ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlID0gdXZkX3Y1XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0 YXRlLAorCS5nZXRfY2xvY2tnYXRpbmdfc3RhdGUgPSB1dmRfdjVfMF9nZXRfY2xvY2tnYXRpbmdf c3RhdGUsCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9yaW5nX2Z1bmNzIHV2ZF92 NV8wX3JpbmdfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS91dmRfdjZfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYwppbmRl eCA4Nzc5ZDRiLi4wZWM2OTJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS91dmRfdjZfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMK QEAgLTk4NywxOCArOTg3LDUwIEBAIHN0YXRpYyBpbnQgdXZkX3Y2XzBfc2V0X3Bvd2VyZ2F0aW5n X3N0YXRlKHZvaWQgKmhhbmRsZSwKIAkgKiB0aGUgc21jIGFuZCB0aGUgaHcgYmxvY2tzCiAJICov CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKilo YW5kbGU7CisJaW50IHJldCA9IDA7CiAKIAlpZiAoIShhZGV2LT5wZ19mbGFncyAmIEFNRF9QR19T VVBQT1JUX1VWRCkpCiAJCXJldHVybiAwOwogCiAJV1JFRzMyKG1tVVZEX1BPV0VSX1NUQVRVUywg VVZEX1BPV0VSX1NUQVRVU19fVVZEX1BHX0VOX01BU0spOwogCisJbXV0ZXhfbG9jaygmYWRldi0+ dXZkLnBnX211dGV4KTsKKwogCWlmIChzdGF0ZSA9PSBBTURfUEdfU1RBVEVfR0FURSkgeworCQlh ZGV2LT51dmQuaXNfcG93ZXJnYXRlZCA9IHRydWU7CiAJCXV2ZF92Nl8wX3N0b3AoYWRldik7Ci0J CXJldHVybiAwOwogCX0gZWxzZSB7Ci0JCXJldHVybiB1dmRfdjZfMF9zdGFydChhZGV2KTsKKwkJ cmV0ID0gdXZkX3Y2XzBfc3RhcnQoYWRldik7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwkJ YWRldi0+dXZkLmlzX3Bvd2VyZ2F0ZWQgPSBmYWxzZTsKKwl9CisKK291dDoKKwltdXRleF91bmxv Y2soJmFkZXYtPnV2ZC5wZ19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9p ZCB1dmRfdjZfMF9nZXRfY2xvY2tnYXRpbmdfc3RhdGUodm9pZCAqaGFuZGxlLCB1MzIgKmZsYWdz KQoreworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNl ICopaGFuZGxlOworCWludCBkYXRhOworCisJbXV0ZXhfbG9jaygmYWRldi0+dXZkLnBnX211dGV4 KTsKKworCWlmIChhZGV2LT51dmQuaXNfcG93ZXJnYXRlZCkgeworCQlEUk1fSU5GTygiQ2Fubm90 IGdldCBjbG9ja2dhdGluZyBzdGF0ZSB3aGVuIFVWRCBpcyBwb3dlcmdhdGVkLlxuIik7CisJCWdv dG8gb3V0OwogCX0KKworCS8qIEFNRF9DR19TVVBQT1JUX1VWRF9NR0NHICovCisJZGF0YSA9IFJS RUczMihtbVVWRF9DR0NfQ1RSTCk7CisJaWYgKGRhdGEgJiBVVkRfQ0dDX0NUUkxfX0RZTl9DTE9D S19NT0RFX01BU0spCisJCSpmbGFncyB8PSBBTURfQ0dfU1VQUE9SVF9VVkRfTUdDRzsKKworb3V0 OgorCW11dGV4X3VubG9jaygmYWRldi0+dXZkLnBnX211dGV4KTsKIH0KIAogc3RhdGljIGNvbnN0 IHN0cnVjdCBhbWRfaXBfZnVuY3MgdXZkX3Y2XzBfaXBfZnVuY3MgPSB7CkBAIC0xMDE5LDYgKzEw NTEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZF9pcF9mdW5jcyB1dmRfdjZfMF9pcF9mdW5j cyA9IHsKIAkucG9zdF9zb2Z0X3Jlc2V0ID0gdXZkX3Y2XzBfcG9zdF9zb2Z0X3Jlc2V0LAogCS5z ZXRfY2xvY2tnYXRpbmdfc3RhdGUgPSB1dmRfdjZfMF9zZXRfY2xvY2tnYXRpbmdfc3RhdGUsCiAJ LnNldF9wb3dlcmdhdGluZ19zdGF0ZSA9IHV2ZF92Nl8wX3NldF9wb3dlcmdhdGluZ19zdGF0ZSwK KwkuZ2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gdXZkX3Y2XzBfZ2V0X2Nsb2NrZ2F0aW5nX3N0YXRl LAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfcmluZ19mdW5jcyB1dmRfdjZfMF9y aW5nX3BoeXNfZnVuY3MgPSB7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9hbWQtZ2Z4Cg==