From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 07/31] drm/i915: IPS Sysfs interface. Date: Thu, 5 Nov 2015 10:49:59 -0800 Message-ID: <1446749423-4789-8-git-send-email-rodrigo.vivi@intel.com> References: <1446749423-4789-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 527766E479 for ; Thu, 5 Nov 2015 10:49:53 -0800 (PST) In-Reply-To: <1446749423-4789-1-git-send-email-rodrigo.vivi@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: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org V2l0aCB0aGUgbG9jayBpbiBwbGFjZSB3ZSBjYW4gZXhwb3NlIGlwcyBlbmFibGVkL2Rpc2FibGUg b24gc3lzZnMKZm9yIGRldmVsb3BpbmcsIGRlYnVnZ2luZyBhbmQgaW5mb3JtYXRpb24gcHVycG9z ZXMuCgpUaGUgbWFpbiBnb2FsIGlzIHRvIGhhdmUgYW4gaW5mb3JtYXRpdmUgdGFiIGF0IHBvd2Vy dG9wIHRoYXQgZXhwb3NlCnRoZSBjdXJyZW50IHN0YXR1cyBvZiBwb3dlciBmZWF0dXJlcyBpbiBv dXIgZHJpdmVyLiBTbyBsZXQncyBzdGFydAp3aXRoIHRoaXMgSVBTIG9uZS4gUGxlYXNlIHJlbWlu ZCB0aGF0IHBvd2VydG9wIGhhcyBubyBhY2Nlc3MgdG8gZHJtCnByb3BlcnRpZXMgc28gc3lzZnMg d2lsbCBiZSB1c2VkIGFzIGl0IGlzIGN1cnJlbnRseSB1c2VkIGZvciBSQzYuCgpTaWduZWQtb2Zm LWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jIHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgfCAgNCArLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaXBzLmMgIHwgMjUgKysrKysrKysrLS0tCiAzIGZp bGVzIGNoYW5nZWQsIDEwNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfc3lzZnMuYwppbmRleCA1MGNlOWNlLi4yZDA5MmMxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zeXNmcy5jCkBAIC0zNSw2ICszNSw4MiBAQAogI2RlZmluZSBkZXZfdG9fZHJtX21pbm9y KGQpIGRldl9nZXRfZHJ2ZGF0YSgoZCkpCiAKICNpZmRlZiBDT05GSUdfUE0KKworc3RhdGljIHNz aXplX3QKK2lwc19zaG93KHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGRybV9taW5vciAqZG1pbm9yID0gZGV2 X3RvX2RybV9taW5vcihrZGV2KTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZG1pbm9yLT5k ZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKKwlzc2l6ZV90IHJldDsKKworCW11dGV4X2xvY2soJmRldl9wcml2LT5kaXNwbGF5X2lwcy5s b2NrKTsKKwlyZXQgPSBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVzXG4iLCBkZXZfcHJpdi0+ ZGlzcGxheV9pcHMuZW5hYmxlZCA/CisJCSAgICAgICAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiKTsK KwltdXRleF91bmxvY2soJmRldl9wcml2LT5kaXNwbGF5X2lwcy5sb2NrKTsKKworCXJldHVybiBy ZXQ7Cit9CisKKworc3RhdGljIHNzaXplX3QKK2lwc190b2dnbGUoc3RydWN0IGRldmljZSAqa2Rl diwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJICAgY29uc3QgY2hhciAqYnVmLCBz aXplX3QgY291bnQpCit7CisJc3RydWN0IGRybV9taW5vciAqZG1pbm9yID0gZGV2X3RvX2RybV9t aW5vcihrZGV2KTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZG1pbm9yLT5kZXY7CisJc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gTlVMTDsKKwl1MzIgdmFsOworCXNz aXplX3QgcmV0OworCisJcmV0ID0ga3N0cnRvdTMyKGJ1ZiwgMCwgJnZhbCk7CisJaWYgKHJldCkK KwkJcmV0dXJuIHJldDsKKworCWZvcl9lYWNoX2ludGVsX2Nvbm5lY3RvcihkZXYsIGNvbm5lY3Rv cikgeworCQlpZiAoIWNvbm5lY3Rvci0+YmFzZS5lbmNvZGVyKQorCQkJY29udGludWU7CisJCWVu Y29kZXIgPSB0b19pbnRlbF9lbmNvZGVyKGNvbm5lY3Rvci0+YmFzZS5lbmNvZGVyKTsKKwkJY3J0 YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKKwl9CisKKwlpZiAoIWNydGMp CisJCXJldHVybiAtRU5PREVWOworCisJc3dpdGNoICh2YWwpIHsKKwljYXNlIDA6CisJCXJldCA9 IGludGVsX2lwc19kaXNhYmxlKGNydGMpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwkJ YnJlYWs7CisJY2FzZSAxOgorCQlyZXQgPSBpbnRlbF9pcHNfZW5hYmxlKGNydGMpOworCQlpZiAo cmV0KQorCQkJcmV0dXJuIHJldDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5W QUw7CisJfQorCisJcmV0dXJuIGNvdW50OworCisKK30KKworc3RhdGljIERFVklDRV9BVFRSKGlw c19lbmFibGUsIFNfSVJVR08gfCBTX0lXVVNSLCBpcHNfc2hvdywgaXBzX3RvZ2dsZSk7CisKK3N0 YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcHNfYXR0cnNbXSA9IHsKKwkmZGV2X2F0dHJfaXBzX2Vu YWJsZS5hdHRyLAorCU5VTEwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlw c19hdHRyX2dyb3VwID0geworCS5uYW1lID0gcG93ZXJfZ3JvdXBfbmFtZSwKKwkuYXR0cnMgPSAg aXBzX2F0dHJzCit9OworCiBzdGF0aWMgdTMyIGNhbGNfcmVzaWRlbmN5KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGNvbnN0IHUzMiByZWcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTU4NSw2ICs2NjEsMTIgQEAgdm9pZCBpOTE1 X3NldHVwX3N5c2ZzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaW50IHJldDsKIAogI2lmZGVm IENPTkZJR19QTQorCWlmIChIQVNfSVBTKGRldikpIHsKKwkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3Jv dXAoJmRldi0+cHJpbWFyeS0+a2Rldi0+a29iaiwKKwkJCQkJJmlwc19hdHRyX2dyb3VwKTsKKwkJ aWYgKHJldCkKKwkJCURSTV9FUlJPUigiSVBTIHN5c2ZzIHNldHVwIGZhaWxlZFxuIik7CisJfQog CWlmIChIQVNfUkM2KGRldikpIHsKIAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmRldi0+cHJp bWFyeS0+a2Rldi0+a29iaiwKIAkJCQkJJnJjNl9hdHRyX2dyb3VwKTsKQEAgLTY0MSw2ICs3MjMs NyBAQCB2b2lkIGk5MTVfdGVhcmRvd25fc3lzZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlk ZXZpY2VfcmVtb3ZlX2Jpbl9maWxlKGRldi0+cHJpbWFyeS0+a2RldiwgICZkcGZfYXR0cnNfMSk7 CiAJZGV2aWNlX3JlbW92ZV9iaW5fZmlsZShkZXYtPnByaW1hcnktPmtkZXYsICAmZHBmX2F0dHJz KTsKICNpZmRlZiBDT05GSUdfUE0KKwlzeXNmc191bm1lcmdlX2dyb3VwKCZkZXYtPnByaW1hcnkt PmtkZXYtPmtvYmosICZpcHNfYXR0cl9ncm91cCk7CiAJc3lzZnNfdW5tZXJnZV9ncm91cCgmZGV2 LT5wcmltYXJ5LT5rZGV2LT5rb2JqLCAmcmM2X2F0dHJfZ3JvdXApOwogCXN5c2ZzX3VubWVyZ2Vf Z3JvdXAoJmRldi0+cHJpbWFyeS0+a2Rldi0+a29iaiwgJnJjNnBfYXR0cl9ncm91cCk7CiAjZW5k aWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMDRjMWZjNC4uNmYwYjM1OSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEyMDksOCArMTIwOSw4IEBAIHUzMiBza2xfcGxhbmVf Y3RsX3JvdGF0aW9uKHVuc2lnbmVkIGludCByb3RhdGlvbik7CiAvKiBpbnRlbF9pcHMuYyAqLwog Ym9vbCBpbnRlbF9pcHNfcmVhZHkoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCSAgICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwotdm9pZCBpbnRlbF9pcHNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKLXZvaWQgaW50ZWxfaXBzX2Rpc2FibGUoc3RydWN0 IGludGVsX2NydGMgKmNydGMpOworaW50IGludGVsX2lwc19lbmFibGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpOworaW50IGludGVsX2lwc19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj KTsKIHZvaWQgaW50ZWxfaXBzX2Rpc2FibGVfaWZfYWxvbmUoc3RydWN0IGludGVsX2NydGMgKmNy dGMpOwogdm9pZCBpbnRlbF9pcHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pcHMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2lwcy5jCmluZGV4IGI4NjdhYmEuLjZiYzVjNTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2lwcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2lwcy5jCkBAIC0xMDUsMTggKzEwNSwyMSBAQCBib29sIGludGVs X2lwc19yZWFkeShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKICAqIFRoaXMgZnVuY3Rpb24gaXMg Y2FsbGVkIHRvIGVuYWJsZSBJUFMgb24gY2VydGFpbiBwaXBlLgogICogQWxsIG5lZWRlZCBjb25k aXRpb25zIHNob3VsZCd2ZSBjaGVja2VkIGFscmVhZHkgYnkgaW50ZWxfaXBzX3JlYWR5LgogICov Ci12b2lkIGludGVsX2lwc19lbmFibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCitpbnQgaW50 ZWxfaXBzX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlpbnQgcmV0ID0gMDsKIAogCWlmICghY3J0Yy0+ Y29uZmlnLT5pcHNfcmVhZHkpCi0JCXJldHVybjsKKwkJcmV0dXJuIC1FSU5WQUw7CiAKIAltdXRl eF9sb2NrKCZkZXZfcHJpdi0+ZGlzcGxheV9pcHMubG9jayk7CiAKLQlpZiAoZGV2X3ByaXYtPmRp c3BsYXlfaXBzLmVuYWJsZWQpCisJaWYgKGRldl9wcml2LT5kaXNwbGF5X2lwcy5lbmFibGVkKSB7 CisJCXJldCA9IC1FQUxSRUFEWTsKIAkJZ290byBvdXQ7CisJfQogCiAJLyoKIAkgKiBXZSBjYW4g b25seSBlbmFibGUgSVBTIGFmdGVyIHdlIGVuYWJsZSBhIHBsYW5lCkBAIC0xNDcsNiArMTUwLDcg QEAgdm9pZCBpbnRlbF9pcHNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCQkgKi8K IAkJaWYgKHdhaXRfZm9yKEk5MTVfUkVBRF9OT1RSQUNFKElQU19DVEwpICYgSVBTX0VOQUJMRSwg NTApKSB7CiAJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBJUFMgZW5hYmxlXG4i KTsKKwkJCXJldCA9IC1FVElNRURPVVQ7CiAJCQlnb3RvIG91dDsKIAkJfQogCX0KQEAgLTE1NCw2 ICsxNTgsNyBAQCB2b2lkIGludGVsX2lwc19lbmFibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMp CiAJZGV2X3ByaXYtPmRpc3BsYXlfaXBzLmVuYWJsZWQgPSB0cnVlOwogb3V0OgogCW11dGV4X3Vu bG9jaygmZGV2X3ByaXYtPmRpc3BsYXlfaXBzLmxvY2spOworCXJldHVybiByZXQ7CiB9CiAKIC8q KgpAQCAtMTYyLDE2ICsxNjcsMjIgQEAgb3V0OgogICoKICAqIFRoaXMgZnVuY3Rpb24gaXMgY2Fs bGVkIHRvIGRpc2FibGUgSVBTIG9uIGNlcnRhaW4gcGlwZSB3aGVuZXZlciBpdCBpcyBuZWVkZWQK ICAqIHRvIGRpc2FibGUgSVBTIG9uIHRoZSBwaXBlLgorICoKKyAqIFJldHVybnM6CisgKiAwIG9u IHN1Y2Nlc3MgYW5kIC1lcnJubyBvdGhlcndpc2UuCiAgKi8KLXZvaWQgaW50ZWxfaXBzX2Rpc2Fi bGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCitpbnQgaW50ZWxfaXBzX2Rpc2FibGUoc3RydWN0 IGludGVsX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJh c2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7CisJaW50IHJldCA9IDA7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZGlzcGxheV9p cHMubG9jayk7CiAKLQlpZiAoIWRldl9wcml2LT5kaXNwbGF5X2lwcy5lbmFibGVkKQorCWlmICgh ZGV2X3ByaXYtPmRpc3BsYXlfaXBzLmVuYWJsZWQpIHsKKwkJcmV0ID0gLUVBTFJFQURZOwogCQln b3RvIG91dDsKKwl9CiAKIAlhc3NlcnRfcGxhbmVfZW5hYmxlZChkZXZfcHJpdiwgY3J0Yy0+cGxh bmUpOwogCWlmIChJU19CUk9BRFdFTEwoZGV2KSkgewpAQCAtMTk2LDYgKzIwNyw3IEBAIHZvaWQg aW50ZWxfaXBzX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJZGV2X3ByaXYtPmRp c3BsYXlfaXBzLmVuYWJsZWQgPSBmYWxzZTsKIG91dDoKIAltdXRleF91bmxvY2soJmRldl9wcml2 LT5kaXNwbGF5X2lwcy5sb2NrKTsKKwlyZXR1cm4gcmV0OwogfQogCiAvKioKQEAgLTIwNiw2ICsy MTgsOSBAQCBvdXQ6CiAgKiBJdCBjaGVja3MgaWYgdGhlcmUgaXMgYW55IG90aGVyIHBsYW5lIGVu YWJsZWQgb24gdGhlIHBpcGUgd2hlbiBwcmltYXJ5IGlzCiAgKiBnb2luZyB0byBiZSBkaXNhYmxl ZC4gSW4gdGhpcyBjYXNlIElQUyBjYW4gY29udGludWUgZW5hYmxlZCwgYnV0IGl0IG5lZWRzCiAg KiB0byBiZSBkaXNhYmxlZCBvdGhlcndpc2UuCisgKgorICogUmV0dXJuczoKKyAqIDAgb24gc3Vj Y2VzcyBhbmQgLWVycm5vIG90aGVyd2lzZS4KICAqLwogdm9pZCBpbnRlbF9pcHNfZGlzYWJsZV9p Zl9hbG9uZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKLS0gCjIuNC4zCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=