From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 17/24] drm/i915: Make hardware readout work on i915. Date: Fri, 4 Oct 2019 13:35:07 +0200 Message-ID: <20191004113514.17064-18-maarten.lankhorst@linux.intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id A8D1C6EB33 for ; Fri, 4 Oct 2019 11:35:23 +0000 (UTC) In-Reply-To: <20191004113514.17064-1-maarten.lankhorst@linux.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 List-Id: intel-gfx@lists.freedesktop.org VW5mb3J0dW5hdGVseSBJIGhhdmUgbm8gd2F5IHRvIHRlc3QgdGhpcywgYnV0IGl0IHNob3VsZCBi ZSBjb3JyZWN0CmlmIHRoZSBiaW9zIHNldHMgdXAgYmlnam9pbmVyIGluIGEgc2FuZSB3YXkuCgpT a2lwIGl0ZXJhdGluZyBvdmVyIGJpZ2pvaW5lciBzbGF2ZXMsIG9ubHkgdGhlIG1hc3RlciBoYXMg dGhlIHN0YXRlIHdlCmNhcmUgYWJvdXQuCgpBZGQgdGhlIHdpZHRoIG9mIHRoZSBiaWdqb2luZXIg c2xhdmUgdG8gdGhlIHJlY29uc3RydWN0ZWQgZmIuCgpIaWRlIHRoZSBiaWdqb2luZXIgc2xhdmUg dG8gdXNlcnNwYWNlLCBhbmQgZG91YmxlIHRoZSBtb2RlIG9uIGJpZ2pvaW5lcgptYXN0ZXIuCgpB bmQgbGFzdCwgZGlzYWJsZSBiaWdqb2luZXIgc2xhdmUgZnJvbSBwcmltYXJ5IGlmIHJlY29uc3Ry dWN0aW9uIGZhaWxzLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYyB8IDY1ICsrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hh bmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IGZjNmViNzkwYzY2Yi4uOWFkZDEx OTc3MzdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YwpAQCAtMzE3Nyw2ICszMTc3LDggQEAgaW50ZWxfZmluZF9pbml0aWFsX3BsYW5lX29iaihzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3Bs YW5lID0gdG9faW50ZWxfcGxhbmUocHJpbWFyeSk7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICppbnRlbF9zdGF0ZSA9CiAJCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRlKTsKKwlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9CisJCXRvX2ludGVsX2NydGNfc3Rh dGUoaW50ZWxfY3J0Yy0+YmFzZS5zdGF0ZSk7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7 CiAKIAlpZiAoIXBsYW5lX2NvbmZpZy0+ZmIpCkBAIC0zMTk5LDcgKzMyMDEsNyBAQCBpbnRlbF9m aW5kX2luaXRpYWxfcGxhbmVfb2JqKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAogCQlp ZiAoYyA9PSAmaW50ZWxfY3J0Yy0+YmFzZSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmICghdG9faW50 ZWxfY3J0YyhjKS0+YWN0aXZlKQorCQlpZiAoIXRvX2ludGVsX2NydGNfc3RhdGUoYy0+c3RhdGUp LT51YXBpLmFjdGl2ZSkKIAkJCWNvbnRpbnVlOwogCiAJCXN0YXRlID0gdG9faW50ZWxfcGxhbmVf c3RhdGUoYy0+cHJpbWFyeS0+c3RhdGUpOwpAQCAtMzIyMSw2ICszMjIzLDEyIEBAIGludGVsX2Zp bmRfaW5pdGlhbF9wbGFuZV9vYmooc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJICog cHJldGVuZCB0aGUgQklPUyBuZXZlciBoYWQgaXQgZW5hYmxlZC4KIAkgKi8KIAlpbnRlbF9wbGFu ZV9kaXNhYmxlX25vYXRvbWljKGludGVsX2NydGMsIGludGVsX3BsYW5lKTsKKwlpZiAoY3J0Y19z dGF0ZS0+Ymlnam9pbmVyKSB7CisJCXN0cnVjdCBpbnRlbF9jcnRjICpzbGF2ZSA9CisJCQljcnRj X3N0YXRlLT5iaWdqb2luZXJfbGlua2VkX2NydGM7CisKKwkJaW50ZWxfcGxhbmVfZGlzYWJsZV9u b2F0b21pYyhzbGF2ZSwgdG9faW50ZWxfcGxhbmUoc2xhdmUtPmJhc2UucHJpbWFyeSkpOworCX0K IAogCXJldHVybjsKIApAQCAtOTkxMSw2ICs5OTE5LDcgQEAgc3RhdGljIHZvaWQKIHNreWxha2Vf Z2V0X2luaXRpYWxfcGxhbmVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJCSBz dHJ1Y3QgaW50ZWxfaW5pdGlhbF9wbGFuZV9jb25maWcgKnBsYW5lX2NvbmZpZykKIHsKKwlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0 Yy0+YmFzZS5zdGF0ZSk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2 OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlz dHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmlt YXJ5KTsKQEAgLTEwMDE0LDYgKzEwMDIzLDE4IEBAIHNreWxha2VfZ2V0X2luaXRpYWxfcGxhbmVf Y29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCWZiLT5oZWlnaHQgPSAoKHZhbCA+PiAx NikgJiAweGZmZmYpICsgMTsKIAlmYi0+d2lkdGggPSAoKHZhbCA+PiAwKSAmIDB4ZmZmZikgKyAx OwogCisJLyogYWRkIGJpZ2pvaW5lciBzbGF2ZSBhcyB3ZWxsLCBpZiB0aGUgZmIgc3RyZXRjaGVz IGJvdGggKi8KKwlpZiAoY3J0Y19zdGF0ZS0+Ymlnam9pbmVyKSB7CisJCWVudW0gcGlwZSBiaWdq b2luZXJfcGlwZSA9IGNydGNfc3RhdGUtPmJpZ2pvaW5lcl9saW5rZWRfY3J0Yy0+cGlwZTsKKwor CQlpZiAoZmItPndpZHRoID09IGNydGNfc3RhdGUtPnBpcGVfc3JjX3cgJiYKKwkJICAgIChJOTE1 X1JFQUQoUExBTkVfU1VSRihiaWdqb2luZXJfcGlwZSwgcGxhbmVfaWQpKSAmIDB4ZmZmZmYwMDAp ID09IHBsYW5lX2NvbmZpZy0+YmFzZSkgeworCQkJdmFsID0gSTkxNV9SRUFEKFBMQU5FX1NJWkUo Y3J0Y19zdGF0ZS0+Ymlnam9pbmVyX2xpbmtlZF9jcnRjLT5waXBlLCBwbGFuZV9pZCkpOworCQkJ ZmItPmhlaWdodCArPSAoKHZhbCA+PiAxNikgJiAweGZmZikgKyAxOworCQkJZmItPndpZHRoICs9 ICgodmFsID4+IDApICYgMHgxZmZmKSArIDE7CisJCX0KKwl9CisKIAl2YWwgPSBJOTE1X1JFQUQo UExBTkVfU1RSSURFKHBpcGUsIHBsYW5lX2lkKSk7CiAJc3RyaWRlX211bHQgPSBza2xfcGxhbmVf c3RyaWRlX211bHQoZmIsIDAsIERSTV9NT0RFX1JPVEFURV8wKTsKIAlmYi0+cGl0Y2hlc1swXSA9 ICh2YWwgJiAweDNmZikgKiBzdHJpZGVfbXVsdDsKQEAgLTE2OTA3LDcgKzE2OTI4LDggQEAgc3Rh dGljIHZvaWQgaW50ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAog CS8qIEFkanVzdCB0aGUgc3RhdGUgb2YgdGhlIG91dHB1dCBwaXBlIGFjY29yZGluZyB0byB3aGV0 aGVyIHdlCiAJICogaGF2ZSBhY3RpdmUgY29ubmVjdG9ycy9lbmNvZGVycy4gKi8KLQlpZiAoY3J0 Y19zdGF0ZS0+aHcuYWN0aXZlICYmICFpbnRlbF9jcnRjX2hhc19lbmNvZGVycyhjcnRjKSkKKwlp ZiAoY3J0Y19zdGF0ZS0+aHcuYWN0aXZlICYmICFpbnRlbF9jcnRjX2hhc19lbmNvZGVycyhjcnRj KSAmJgorCSAgICAhY3J0Y19zdGF0ZS0+Ymlnam9pbmVyX3NsYXZlKQogCQlpbnRlbF9jcnRjX2Rp c2FibGVfbm9hdG9taWMoJmNydGMtPmJhc2UsIGN0eCk7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+aHcu YWN0aXZlIHx8IEhBU19HTUNIKGRldl9wcml2KSkgewpAQCAtMTcxOTYsNiArMTcyMTgsOSBAQCBz dGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAkJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKIAkJaW50IG1pbl9jZGNsayA9 IDA7CiAKKwkJaWYgKGNydGNfc3RhdGUtPmJpZ2pvaW5lcl9zbGF2ZSkKKwkJCWNvbnRpbnVlOwor CiAJCW1lbXNldCgmY3J0Yy0+YmFzZS5tb2RlLCAwLCBzaXplb2YoY3J0Yy0+YmFzZS5tb2RlKSk7 CiAJCWlmIChjcnRjX3N0YXRlLT5ody5hY3RpdmUpIHsKIAkJCWludGVsX21vZGVfZnJvbV9waXBl X2NvbmZpZygmY3J0Yy0+YmFzZS5tb2RlLCBjcnRjX3N0YXRlKTsKQEAgLTE3MjA0LDcgKzE3MjI5 LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJCQlpbnRlbF9tb2RlX2Zyb21fcGlwZV9jb25maWcoJmNydGNfc3Rh dGUtPmh3LmFkanVzdGVkX21vZGUsCiAJCQkJCQkgICAgY3J0Y19zdGF0ZSk7CiAJCQljcnRjX3N0 YXRlLT5ody5tb2RlID0gY3J0Yy0+YmFzZS5tb2RlOwotCQkJV0FSTl9PTihkcm1fYXRvbWljX3Nl dF9tb2RlX2Zvcl9jcnRjKGNydGMtPmJhc2Uuc3RhdGUsICZjcnRjLT5iYXNlLm1vZGUpKTsKKwkJ CWlmICghY3J0Y19zdGF0ZS0+Ymlnam9pbmVyX3NsYXZlKQorCQkJCVdBUk5fT04oZHJtX2F0b21p Y19zZXRfbW9kZV9mb3JfY3J0YyhjcnRjLT5iYXNlLnN0YXRlLCAmY3J0Yy0+YmFzZS5tb2RlKSk7 CiAKIAkJCS8qCiAJCQkgKiBUaGUgaW5pdGlhbCBtb2RlIG5lZWRzIHRvIGJlIHNldCBpbiBvcmRl ciB0byBrZWVwCkBAIC0xNzI1MCw2ICsxNzI3NiwzOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rl c2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJaW50ZWxfYndf Y3J0Y191cGRhdGUoYndfc3RhdGUsIGNydGNfc3RhdGUpOwogCQljb3B5X2h3X3RvX3VhcGlfc3Rh dGUoY3J0Y19zdGF0ZSk7CiAJCWludGVsX3BpcGVfY29uZmlnX3Nhbml0eV9jaGVjayhkZXZfcHJp diwgY3J0Y19zdGF0ZSk7CisKKwkJLyogZGlzY2FyZCBvdXIgaW5jb21wbGV0ZSBzbGF2ZSBzdGF0 ZSwgY29weSBpdCBmcm9tIG1hc3RlciAqLworCQlpZiAoY3J0Y19zdGF0ZS0+Ymlnam9pbmVyICYm IGNydGNfc3RhdGUtPmh3LmFjdGl2ZSkgeworCQkJc3RydWN0IGludGVsX2NydGMgKnNsYXZlID0g Y3J0Y19zdGF0ZS0+Ymlnam9pbmVyX2xpbmtlZF9jcnRjOworCQkJc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnNsYXZlX2NydGNfc3RhdGUgPQorCQkJCXRvX2ludGVsX2NydGNfc3RhdGUoc2xhdmUt PmJhc2Uuc3RhdGUpOworCisJCQljb3B5X2JpZ2pvaW5lcl9jcnRjX3N0YXRlKHNsYXZlX2NydGNf c3RhdGUsIGNydGNfc3RhdGUpOworCQkJc2xhdmUtPmJhc2UubW9kZSA9IGNydGMtPmJhc2UubW9k ZTsKKworCQkJZGV2X3ByaXYtPm1pbl9jZGNsa1tzbGF2ZS0+cGlwZV0gPSBtaW5fY2RjbGs7CisJ CQlkZXZfcHJpdi0+bWluX3ZvbHRhZ2VfbGV2ZWxbc2xhdmUtPnBpcGVdID0KKwkJCQljcnRjX3N0 YXRlLT5taW5fdm9sdGFnZV9sZXZlbDsKKworCQkJZm9yX2VhY2hfaW50ZWxfcGxhbmVfb25fY3J0 YygmZGV2X3ByaXYtPmRybSwgc2xhdmUsIHBsYW5lKSB7CisJCQkJY29uc3Qgc3RydWN0IGludGVs X3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9CisJCQkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBs YW5lLT5iYXNlLnN0YXRlKTsKKworCQkJCS8qCisJCQkJKiBGSVhNRSBkb24ndCBoYXZlIHRoZSBm YiB5ZXQsIHNvIGNhbid0CisJCQkJKiB1c2UgaW50ZWxfcGxhbmVfZGF0YV9yYXRlKCkgOigKKwkJ CQkqLworCQkJCWlmIChwbGFuZV9zdGF0ZS0+dWFwaS52aXNpYmxlKQorCQkJCQljcnRjX3N0YXRl LT5kYXRhX3JhdGVbcGxhbmUtPmlkXSA9CisJCQkJCQk0ICogY3J0Y19zdGF0ZS0+cGl4ZWxfcmF0 ZTsKKwkJCQllbHNlCisJCQkJCWNydGNfc3RhdGUtPmRhdGFfcmF0ZVtwbGFuZS0+aWRdID0gMDsK KwkJCX0KKworCQkJaW50ZWxfYndfY3J0Y191cGRhdGUoYndfc3RhdGUsIHNsYXZlX2NydGNfc3Rh dGUpOworCQkJZHJtX2NhbGNfdGltZXN0YW1waW5nX2NvbnN0YW50cygmc2xhdmUtPmJhc2UsCisJ CQkJCQkJJnNsYXZlX2NydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGUpOworCQl9CiAJfQogfQog Ci0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA==