From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 17/31] drm/i915: Add sys PSR toggle interface. Date: Thu, 5 Nov 2015 10:50:09 -0800 Message-ID: <1446749423-4789-18-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 4B7856E479 for ; Thu, 5 Nov 2015 10:49:50 -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 VGhpcyBpbnRlcmZhY2UgYWxsb3dzIGFuIGltbWVkaWF0ZSBlbmFibGluZyBvZiBQU1IgZmVhdHVy ZS4KV2hhdCBhbGxvdyB1cyB0byBzZWUgaW1tZWRpYXRlbHkgdGhlIFBTUiBzYXZpbmdzIGFuZCB3 aWxsCmFsbG93IHVzIHRvIGV4cG9zZSB0aGlzIHRocm91Z2ggcG93ZXJ0b3AgaW50ZXJmYWNlLgoK U2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyB8IDgyICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg IHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICB8IDE5ICsrKysrKyst LQogMyBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3lzZnMuYwppbmRleCAyZDA5MmMxLi4wZjM3MWM2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zeXNmcy5jCkBAIC0xMTEsNiArMTExLDgxIEBAIHN0YXRpYyBzdHJ1Y3QgYXR0 cmlidXRlX2dyb3VwIGlwc19hdHRyX2dyb3VwID0gewogCS5hdHRycyA9ICBpcHNfYXR0cnMKIH07 CiAKK3N0YXRpYyBzc2l6ZV90Citwc3Jfc2hvdyhzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3Qg ZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBkcm1fbWlub3Ig KmRtaW5vciA9IGRldl90b19kcm1fbWlub3Ioa2Rldik7CisJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGRtaW5vci0+ZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7CisJc3NpemVfdCByZXQ7CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+ cHNyLmxvY2spOworCXJldCA9IHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXNcbiIsIGRldl9w cml2LT5wc3IuZW5hYmxlZCA/CisJCSAgICAgICAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiKTsKKwlt dXRleF91bmxvY2soJmRldl9wcml2LT5wc3IubG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCisK K3N0YXRpYyBzc2l6ZV90Citwc3JfdG9nZ2xlKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlICphdHRyLAorCSAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50 KQoreworCXN0cnVjdCBkcm1fbWlub3IgKmRtaW5vciA9IGRldl90b19kcm1fbWlub3Ioa2Rldik7 CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRtaW5vci0+ZGV2OworCXN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKKwlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IE5VTEw7CisJdTMyIHZhbDsKKwlzc2l6ZV90IHJldDsK KworCXJldCA9IGtzdHJ0b3UzMihidWYsIDAsICZ2YWwpOworCWlmIChyZXQpCisJCXJldHVybiBy ZXQ7CisKKwlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3IoZGV2LCBjb25uZWN0b3IpIHsKKwkJaWYg KCFjb25uZWN0b3ItPmJhc2UuZW5jb2RlcikKKwkJCWNvbnRpbnVlOworCQllbmNvZGVyID0gdG9f aW50ZWxfZW5jb2Rlcihjb25uZWN0b3ItPmJhc2UuZW5jb2Rlcik7CisJCWNydGMgPSB0b19pbnRl bF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7CisJfQorCisJaWYgKCFjcnRjKQorCQlyZXR1cm4g LUVOT0RFVjsKKworCXN3aXRjaCAodmFsKSB7CisJY2FzZSAwOgorCQlyZXQgPSBpbnRlbF9wc3Jf ZGlzYWJsZShjcnRjKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJCWJyZWFrOworCWNh c2UgMToKKwkJcmV0ID0gaW50ZWxfcHNyX2VuYWJsZShjcnRjKTsKKwkJaWYgKHJldCkKKwkJCXJl dHVybiByZXQ7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwor CXJldHVybiBjb3VudDsKKworCit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUihwc3JfZW5hYmxlLCBT X0lSVUdPIHwgU19JV1VTUiwgcHNyX3Nob3csIHBzcl90b2dnbGUpOworCitzdGF0aWMgc3RydWN0 IGF0dHJpYnV0ZSAqcHNyX2F0dHJzW10gPSB7CisJJmRldl9hdHRyX3Bzcl9lbmFibGUuYXR0ciwK KwlOVUxMCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBwc3JfYXR0cl9ncm91 cCA9IHsKKwkubmFtZSA9IHBvd2VyX2dyb3VwX25hbWUsCisJLmF0dHJzID0gIHBzcl9hdHRycwor fTsKKwogc3RhdGljIHUzMiBjYWxjX3Jlc2lkZW5jeShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBj b25zdCB1MzIgcmVnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7CkBAIC02NjcsNiArNzQyLDEyIEBAIHZvaWQgaTkxNV9zZXR1cF9zeXNm cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlpZiAocmV0KQogCQkJRFJNX0VSUk9SKCJJUFMg c3lzZnMgc2V0dXAgZmFpbGVkXG4iKTsKIAl9CisJaWYgKEhBU19QU1IoZGV2KSkgeworCQlyZXQg PSBzeXNmc19tZXJnZV9ncm91cCgmZGV2LT5wcmltYXJ5LT5rZGV2LT5rb2JqLAorCQkJCQkmcHNy X2F0dHJfZ3JvdXApOworCQlpZiAocmV0KQorCQkJRFJNX0VSUk9SKCJQU1Igc3lzZnMgc2V0dXAg ZmFpbGVkXG4iKTsKKwl9CiAJaWYgKEhBU19SQzYoZGV2KSkgewogCQlyZXQgPSBzeXNmc19tZXJn ZV9ncm91cCgmZGV2LT5wcmltYXJ5LT5rZGV2LT5rb2JqLAogCQkJCQkmcmM2X2F0dHJfZ3JvdXAp OwpAQCAtNzI0LDYgKzgwNSw3IEBAIHZvaWQgaTkxNV90ZWFyZG93bl9zeXNmcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQogCWRldmljZV9yZW1vdmVfYmluX2ZpbGUoZGV2LT5wcmltYXJ5LT5rZGV2 LCAgJmRwZl9hdHRycyk7CiAjaWZkZWYgQ09ORklHX1BNCiAJc3lzZnNfdW5tZXJnZV9ncm91cCgm ZGV2LT5wcmltYXJ5LT5rZGV2LT5rb2JqLCAmaXBzX2F0dHJfZ3JvdXApOworCXN5c2ZzX3VubWVy Z2VfZ3JvdXAoJmRldi0+cHJpbWFyeS0+a2Rldi0+a29iaiwgJnBzcl9hdHRyX2dyb3VwKTsKIAlz eXNmc191bm1lcmdlX2dyb3VwKCZkZXYtPnByaW1hcnktPmtkZXYtPmtvYmosICZyYzZfYXR0cl9n cm91cCk7CiAJc3lzZnNfdW5tZXJnZV9ncm91cCgmZGV2LT5wcmltYXJ5LT5rZGV2LT5rb2JqLCAm cmM2cF9hdHRyX2dyb3VwKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBi ZjVlNzdjLi43NmUwODA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTQwOCw4ICsx NDA4LDggQEAgdm9pZCBpbnRlbF9iYWNrbGlnaHRfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKIC8qIGludGVsX3Bzci5jICovCiBib29sIGludGVsX3Bzcl9yZWFkeShzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwLAogCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZyk7Ci12b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMpOwotdm9pZCBpbnRlbF9wc3JfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0Yyk7CitpbnQgaW50ZWxfcHNyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 Yyk7CitpbnQgaW50ZWxfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMp Owogdm9pZCBpbnRlbF9wc3JfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJ ICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKIHZvaWQgaW50ZWxfcHNyX2ZsdXNoKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCmluZGV4IGJjZjJkOWQu LjRjYTY4MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCkBAIC0zNzQsMjEgKzM3NCwyNiBA QCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKICAqIEBpbnRlbF9jcnRjOiBJbnRlbCBDUlRDCiAgKgogICogVGhpcyBmdW5jdGlvbiBjYW4g b25seSBiZSBjYWxsZWQgYWZ0ZXIgdGhlIHBpcGUgaXMgZnVsbHkgdHJhaW5lZCBhbmQgZW5hYmxl ZC4KKyAqCisgKiBSZXR1cm5zOgorICogMCBvbiBzdWNjZXNzIGFuZCAtZXJybm8gb3RoZXJ3aXNl LgogICovCi12b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMpCitpbnQgaW50ZWxfcHNyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykK IHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXI7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IE5VTEw7CisJaW50IHJldCA9 IDA7CiAKIAlpZiAoIWludGVsX2NydGMtPmNvbmZpZy0+cHNyX3JlYWR5KQotCQlyZXR1cm47CisJ CXJldHVybiAtRUlOVkFMOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnBzci5sb2NrKTsKIAlp ZiAoZGV2X3ByaXYtPnBzci5lbmFibGVkKSB7CiAJCURSTV9ERUJVR19LTVMoIlBTUiBhbHJlYWR5 IGluIHVzZVxuIik7CisJCXJldCA9IC1FQUxSRUFEWTsKIAkJZ290byB1bmxvY2s7CiAJfQogCkBA IC0zOTksNiArNDA0LDcgQEAgdm9pZCBpbnRlbF9wc3JfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjKQogCiAJaWYgKCFpbnRlbF9kcCkgewogCQlEUk1fREVCVUdfS01TKCJObyBl RFAgZm91bmRcbiIpOworCQlyZXQgPSAtRU5PVFRZOwogCQlnb3RvIHVubG9jazsKIAl9CiAKQEAg LTQ0Myw2ICs0NDksNyBAQCB2b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMpCiAJZGV2X3ByaXYtPnBzci5lbmFibGVkID0gaW50ZWxfZHA7CiB1bmxvY2s6 CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOworCXJldHVybiByZXQ7CiB9CiAK IHN0YXRpYyB2b2lkIHZsdl9wc3JfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQpA QCAtNDk4LDggKzUwNSwxMSBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Rpc2FibGUoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKICAqIEBpbnRlbF9jcnRjOiBJbnRlbCBDUlRDCiAgKgogICogVGhp cyBmdW5jdGlvbiBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGRpc2FibGluZyBwaXBlLgorICoK KyAqIFJldHVybnM6CisgKiAwIG9uIHN1Y2Nlc3MgYW5kIC1lcnJubyBvdGhlcndpc2UuCiAgKi8K LXZvaWQgaW50ZWxfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCitp bnQgaW50ZWxfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2NydGMtPmJhc2UuZGV2OwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CkBAIC01MDcsNyAr NTE3LDcgQEAgdm9pZCBpbnRlbF9wc3JfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YykKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOwogCWlmICghZGV2X3ByaXYt PnBzci5lbmFibGVkKSB7CiAJCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBzci5sb2NrKTsKLQkJ cmV0dXJuOworCQlyZXR1cm4gLUVBTFJFQURZOwogCX0KIAogCWlmIChIQVNfRERJKGRldikpCkBA IC01MTksNiArNTI5LDcgQEAgdm9pZCBpbnRlbF9wc3JfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YykKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5wc3IubG9jayk7CiAKIAlj YW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmRldl9wcml2LT5wc3Iud29yayk7CisJcmV0dXJuIDA7 CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX3Bzcl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29y aykKLS0gCjIuNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=