From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH 2/5] drm/i915: Refactor PSR status debugfs Date: Tue, 4 Dec 2018 15:00:29 -0800 Message-ID: <20181204230032.6352-2-jose.souza@intel.com> References: <20181204230032.6352-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8C2A26E339 for ; Tue, 4 Dec 2018 23:00:40 +0000 (UTC) In-Reply-To: <20181204230032.6352-1-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Dhinakaran Pandiyan , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org VGhlIG9sZCBkZWJ1Z2ZzIGZpZWxkcyB3YXMgbm90IGZvbGxvd2luZyBhIG5hbWluZyBwYXJ0ZXJu IGFuZCBpdCB3YXMKYSBiaXQgY29uZnVzaW5nLgoKU28gaXQgd2VudCBmcm9tOgp+JCBzdWRvIG1v cmUgL3N5cy9rZXJuZWwvZGVidWcvZHJpLzAvaTkxNV9lZHBfcHNyX3N0YXR1cwpTaW5rX1N1cHBv cnQ6IHllcwpQU1IgbW9kZTogUFNSMQpFbmFibGVkOiB5ZXMKQnVzeSBmcm9udGJ1ZmZlciBiaXRz OiAweDAwMApNYWluIGxpbmsgaW4gc3RhbmRieSBtb2RlOiBubwpIVyBFbmFibGVkICYgQWN0aXZl IGJpdDogeWVzClNvdXJjZSBQU1Igc3RhdHVzOiAweDI0MDUwMDA2IFtTUkRPTkFDS10KClRvOgp+ JCBzdWRvIG1vcmUgL3N5cy9rZXJuZWwvZGVidWcvZHJpLzAvaTkxNV9lZHBfcHNyX3N0YXR1cwpT aW5rIHN1cHBvcnQ6IHllcyBbMHgwMDAwMDAwM10KU3RhdHVzOiBQU1IxIGVuYWJsZWQKU291cmNl IFBTUiBjdGw6IGVuYWJsZWQgWzB4ODFmMDBlMjZdClNvdXJjZSBQU1Igc3RhdHVzOiBTUkRFTlQg WzB4NDAwNDAwMDZdCkJ1c3kgZnJvbnRidWZmZXIgYml0czogMHgwMDAwMDAwMAoKVGhlICdNYWlu IGxpbmsgaW4gc3RhbmRieSBtb2RlJyB3YXMgcmVtb3ZlZCBhcyBpdCBpcyBub3QgdXNlZnVsIGJ1 dAppZiBuZWVkZWQgYnkgc29tZW9uZSB0aGUgaW5mb3JtYXRpb24gaXMgc3RpbGwgaW4gdGhlIHJl Z2lzdGVyIHZhbHVlCm9mICdTb3VyY2UgUFNSIGN0bCcgaW5zaWRlIG9mIHRoZSBicmFja2V0cywg UFNSIG1vZGUgYW5kIEVuYWJsZWQgd2FzCnNxdWFzaGVkIGludG8gU3RhdHVzLCBzb21lIHJlbmFt ZXMgYW5kIHJlb3JkZXJzIGFuZCB3ZSBoYXZlIHRoaXMKY2xlYW5lciB2ZXJzaW9uLiBUaGlzIHdp bGwgYWxzbyBtYWtlIGVhc3kgdG8gcGFyc2UgZGVidWdmcyBmb3IgSUdUCnRlc3RzLgoKQ2M6IFJv ZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KQ2M6IERoaW5ha2FyYW4gUGFuZGl5 YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgpTdWdnZXN0ZWQtYnk6IERoaW5ha2Fy YW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyB8IDk2ICsrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCAzOGRjZWUxY2EwNjIuLjg2 MzAzYmEwMjY2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTI2NjUsNyAr MjY2NSw4IEBAIERFRklORV9TSE9XX0FUVFJJQlVURShpOTE1X3Bzcl9zaW5rX3N0YXR1cyk7CiBz dGF0aWMgdm9pZAogcHNyX3NvdXJjZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCiB7Ci0JdTMyIHZhbCwgcHNyX3N0YXR1czsKKwl1 MzIgdmFsLCBzdGF0dXNfdmFsOworCWNvbnN0IGNoYXIgKnN0YXR1cyA9ICJ1bmtub3duIjsKIAog CWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCkgewogCQlzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IGxpdmVfc3RhdHVzW10gPSB7CkBAIC0yNjgxLDE0ICsyNjgyLDExIEBAIHBzcl9zb3Vy Y2Vfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IHNlcV9m aWxlICptKQogCQkJIkJVRl9PTiIsCiAJCQkiVEdfT04iCiAJCX07Ci0JCXBzcl9zdGF0dXMgPSBJ OTE1X1JFQUQoRURQX1BTUjJfU1RBVFVTKTsKLQkJdmFsID0gKHBzcl9zdGF0dXMgJiBFRFBfUFNS Ml9TVEFUVVNfU1RBVEVfTUFTSykgPj4KLQkJCUVEUF9QU1IyX1NUQVRVU19TVEFURV9TSElGVDsK LQkJaWYgKHZhbCA8IEFSUkFZX1NJWkUobGl2ZV9zdGF0dXMpKSB7Ci0JCQlzZXFfcHJpbnRmKG0s ICJTb3VyY2UgUFNSIHN0YXR1czogMHgleCBbJXNdXG4iLAotCQkJCSAgIHBzcl9zdGF0dXMsIGxp dmVfc3RhdHVzW3ZhbF0pOwotCQkJcmV0dXJuOwotCQl9CisJCXZhbCA9IEk5MTVfUkVBRChFRFBf UFNSMl9TVEFUVVMpOworCQlzdGF0dXNfdmFsID0gKHZhbCAmIEVEUF9QU1IyX1NUQVRVU19TVEFU RV9NQVNLKSA+PgorCQkJICAgICAgRURQX1BTUjJfU1RBVFVTX1NUQVRFX1NISUZUOworCQlpZiAo c3RhdHVzX3ZhbCA8IEFSUkFZX1NJWkUobGl2ZV9zdGF0dXMpKQorCQkJc3RhdHVzID0gbGl2ZV9z dGF0dXNbc3RhdHVzX3ZhbF07CiAJfSBlbHNlIHsKIAkJc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBsaXZlX3N0YXR1c1tdID0gewogCQkJIklETEUiLApAQCAtMjcwMCw3NCArMjY5OCw3OCBAQCBw c3Jfc291cmNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVj dCBzZXFfZmlsZSAqbSkKIAkJCSJTUkRPRkZBQ0siLAogCQkJIlNSREVOVF9PTiIsCiAJCX07Ci0J CXBzcl9zdGF0dXMgPSBJOTE1X1JFQUQoRURQX1BTUl9TVEFUVVMpOwotCQl2YWwgPSAocHNyX3N0 YXR1cyAmIEVEUF9QU1JfU1RBVFVTX1NUQVRFX01BU0spID4+Ci0JCQlFRFBfUFNSX1NUQVRVU19T VEFURV9TSElGVDsKLQkJaWYgKHZhbCA8IEFSUkFZX1NJWkUobGl2ZV9zdGF0dXMpKSB7Ci0JCQlz ZXFfcHJpbnRmKG0sICJTb3VyY2UgUFNSIHN0YXR1czogMHgleCBbJXNdXG4iLAotCQkJCSAgIHBz cl9zdGF0dXMsIGxpdmVfc3RhdHVzW3ZhbF0pOwotCQkJcmV0dXJuOwotCQl9CisJCXZhbCA9IEk5 MTVfUkVBRChFRFBfUFNSX1NUQVRVUyk7CisJCXN0YXR1c192YWwgPSAodmFsICYgRURQX1BTUl9T VEFUVVNfU1RBVEVfTUFTSykgPj4KKwkJCSAgICAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX1NISUZU OworCQlpZiAoc3RhdHVzX3ZhbCA8IEFSUkFZX1NJWkUobGl2ZV9zdGF0dXMpKQorCQkJc3RhdHVz ID0gbGl2ZV9zdGF0dXNbc3RhdHVzX3ZhbF07CiAJfQogCi0Jc2VxX3ByaW50ZihtLCAiU291cmNl IFBTUiBzdGF0dXM6IDB4JXggWyVzXVxuIiwgcHNyX3N0YXR1cywgInVua25vd24iKTsKKwlzZXFf cHJpbnRmKG0sICJTb3VyY2UgUFNSIHN0YXR1czogJXMgWzB4JTA4eF1cbiIsIHN0YXR1cywgdmFs KTsKIH0KIAogc3RhdGljIGludCBpOTE1X2VkcF9wc3Jfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAq bSwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBu b2RlX3RvX2k5MTUobS0+cHJpdmF0ZSk7Ci0JdTMyIHBzcnBlcmYgPSAwOwotCWJvb2wgZW5hYmxl ZCA9IGZhbHNlOwotCWJvb2wgc2lua19zdXBwb3J0OworCXN0cnVjdCBpOTE1X3BzciAqcHNyID0g JmRldl9wcml2LT5wc3I7CisJY29uc3QgY2hhciAqc3RhdHVzOworCWJvb2wgZW5hYmxlZDsKKwl1 MzIgdmFsOwogCiAJaWYgKCFIQVNfUFNSKGRldl9wcml2KSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAK LQlzaW5rX3N1cHBvcnQgPSBkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydDsKLQlzZXFfcHJpbnRm KG0sICJTaW5rX1N1cHBvcnQ6ICVzXG4iLCB5ZXNubyhzaW5rX3N1cHBvcnQpKTsKLQlpZiAoIXNp bmtfc3VwcG9ydCkKKwlzZXFfcHJpbnRmKG0sICJTaW5rIHN1cHBvcnQ6ICVzIiwgeWVzbm8ocHNy LT5zaW5rX3N1cHBvcnQpKTsKKwlpZiAoIXBzci0+c2lua19zdXBwb3J0KSB7CisJCXNlcV9wdXRz KG0sICJcbiIpOwogCQlyZXR1cm4gMDsKKwl9CiAKIAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZf cHJpdik7CisJbXV0ZXhfbG9jaygmcHNyLT5sb2NrKTsKIAotCW11dGV4X2xvY2soJmRldl9wcml2 LT5wc3IubG9jayk7Ci0Jc2VxX3ByaW50ZihtLCAiUFNSIG1vZGU6ICVzXG4iLAotCQkgICBkZXZf cHJpdi0+cHNyLnBzcjJfZW5hYmxlZCA/ICJQU1IyIiA6ICJQU1IxIik7Ci0Jc2VxX3ByaW50Ziht LCAiRW5hYmxlZDogJXNcbiIsIHllc25vKGRldl9wcml2LT5wc3IuZW5hYmxlZCkpOwotCXNlcV9w cmludGYobSwgIkJ1c3kgZnJvbnRidWZmZXIgYml0czogMHglMDN4XG4iLAotCQkgICBkZXZfcHJp di0+cHNyLmJ1c3lfZnJvbnRidWZmZXJfYml0cyk7CisJc2VxX3ByaW50ZihtLCAiIFsweCUwOHhd XG4iLCBwc3ItPmRwLT5wc3JfZHBjZFswXSk7CiAKLQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX2Vu YWJsZWQpCi0JCWVuYWJsZWQgPSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAmIEVEUF9QU1IyX0VO QUJMRTsKKwlpZiAocHNyLT5lbmFibGVkKQorCQlzdGF0dXMgPSBwc3ItPnBzcjJfZW5hYmxlZCA/ ICJQU1IyIGVuYWJsZWQiIDogIlBTUjEgZW5hYmxlZCI7CiAJZWxzZQotCQllbmFibGVkID0gSTkx NV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9QU1JfRU5BQkxFOworCQlzdGF0dXMgPSAiZGlzYWJs ZWQiOworCXNlcV9wcmludGYobSwgIlN0YXR1czogJXNcbiIsIHN0YXR1cyk7CiAKLQlzZXFfcHJp bnRmKG0sICJNYWluIGxpbmsgaW4gc3RhbmRieSBtb2RlOiAlc1xuIiwKLQkJICAgeWVzbm8oZGV2 X3ByaXYtPnBzci5saW5rX3N0YW5kYnkpKTsKKwlpZiAoIXBzci0+ZW5hYmxlZCkKKwkJZ290byB1 bmxvY2s7CiAKLQlzZXFfcHJpbnRmKG0sICJIVyBFbmFibGVkICYgQWN0aXZlIGJpdDogJXNcbiIs IHllc25vKGVuYWJsZWQpKTsKKwlpZiAocHNyLT5wc3IyX2VuYWJsZWQpIHsKKwkJdmFsID0gSTkx NV9SRUFEKEVEUF9QU1IyX0NUTCk7CisJCWVuYWJsZWQgPSB2YWwgJiBFRFBfUFNSMl9FTkFCTEU7 CisJfSBlbHNlIHsKKwkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKTsKKwkJZW5hYmxlZCA9 IHZhbCAmIEVEUF9QU1JfRU5BQkxFOworCX0KKwlzZXFfcHJpbnRmKG0sICJTb3VyY2UgUFNSIGN0 bDogJXMgWzB4JTA4eF1cbiIsCisJCSAgIGVuYWJsZWRkaXNhYmxlZChlbmFibGVkKSwgdmFsKTsK Kwlwc3Jfc291cmNlX3N0YXR1cyhkZXZfcHJpdiwgbSk7CisJc2VxX3ByaW50ZihtLCAiQnVzeSBm cm9udGJ1ZmZlciBiaXRzOiAweCUwOHhcbiIsCisJCSAgIHBzci0+YnVzeV9mcm9udGJ1ZmZlcl9i aXRzKTsKIAogCS8qCiAJICogU0tMKyBQZXJmIGNvdW50ZXIgaXMgcmVzZXQgdG8gMCBldmVyeXRp bWUgREMgc3RhdGUgaXMgZW50ZXJlZAogCSAqLwogCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8 fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7Ci0JCXBzcnBlcmYgPSBJOTE1X1JFQUQoRURQX1BT Ul9QRVJGX0NOVCkgJgotCQkJRURQX1BTUl9QRVJGX0NOVF9NQVNLOwotCi0JCXNlcV9wcmludGYo bSwgIlBlcmZvcm1hbmNlX0NvdW50ZXI6ICV1XG4iLCBwc3JwZXJmKTsKKwkJdmFsID0gSTkxNV9S RUFEKEVEUF9QU1JfUEVSRl9DTlQpICYgRURQX1BTUl9QRVJGX0NOVF9NQVNLOworCQlzZXFfcHJp bnRmKG0sICJQZXJmb3JtYW5jZSBjb3VudGVyOiAldVxuIiwgdmFsKTsKIAl9CiAKLQlwc3Jfc291 cmNlX3N0YXR1cyhkZXZfcHJpdiwgbSk7Ci0JbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHNyLmxv Y2spOwotCi0JaWYgKFJFQURfT05DRShkZXZfcHJpdi0+cHNyLmRlYnVnKSAmIEk5MTVfUFNSX0RF QlVHX0lSUSkgeworCWlmIChwc3ItPmRlYnVnICYgSTkxNV9QU1JfREVCVUdfSVJRKSB7CiAJCXNl cV9wcmludGYobSwgIkxhc3QgYXR0ZW1wdGVkIGVudHJ5IGF0OiAlbGxkXG4iLAotCQkJICAgZGV2 X3ByaXYtPnBzci5sYXN0X2VudHJ5X2F0dGVtcHQpOwotCQlzZXFfcHJpbnRmKG0sICJMYXN0IGV4 aXQgYXQ6ICVsbGRcbiIsCi0JCQkgICBkZXZfcHJpdi0+cHNyLmxhc3RfZXhpdCk7CisJCQkgICBw c3ItPmxhc3RfZW50cnlfYXR0ZW1wdCk7CisJCXNlcV9wcmludGYobSwgIkxhc3QgZXhpdCBhdDog JWxsZFxuIiwgcHNyLT5sYXN0X2V4aXQpOwogCX0KIAordW5sb2NrOgorCW11dGV4X3VubG9jaygm cHNyLT5sb2NrKTsKIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CisKIAlyZXR1cm4g MDsKIH0KIAotLSAKMi4xOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK