From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PART1 PATCH v5 7/8] drm/amdgpu: add get clockgating_state method for uvd v5&v6 Date: Tue, 10 Jan 2017 00:04:48 +0800 Message-ID: <1483977889-16256-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?= , Tom StDenis Cc: Huang Rui , Hawking Zhang , Rex Zhu , Ping Fu , David Mao U2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4KLS0tCgpDaGFuZ2Vz IGZyb20gVjQgLT4gVjU6Ci0gcmVtb3ZlIHBtIG11dGV4IGZyb20gc2V0IGNsb2NrIGdhdGluZyBm dW5jdGlvbgoKLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y1XzAuYyB8IDMzICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2 XzAuYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMyBmaWxlcyBjaGFu Z2VkLCA2MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1LmgKaW5kZXggNTMwNTQ5Yi4uMzEwNTRjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1LmgKQEAgLTExODMsNiArMTE4Myw3IEBAIHN0cnVjdCBhbWRncHVfdXZkIHsKIAli b29sCQkJdXNlX2N0eF9idWY7CiAJc3RydWN0IGFtZF9zY2hlZF9lbnRpdHkgZW50aXR5OwogCXVp bnQzMl90ICAgICAgICAgICAgICAgIHNyYm1fc29mdF9yZXNldDsKKwlib29sCQkJaXNfcG93ZXJn YXRlZDsKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91 dmRfdjVfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y1XzAuYwppbmRleCAw M2EzNWQ5Li4yYjhkMmIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91 dmRfdjVfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NV8wLmMKQEAg LTc4MSwxNiArNzgxLDQ0IEBAIHN0YXRpYyBpbnQgdXZkX3Y1XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0 YXRlKHZvaWQgKmhhbmRsZSwKIAkgKiB0aGUgc21jIGFuZCB0aGUgaHcgYmxvY2tzCiAJICovCiAJ c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5k bGU7CisJaW50IHJldCA9IDA7CiAKIAlpZiAoIShhZGV2LT5wZ19mbGFncyAmIEFNRF9QR19TVVBQ T1JUX1VWRCkpCiAJCXJldHVybiAwOwogCiAJaWYgKHN0YXRlID09IEFNRF9QR19TVEFURV9HQVRF KSB7CiAJCXV2ZF92NV8wX3N0b3AoYWRldik7Ci0JCXJldHVybiAwOworCQlhZGV2LT51dmQuaXNf cG93ZXJnYXRlZCA9IHRydWU7CiAJfSBlbHNlIHsKLQkJcmV0dXJuIHV2ZF92NV8wX3N0YXJ0KGFk ZXYpOworCQlyZXQgPSB1dmRfdjVfMF9zdGFydChhZGV2KTsKKwkJaWYgKHJldCkKKwkJCWdvdG8g b3V0OworCQlhZGV2LT51dmQuaXNfcG93ZXJnYXRlZCA9IGZhbHNlOworCX0KKworb3V0OgorCXJl dHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHV2ZF92NV8wX2dldF9jbG9ja2dhdGluZ19zdGF0 ZSh2b2lkICpoYW5kbGUsIHUzMiAqZmxhZ3MpCit7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7CisJaW50IGRhdGE7CisKKwltdXRl eF9sb2NrKCZhZGV2LT5wbS5tdXRleCk7CisKKwlpZiAoYWRldi0+dXZkLmlzX3Bvd2VyZ2F0ZWQp IHsKKwkJRFJNX0lORk8oIkNhbm5vdCBnZXQgY2xvY2tnYXRpbmcgc3RhdGUgd2hlbiBVVkQgaXMg cG93ZXJnYXRlZC5cbiIpOworCQlnb3RvIG91dDsKIAl9CisKKwkvKiBBTURfQ0dfU1VQUE9SVF9V VkRfTUdDRyAqLworCWRhdGEgPSBSUkVHMzIobW1VVkRfQ0dDX0NUUkwpOworCWlmIChkYXRhICYg VVZEX0NHQ19DVFJMX19EWU5fQ0xPQ0tfTU9ERV9NQVNLKQorCQkqZmxhZ3MgfD0gQU1EX0NHX1NV UFBPUlRfVVZEX01HQ0c7CisKK291dDoKKwltdXRleF91bmxvY2soJmFkZXYtPnBtLm11dGV4KTsK IH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3MgdXZkX3Y1XzBfaXBfZnVuY3Mg PSB7CkBAIC04MDgsNiArODM2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRfaXBfZnVuY3Mg dXZkX3Y1XzBfaXBfZnVuY3MgPSB7CiAJLnNvZnRfcmVzZXQgPSB1dmRfdjVfMF9zb2Z0X3Jlc2V0 LAogCS5zZXRfY2xvY2tnYXRpbmdfc3RhdGUgPSB1dmRfdjVfMF9zZXRfY2xvY2tnYXRpbmdfc3Rh dGUsCiAJLnNldF9wb3dlcmdhdGluZ19zdGF0ZSA9IHV2ZF92NV8wX3NldF9wb3dlcmdhdGluZ19z dGF0ZSwKKwkuZ2V0X2Nsb2NrZ2F0aW5nX3N0YXRlID0gdXZkX3Y1XzBfZ2V0X2Nsb2NrZ2F0aW5n X3N0YXRlLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfcmluZ19mdW5jcyB1dmRf djVfMF9yaW5nX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvdXZkX3Y2XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMKaW5k ZXggODc3OWQ0Yi4uZjExZDc2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvdXZkX3Y2XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5j CkBAIC05ODcsNiArOTg3LDcgQEAgc3RhdGljIGludCB1dmRfdjZfMF9zZXRfcG93ZXJnYXRpbmdf c3RhdGUodm9pZCAqaGFuZGxlLAogCSAqIHRoZSBzbWMgYW5kIHRoZSBodyBibG9ja3MKIAkgKi8K IAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhh bmRsZTsKKwlpbnQgcmV0ID0gMDsKIAogCWlmICghKGFkZXYtPnBnX2ZsYWdzICYgQU1EX1BHX1NV UFBPUlRfVVZEKSkKIAkJcmV0dXJuIDA7CkBAIC05OTUsMTAgKzk5NiwzNyBAQCBzdGF0aWMgaW50 IHV2ZF92Nl8wX3NldF9wb3dlcmdhdGluZ19zdGF0ZSh2b2lkICpoYW5kbGUsCiAKIAlpZiAoc3Rh dGUgPT0gQU1EX1BHX1NUQVRFX0dBVEUpIHsKIAkJdXZkX3Y2XzBfc3RvcChhZGV2KTsKLQkJcmV0 dXJuIDA7CisJCWFkZXYtPnV2ZC5pc19wb3dlcmdhdGVkID0gdHJ1ZTsKIAl9IGVsc2UgewotCQly ZXR1cm4gdXZkX3Y2XzBfc3RhcnQoYWRldik7CisJCXJldCA9IHV2ZF92Nl8wX3N0YXJ0KGFkZXYp OworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisJCWFkZXYtPnV2ZC5pc19wb3dlcmdhdGVkID0g ZmFsc2U7CisJfQorCitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgdXZkX3Y2 XzBfZ2V0X2Nsb2NrZ2F0aW5nX3N0YXRlKHZvaWQgKmhhbmRsZSwgdTMyICpmbGFncykKK3sKKwlz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRs ZTsKKwlpbnQgZGF0YTsKKworCW11dGV4X2xvY2soJmFkZXYtPnBtLm11dGV4KTsKKworCWlmIChh ZGV2LT51dmQuaXNfcG93ZXJnYXRlZCkgeworCQlEUk1fSU5GTygiQ2Fubm90IGdldCBjbG9ja2dh dGluZyBzdGF0ZSB3aGVuIFVWRCBpcyBwb3dlcmdhdGVkLlxuIik7CisJCWdvdG8gb3V0OwogCX0K KworCS8qIEFNRF9DR19TVVBQT1JUX1VWRF9NR0NHICovCisJZGF0YSA9IFJSRUczMihtbVVWRF9D R0NfQ1RSTCk7CisJaWYgKGRhdGEgJiBVVkRfQ0dDX0NUUkxfX0RZTl9DTE9DS19NT0RFX01BU0sp CisJCSpmbGFncyB8PSBBTURfQ0dfU1VQUE9SVF9VVkRfTUdDRzsKKworb3V0OgorCW11dGV4X3Vu bG9jaygmYWRldi0+cG0ubXV0ZXgpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZF9pcF9m dW5jcyB1dmRfdjZfMF9pcF9mdW5jcyA9IHsKQEAgLTEwMTksNiArMTA0Nyw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgYW1kX2lwX2Z1bmNzIHV2ZF92Nl8wX2lwX2Z1bmNzID0gewogCS5wb3N0X3Nv ZnRfcmVzZXQgPSB1dmRfdjZfMF9wb3N0X3NvZnRfcmVzZXQsCiAJLnNldF9jbG9ja2dhdGluZ19z dGF0ZSA9IHV2ZF92Nl8wX3NldF9jbG9ja2dhdGluZ19zdGF0ZSwKIAkuc2V0X3Bvd2VyZ2F0aW5n X3N0YXRlID0gdXZkX3Y2XzBfc2V0X3Bvd2VyZ2F0aW5nX3N0YXRlLAorCS5nZXRfY2xvY2tnYXRp bmdfc3RhdGUgPSB1dmRfdjZfMF9nZXRfY2xvY2tnYXRpbmdfc3RhdGUsCiB9OwogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGFtZGdwdV9yaW5nX2Z1bmNzIHV2ZF92Nl8wX3JpbmdfcGh5c19mdW5jcyA9 IHsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK