From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Zhu Subject: [PATCH 7/8] drm/amdgpu:Add DPG pause mode support Date: Tue, 25 Sep 2018 15:55:22 -0400 Message-ID: <1537905323-27071-7-git-send-email-James.Zhu@amd.com> References: <1537905323-27071-1-git-send-email-James.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1537905323-27071-1-git-send-email-James.Zhu-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: james.zhu-5C7GfCeVMHo@public.gmane.org QWRkIGZ1Y250aW9ucyB0byBzdXBwb3J0IFZDTiBEUEcgcGF1c2UgbW9kZS4KClNpZ25lZC1vZmYt Ynk6IEphbWVzIFpodSA8SmFtZXMuWmh1QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3Zjbi5jIHwgMTYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystCiAxIGZpbGUgY2hhbmdlZCwgMTU5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Zjbi5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Zjbi5jCmluZGV4IDI3MjYyYTguLjlkNTlj ZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y24uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNuLmMKQEAgLTM2LDYgKzM2 LDcgQEAKICNpbmNsdWRlICJzb2MxNV9jb21tb24uaCIKIAogI2luY2x1ZGUgInZjbi92Y25fMV8w X29mZnNldC5oIgorI2luY2x1ZGUgInZjbi92Y25fMV8wX3NoX21hc2suaCIKIAogLyogMSBzZWNv bmQgdGltZW91dCAqLwogI2RlZmluZSBWQ05fSURMRV9USU1FT1VUCW1zZWNzX3RvX2ppZmZpZXMo MTAwMCkKQEAgLTIxMiwxOCArMjEzLDE1OCBAQCBpbnQgYW1kZ3B1X3Zjbl9yZXN1bWUoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgYW1kZ3B1 X3Zjbl9wYXVzZV9kcGdfbW9kZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQkJCQkJ CQkJCXN0cnVjdCBkcGdfcGF1c2Vfc3RhdGUgKm5ld19zdGF0ZSkKK3sKKwlpbnQgcmV0X2NvZGU7 CisJdWludDMyX3QgcmVnX2RhdGEgPSAwOworCXVpbnQzMl90IHJlZ19kYXRhMiA9IDA7CisJc3Ry dWN0IGFtZGdwdV9yaW5nICpyaW5nOworCisJLyogcGF1c2UvdW5wYXVzZSBpZiBzdGF0ZSBpcyBj aGFuZ2VkICovCisJaWYgKGFkZXYtPnZjbi5wYXVzZV9zdGF0ZS5md19iYXNlZCAhPSBuZXdfc3Rh dGUtPmZ3X2Jhc2VkKSB7CisJCURSTV9ERUJVRygiZHBnIHBhdXNlIHN0YXRlIGNoYW5nZWQgJWQ6 JWQgLT4gJWQ6JWQiLAorCQkJYWRldi0+dmNuLnBhdXNlX3N0YXRlLmZ3X2Jhc2VkLCBhZGV2LT52 Y24ucGF1c2Vfc3RhdGUuanBlZywKKwkJCW5ld19zdGF0ZS0+ZndfYmFzZWQsIG5ld19zdGF0ZS0+ anBlZyk7CisKKwkJcmVnX2RhdGEgPSBSUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9EUEdfUEFV U0UpICYKKwkJCQkJCSh+VVZEX0RQR19QQVVTRV9fTkpfUEFVU0VfRFBHX0FDS19NQVNLKTsKKwor CQlpZiAobmV3X3N0YXRlLT5md19iYXNlZCA9PSBWQ05fRFBHX1NUQVRFX19QQVVTRSkgeworCQkJ cmV0X2NvZGUgPSAwOworCisJCQlpZiAoIShyZWdfZGF0YSAmIFVWRF9EUEdfUEFVU0VfX0pQRUdf UEFVU0VfRFBHX0FDS19NQVNLKSkKKwkJCQlTT0MxNV9XQUlUX09OX1JSRUcoVVZELCAwLCBtbVVW RF9QT1dFUl9TVEFUVVMsCisJCQkJCQlVVkRfUE9XRVJfU1RBVFVTX19VVkRfUE9XRVJfU1RBVFVT X1RJTEVTX09GRiwKKwkJCQkJCVVWRF9QT1dFUl9TVEFUVVNfX1VWRF9QT1dFUl9TVEFUVVNfTUFT SywgcmV0X2NvZGUpOworCisJCQlpZiAoIXJldF9jb2RlKSB7CisJCQkJLyogcGF1c2UgRFBHIG5v bi1qcGVnICovCisJCQkJcmVnX2RhdGEgfD0gVVZEX0RQR19QQVVTRV9fTkpfUEFVU0VfRFBHX1JF UV9NQVNLOworCQkJCVdSRUczMl9TT0MxNShVVkQsIDAsIG1tVVZEX0RQR19QQVVTRSwgcmVnX2Rh dGEpOworCQkJCVNPQzE1X1dBSVRfT05fUlJFRyhVVkQsIDAsIG1tVVZEX0RQR19QQVVTRSwKKwkJ CQkJCQlVVkRfRFBHX1BBVVNFX19OSl9QQVVTRV9EUEdfQUNLX01BU0ssCisJCQkJCQkJVVZEX0RQ R19QQVVTRV9fTkpfUEFVU0VfRFBHX0FDS19NQVNLLCByZXRfY29kZSk7CisKKwkJCQkvKiBSZXN0 b3JlICovCisJCQkJcmluZyA9ICZhZGV2LT52Y24ucmluZ19lbmNbMF07CisJCQkJV1JFRzMyX1NP QzE1KFVWRCwgMCwgbW1VVkRfUkJfQkFTRV9MTywgcmluZy0+Z3B1X2FkZHIpOworCQkJCVdSRUcz Ml9TT0MxNShVVkQsIDAsIG1tVVZEX1JCX0JBU0VfSEksIHVwcGVyXzMyX2JpdHMocmluZy0+Z3B1 X2FkZHIpKTsKKwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9SQl9TSVpFLCByaW5nLT5y aW5nX3NpemUgLyA0KTsKKwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9SQl9SUFRSLCBs b3dlcl8zMl9iaXRzKHJpbmctPndwdHIpKTsKKwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVW RF9SQl9XUFRSLAlsb3dlcl8zMl9iaXRzKHJpbmctPndwdHIpKTsKKworCQkJCXJpbmcgPSAmYWRl di0+dmNuLnJpbmdfZW5jWzFdOworCQkJCVdSRUczMl9TT0MxNShVVkQsIDAsIG1tVVZEX1JCX0JB U0VfTE8yLCByaW5nLT5ncHVfYWRkcik7CisJCQkJV1JFRzMyX1NPQzE1KFVWRCwgMCwgbW1VVkRf UkJfQkFTRV9ISTIsIHVwcGVyXzMyX2JpdHMocmluZy0+Z3B1X2FkZHIpKTsKKwkJCQlXUkVHMzJf U09DMTUoVVZELCAwLCBtbVVWRF9SQl9TSVpFMiwgcmluZy0+cmluZ19zaXplIC8gNCk7CisJCQkJ V1JFRzMyX1NPQzE1KFVWRCwgMCwgbW1VVkRfUkJfUlBUUjIsIGxvd2VyXzMyX2JpdHMocmluZy0+ d3B0cikpOworCQkJCVdSRUczMl9TT0MxNShVVkQsIDAsIG1tVVZEX1JCX1dQVFIyLCBsb3dlcl8z Ml9iaXRzKHJpbmctPndwdHIpKTsKKworCQkJCXJpbmcgPSAmYWRldi0+dmNuLnJpbmdfZGVjOwor CQkJCVdSRUczMl9TT0MxNShVVkQsIDAsIG1tVVZEX1JCQ19SQl9XUFRSLAorCQkJCQkJCQkJbG93 ZXJfMzJfYml0cyhyaW5nLT53cHRyKSB8IDB4ODAwMDAwMDApOworCQkJCVNPQzE1X1dBSVRfT05f UlJFRyhVVkQsIDAsIG1tVVZEX1BPV0VSX1NUQVRVUywKKwkJCQkJCQkJCQlVVkRfUEdGU01fQ09O RklHX19VVkRNX1VWRFVfUFdSX09OLAorCQkJCQkJCQkJCVVWRF9QT1dFUl9TVEFUVVNfX1VWRF9Q T1dFUl9TVEFUVVNfTUFTSywgcmV0X2NvZGUpOworCQkJfQorCQl9IGVsc2UgeworCQkJLyogdW5w YXVzZSBkcGcgbm9uLWpwZWcsIG5vIG5lZWQgdG8gd2FpdCAqLworCQkJcmVnX2RhdGEgJj0gflVW RF9EUEdfUEFVU0VfX05KX1BBVVNFX0RQR19SRVFfTUFTSzsKKwkJCVdSRUczMl9TT0MxNShVVkQs IDAsIG1tVVZEX0RQR19QQVVTRSwgcmVnX2RhdGEpOworCQl9CisJCWFkZXYtPnZjbi5wYXVzZV9z dGF0ZS5md19iYXNlZCA9IG5ld19zdGF0ZS0+ZndfYmFzZWQ7CisJfQorCisJLyogcGF1c2UvdW5w YXVzZSBpZiBzdGF0ZSBpcyBjaGFuZ2VkICovCisJaWYgKGFkZXYtPnZjbi5wYXVzZV9zdGF0ZS5q cGVnICE9IG5ld19zdGF0ZS0+anBlZykgeworCQlEUk1fREVCVUcoImRwZyBwYXVzZSBzdGF0ZSBj aGFuZ2VkICVkOiVkIC0+ICVkOiVkIiwKKwkJCWFkZXYtPnZjbi5wYXVzZV9zdGF0ZS5md19iYXNl ZCwgYWRldi0+dmNuLnBhdXNlX3N0YXRlLmpwZWcsCisJCQluZXdfc3RhdGUtPmZ3X2Jhc2VkLCBu ZXdfc3RhdGUtPmpwZWcpOworCisJCXJlZ19kYXRhID0gUlJFRzMyX1NPQzE1KFVWRCwgMCwgbW1V VkRfRFBHX1BBVVNFKSAmCisJCQkJCQkoflVWRF9EUEdfUEFVU0VfX0pQRUdfUEFVU0VfRFBHX0FD S19NQVNLKTsKKworCQlpZiAobmV3X3N0YXRlLT5qcGVnID09IFZDTl9EUEdfU1RBVEVfX1BBVVNF KSB7CisJCQlyZXRfY29kZSA9IDA7CisKKwkJCWlmICghKHJlZ19kYXRhICYgVVZEX0RQR19QQVVT RV9fTkpfUEFVU0VfRFBHX0FDS19NQVNLKSkKKwkJCQlTT0MxNV9XQUlUX09OX1JSRUcoVVZELCAw LCBtbVVWRF9QT1dFUl9TVEFUVVMsCisJCQkJCQlVVkRfUE9XRVJfU1RBVFVTX19VVkRfUE9XRVJf U1RBVFVTX1RJTEVTX09GRiwKKwkJCQkJCVVWRF9QT1dFUl9TVEFUVVNfX1VWRF9QT1dFUl9TVEFU VVNfTUFTSywgcmV0X2NvZGUpOworCisJCQlpZiAoIXJldF9jb2RlKSB7CisJCQkJLyogTWFrZSBz dXJlIEpQUkcgU25vb3AgaXMgZGlzYWJsZWQgYmVmb3JlIHNlbmRpbmcgdGhlIHBhdXNlICovCisJ CQkJcmVnX2RhdGEyID0gUlJFRzMyX1NPQzE1KFVWRCwgMCwgbW1VVkRfUE9XRVJfU1RBVFVTKTsK KwkJCQlyZWdfZGF0YTIgfD0gVVZEX1BPV0VSX1NUQVRVU19fSlJCQ19TTk9PUF9ESVNfTUFTSzsK KwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9QT1dFUl9TVEFUVVMsIHJlZ19kYXRhMik7 CisKKwkJCQkvKiBwYXVzZSBEUEcganBlZyAqLworCQkJCXJlZ19kYXRhIHw9IFVWRF9EUEdfUEFV U0VfX0pQRUdfUEFVU0VfRFBHX1JFUV9NQVNLOworCQkJCVdSRUczMl9TT0MxNShVVkQsIDAsIG1t VVZEX0RQR19QQVVTRSwgcmVnX2RhdGEpOworCQkJCVNPQzE1X1dBSVRfT05fUlJFRyhVVkQsIDAs IG1tVVZEX0RQR19QQVVTRSwKKwkJCQkJCQlVVkRfRFBHX1BBVVNFX19KUEVHX1BBVVNFX0RQR19B Q0tfTUFTSywKKwkJCQkJCQlVVkRfRFBHX1BBVVNFX19KUEVHX1BBVVNFX0RQR19BQ0tfTUFTSywg cmV0X2NvZGUpOworCisJCQkJLyogUmVzdG9yZSAqLworCQkJCXJpbmcgPSAmYWRldi0+dmNuLnJp bmdfanBlZzsKKwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9MTUlfSlJCQ19SQl9WTUlE LCAwKTsKKwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9KUkJDX1JCX0NOVEwsIDB4MDAw MDAwMDFMIHwgMHgwMDAwMDAwMkwpOworCQkJCVdSRUczMl9TT0MxNShVVkQsIDAsIG1tVVZEX0xN SV9KUkJDX1JCXzY0QklUX0JBUl9MT1csCisJCQkJCQkJCQkJCWxvd2VyXzMyX2JpdHMocmluZy0+ Z3B1X2FkZHIpKTsKKwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9MTUlfSlJCQ19SQl82 NEJJVF9CQVJfSElHSCwKKwkJCQkJCQkJCQkJdXBwZXJfMzJfYml0cyhyaW5nLT5ncHVfYWRkcikp OworCQkJCVdSRUczMl9TT0MxNShVVkQsIDAsIG1tVVZEX0pSQkNfUkJfUlBUUiwgcmluZy0+d3B0 cik7CisJCQkJV1JFRzMyX1NPQzE1KFVWRCwgMCwgbW1VVkRfSlJCQ19SQl9XUFRSLCByaW5nLT53 cHRyKTsKKwkJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9KUkJDX1JCX0NOVEwsIDB4MDAw MDAwMDJMKTsKKworCQkJCXJpbmcgPSAmYWRldi0+dmNuLnJpbmdfZGVjOworCQkJCVdSRUczMl9T T0MxNShVVkQsIDAsIG1tVVZEX1JCQ19SQl9XUFRSLAorCQkJCQkJCQkJbG93ZXJfMzJfYml0cyhy aW5nLT53cHRyKSB8IDB4ODAwMDAwMDApOworCQkJCVNPQzE1X1dBSVRfT05fUlJFRyhVVkQsIDAs IG1tVVZEX1BPV0VSX1NUQVRVUywKKwkJCQkJCQkJCQlVVkRfUEdGU01fQ09ORklHX19VVkRNX1VW RFVfUFdSX09OLAorCQkJCQkJCQkJCVVWRF9QT1dFUl9TVEFUVVNfX1VWRF9QT1dFUl9TVEFUVVNf TUFTSywgcmV0X2NvZGUpOworCQkJfQorCQl9IGVsc2UgeworCQkJLyogdW5wYXVzZSBkcGcganBl Zywgbm8gbmVlZCB0byB3YWl0ICovCisJCQlyZWdfZGF0YSAmPSB+VVZEX0RQR19QQVVTRV9fSlBF R19QQVVTRV9EUEdfUkVRX01BU0s7CisJCQlXUkVHMzJfU09DMTUoVVZELCAwLCBtbVVWRF9EUEdf UEFVU0UsIHJlZ19kYXRhKTsKKwkJfQorCQlhZGV2LT52Y24ucGF1c2Vfc3RhdGUuanBlZyA9IG5l d19zdGF0ZS0+anBlZzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHZvaWQgYW1kZ3B1 X3Zjbl9pZGxlX3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGFt ZGdwdV9kZXZpY2UsIHZjbi5pZGxlX3dvcmsud29yayk7Ci0JdW5zaWduZWQgZmVuY2VzID0gYW1k Z3B1X2ZlbmNlX2NvdW50X2VtaXR0ZWQoJmFkZXYtPnZjbi5yaW5nX2RlYyk7Ci0JdW5zaWduZWQg aTsKKwl1bnNpZ25lZCBpbnQgZmVuY2VzID0gMDsKKwl1bnNpZ25lZCBpbnQgaTsKIAogCWZvciAo aSA9IDA7IGkgPCBhZGV2LT52Y24ubnVtX2VuY19yaW5nczsgKytpKSB7CiAJCWZlbmNlcyArPSBh bWRncHVfZmVuY2VfY291bnRfZW1pdHRlZCgmYWRldi0+dmNuLnJpbmdfZW5jW2ldKTsKIAl9CiAK KwlpZiAoYWRldi0+cGdfZmxhZ3MgJiBBTURfUEdfU1VQUE9SVF9EUEcpCXsKKwkJc3RydWN0IGRw Z19wYXVzZV9zdGF0ZSBuZXdfc3RhdGU7CisKKwkJaWYgKGZlbmNlcykKKwkJCW5ld19zdGF0ZS5m d19iYXNlZCA9IFZDTl9EUEdfU1RBVEVfX1BBVVNFOworCQllbHNlCisJCQluZXdfc3RhdGUuZndf YmFzZWQgPSBWQ05fRFBHX1NUQVRFX19VTlBBVVNFOworCisJCWlmIChhbWRncHVfZmVuY2VfY291 bnRfZW1pdHRlZCgmYWRldi0+dmNuLnJpbmdfanBlZykpCisJCQluZXdfc3RhdGUuanBlZyA9IFZD Tl9EUEdfU1RBVEVfX1BBVVNFOworCQllbHNlCisJCQluZXdfc3RhdGUuanBlZyA9IFZDTl9EUEdf U1RBVEVfX1VOUEFVU0U7CisKKwkJYW1kZ3B1X3Zjbl9wYXVzZV9kcGdfbW9kZShhZGV2LCAmbmV3 X3N0YXRlKTsKKwl9CisKIAlmZW5jZXMgKz0gYW1kZ3B1X2ZlbmNlX2NvdW50X2VtaXR0ZWQoJmFk ZXYtPnZjbi5yaW5nX2pwZWcpOworCWZlbmNlcyArPSBhbWRncHVfZmVuY2VfY291bnRfZW1pdHRl ZCgmYWRldi0+dmNuLnJpbmdfZGVjKTsKIAogCWlmIChmZW5jZXMgPT0gMCkgewogCQlhbWRncHVf Z2Z4X29mZl9jdHJsKGFkZXYsIHRydWUpOwpAQCAtMjUwLDYgKzM5MSwyMiBAQCB2b2lkIGFtZGdw dV92Y25fcmluZ19iZWdpbl91c2Uoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQogCQkJYW1kZ3B1 X2RldmljZV9pcF9zZXRfcG93ZXJnYXRpbmdfc3RhdGUoYWRldiwgQU1EX0lQX0JMT0NLX1RZUEVf VkNOLAogCQkJCQkJCSAgICAgICBBTURfUEdfU1RBVEVfVU5HQVRFKTsKIAl9CisKKwlpZiAoYWRl di0+cGdfZmxhZ3MgJiBBTURfUEdfU1VQUE9SVF9EUEcpCXsKKwkJc3RydWN0IGRwZ19wYXVzZV9z dGF0ZSBuZXdfc3RhdGU7CisKKwkJaWYgKHJpbmctPmZ1bmNzLT50eXBlID09IEFNREdQVV9SSU5H X1RZUEVfVkNOX0VOQykKKwkJCW5ld19zdGF0ZS5md19iYXNlZCA9IFZDTl9EUEdfU1RBVEVfX1BB VVNFOworCQllbHNlCisJCQluZXdfc3RhdGUuZndfYmFzZWQgPSBhZGV2LT52Y24ucGF1c2Vfc3Rh dGUuZndfYmFzZWQ7CisKKwkJaWYgKHJpbmctPmZ1bmNzLT50eXBlID09IEFNREdQVV9SSU5HX1RZ UEVfVkNOX0pQRUcpCisJCQluZXdfc3RhdGUuanBlZyA9IFZDTl9EUEdfU1RBVEVfX1BBVVNFOwor CQllbHNlCisJCQluZXdfc3RhdGUuanBlZyA9IGFkZXYtPnZjbi5wYXVzZV9zdGF0ZS5qcGVnOwor CisJCWFtZGdwdV92Y25fcGF1c2VfZHBnX21vZGUoYWRldiwgJm5ld19zdGF0ZSk7CisJfQogfQog CiB2b2lkIGFtZGdwdV92Y25fcmluZ19lbmRfdXNlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykK LS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK