From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Qu Subject: [PATCH 3/6] drm/amdpgu: add common functions for BACO feature in PP Date: Thu, 10 Jan 2019 12:09:22 +0800 Message-ID: <20190110040925.25533-4-Jim.Qu@amd.com> References: <20190110040925.25533-1-Jim.Qu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190110040925.25533-1-Jim.Qu-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: Jim Qu Q2hhbmdlLUlkOiBJMDg4MjYwYzI3YmMyYTg0YjRlMGFiZDk2YWNhOWE5ODFkZDUyZjdiNgpTaWdu ZWQtb2ZmLWJ5OiBKaW0gUXUgPEppbS5RdUBhbWQuY29tPgpSZXZpZXdlZC1ieTogQWxleCBEZXVj aGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgpSZXZpZXdlZC1ieTogSGF3a2luZyBaaGFu ZyA8SGF3a2luZy5aaGFuZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L2h3bWdyL01ha2VmaWxlICB8ICAyICstCiAuLi4vZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL2NvbW1vbl9iYWNvLmMgfCA5OCArKysrKysrKysrKysrKysrKysrCiAuLi4vZ3B1L2RybS9h bWQvcG93ZXJwbGF5L2h3bWdyL2NvbW1vbl9iYWNvLmggfCA1MCArKysrKysrKysrCiAzIGZpbGVz IGNoYW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvY29tbW9uX2JhY28uYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2Nv bW1vbl9iYWNvLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL01ha2Vm aWxlCmluZGV4IGFkZTg5NzNiNmY0ZC4uNWFmZWMxYTEzOGFjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci9NYWtlZmlsZQpAQCAtMzUsNyArMzUsNyBAQCBIQVJEV0FS RV9NR1IgPSBod21nci5vIHByb2Nlc3NwcHRhYmxlcy5vIFwKIAkJdmVnYTEyX3RoZXJtYWwubyBc CiAJCXBwX292ZXJkcml2ZXIubyBzbXVfaGVscGVyLm8gXAogCQl2ZWdhMjBfcHJvY2Vzc3BwdGFi bGVzLm8gdmVnYTIwX2h3bWdyLm8gdmVnYTIwX3Bvd2VydHVuZS5vIFwKLQkJdmVnYTIwX3RoZXJt YWwubworCQl2ZWdhMjBfdGhlcm1hbC5vIGNvbW1vbl9iYWNvLm8KIAogQU1EX1BQX0hXTUdSID0g JChhZGRwcmVmaXggJChBTURfUFBfUEFUSCkvaHdtZ3IvLCQoSEFSRFdBUkVfTUdSKSkKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvY29tbW9uX2JhY28u YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2NvbW1vbl9iYWNvLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wMDI2OTNjNDIxZDIKLS0tIC9k ZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9jb21tb25f YmFjby5jCkBAIC0wLDAgKzEsOTggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCBBZHZhbmNlZCBN aWNybyBEZXZpY2VzLCBJbmMuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhp cyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3 YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBp bmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9v ciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3 aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxs IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICog VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxM CisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB Q1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBP VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisg KiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisKKyNpbmNsdWRlICJj b21tb25fYmFjby5oIgorCisKK3N0YXRpYyBib29sIGJhY29fd2FpdF9yZWdpc3RlcihzdHJ1Y3Qg cHBfaHdtZ3IgKmh3bWdyLCB1MzIgcmVnLCB1MzIgbWFzaywgdTMyIHZhbHVlKQoreworCXN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopKGh3bWdyLT5h ZGV2KTsKKwl1MzIgdGltZW91dCA9IDUwMDAsIGRhdGE7CisKKwlkbyB7CisJCW1zbGVlcCgxKTsK KwkJZGF0YSA9IFJSRUczMihyZWcpOworCQl0aW1lb3V0LS07CisJfSB3aGlsZSAodmFsdWUgIT0g KGRhdGEgJiBtYXNrKSAmJiAodGltZW91dCAhPSAwKSk7CisKKwlpZiAodGltZW91dCA9PSAwKQor CQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGJvb2wgYmFjb19j bWRfaGFuZGxlcihzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCB1MzIgY29tbWFuZCwgdTMyIHJlZywg dTMyIG1hc2ssCisJCQkgICAgICAgIHUzMiBzaGlmdCwgdTMyIHZhbHVlLCB1MzIgdGltZW91dCkK K3sKKwlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq KShod21nci0+YWRldik7CisJdTMyIGRhdGE7CisJYm9vbCByZXQgPSB0cnVlOworCisJc3dpdGNo IChjb21tYW5kKSB7CisJY2FzZSBDTURfV1JJVEU6CisJCVdSRUczMihyZWcsIHZhbHVlIDw8IHNo aWZ0KTsKKwkJYnJlYWs7CisJY2FzZSBDTURfUkVBRE1PRElGWVdSSVRFOgorCQlkYXRhID0gUlJF RzMyKHJlZyk7CisJCWRhdGEgPSAoZGF0YSAmICh+bWFzaykpIHwgKHZhbHVlIDw8IHNoaWZ0KTsK KwkJV1JFRzMyKHJlZywgZGF0YSk7CisJCWJyZWFrOworCWNhc2UgQ01EX1dBSVRGT1I6CisJCXJl dCA9IGJhY29fd2FpdF9yZWdpc3Rlcihod21nciwgcmVnLCBtYXNrLCB2YWx1ZSk7CisJCWJyZWFr OworCWNhc2UgQ01EX0RFTEFZX01TOgorCQlpZiAodGltZW91dCkKKwkJCS8qIERlbGF5IGluIG1p bGxpIFNlY29uZHMgKi8KKwkJCW1zbGVlcCh0aW1lb3V0KTsKKwkJYnJlYWs7CisJY2FzZSBDTURf REVMQVlfVVM6CisJCWlmICh0aW1lb3V0KQorCQkJLyogRGVsYXkgaW4gbWljcm8gU2Vjb25kcyAq LworCQkJdWRlbGF5KHRpbWVvdXQpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCWRldl93YXJu KGFkZXYtPmRldiwgIkludmFsaWQgQkFDTyBjb21tYW5kLlxuIik7CisJCXJldCA9IGZhbHNlOwor CX0KKworCXJldHVybiByZXQ7Cit9CisKK2Jvb2wgc29jMTVfYmFjb19wcm9ncmFtX3JlZ2lzdGVy cyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAorCQkJCSBjb25zdCBzdHJ1Y3Qgc29jMTVfYmFjb19j bWRfZW50cnkgKmVudHJ5LAorCQkJCSBjb25zdCB1MzIgYXJyYXlfc2l6ZSkKK3sKKwlzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKShod21nci0+YWRl dik7CisJdTMyIGksIHJlZzsKKworCWZvciAoaSA9IDA7IGkgPCBhcnJheV9zaXplOyBpKyspIHsK KwkJcmVnID0gYWRldi0+cmVnX29mZnNldFtlbnRyeVtpXS5od2lwXVtlbnRyeVtpXS5pbnN0XVtl bnRyeVtpXS5zZWddCisJCQkrIGVudHJ5W2ldLnJlZ19vZmZzZXQ7CisJCWlmICghYmFjb19jbWRf aGFuZGxlcihod21nciwgZW50cnlbaV0uY21kLCByZWcsIGVudHJ5W2ldLm1hc2ssCisJCQkJICAg ICBlbnRyeVtpXS5zaGlmdCwgZW50cnlbaV0udmFsLCBlbnRyeVtpXS50aW1lb3V0KSkKKwkJCXJl dHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2NvbW1vbl9iYWNvLmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci9jb21tb25fYmFjby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uOTUyOTZjOTE2ZjRlCi0tLSAvZGV2L251bGwKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvY29tbW9uX2JhY28uaApAQCAtMCwwICsx LDUwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5j LgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVh bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg bGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1 Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3Rh bnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9S CisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF IEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENPUFlSSUdI VCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VT IE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU LCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVBTElOR1Mg SU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworI2lmbmRlZiBfX0NPTU1PTl9CT0NPX0hfXworI2Rl ZmluZSBfX0NPTU1PTl9CT0NPX0hfXworI2luY2x1ZGUgImh3bWdyLmgiCisKKworZW51bSBiYWNv X2NtZF90eXBlIHsKKwlDTURfV1JJVEUgPSAwLAorCUNNRF9SRUFETU9ESUZZV1JJVEUsCisJQ01E X1dBSVRGT1IsCisJQ01EX0RFTEFZX01TLAorCUNNRF9ERUxBWV9VUywKK307CisKK3N0cnVjdCBz b2MxNV9iYWNvX2NtZF9lbnRyeSB7CisJZW51bSBiYWNvX2NtZF90eXBlIGNtZDsKKwl1aW50MzJf dCAJaHdpcDsKKwl1aW50MzJfdCAJaW5zdDsKKwl1aW50MzJfdCAJc2VnOworCXVpbnQzMl90IAly ZWdfb2Zmc2V0OworCXVpbnQzMl90ICAgICAJbWFzazsKKwl1aW50MzJfdCAgICAgCXNoaWZ0Owor CXVpbnQzMl90ICAgICAJdGltZW91dDsKKwl1aW50MzJfdCAgICAgCXZhbDsKK307CitleHRlcm4g Ym9vbCBzb2MxNV9iYWNvX3Byb2dyYW1fcmVnaXN0ZXJzKHN0cnVjdCBwcF9od21nciAqaHdtZ3Is CisJCQkJCWNvbnN0IHN0cnVjdCBzb2MxNV9iYWNvX2NtZF9lbnRyeSAqZW50cnksCisJCQkJCWNv bnN0IHUzMiBhcnJheV9zaXplKTsKKyNlbmRpZgotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK