From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 12/15] drm/i915: VLV/CHV PSR Software timer mode Date: Fri, 14 Nov 2014 08:52:38 -0800 Message-ID: <1415983961-4485-12-git-send-email-rodrigo.vivi@intel.com> References: <1415983961-4485-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 9DC8F6E879 for ; Fri, 14 Nov 2014 15:52:18 -0800 (PST) In-Reply-To: <1415983961-4485-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 VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGV4aXQvYWN0aXZhdGUgZnVuY3Rpb25zIGZvciBQU1IKb24g VkxWKy4gU2luY2Ugb24gVkxWKyBIVyBjYW5ub3QgdHJhY2sgZnJhbWUgdXBkYXRlcyBhbmQgZm9y Y2UgUFNSCmV4aXQgbGV0J3MgdXNlIGZ1bGx5IFNXIHRyYWNraW5nIGF2YWlsYWJsZS4KCnYyOiBS ZWJhc2Ugb3ZlciBpbnRlbF9wc3IuYzsKICAgIFJlbW92ZSBTaW5nbGUgRnJhbWUgdXBkYXRlIHRy YW5zaXRpb25pbmcgZnJvbSBzdGF0ZSAzIHRvIDUgZGlyZWN0bHk7CiAgICBGYWtlIGEgc29mdHdh cmUgaW52YWxpZGF0aW9uIGZvciBzcHJpdGVzIGFuZCBjdXJzb3Igc28gd2UgZG9uJ3QgbWlzcwog ICAgYW55IHNjcmVlbiB1cGRhdGU7CgpDYzogRHVyZ2Fkb3NzIFIgPGR1cmdhZG9zcy5yQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIHwgOTYgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDgzIGluc2VydGlv bnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKaW5kZXggYmRi MjhmMi4uYjJhNGVlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKQEAgLTIxNCw2ICsyMTQs MjMgQEAgc3RhdGljIHZvaWQgdmx2X3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJCSAgIFZMVl9FRFBfUFNSX0VOQUJMRSk7CiB9CiAKK3N0YXRpYyB2b2lkIHZs dl9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKK3sKKwlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKKwlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMgPSBkaWdfcG9ydC0+YmFzZS5iYXNlLmNydGM7CisJZW51bSBwaXBlIHBp cGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOworCisJLyogTGV0J3MgZG8gdGhlIHRyYW5z aXRpb24gZnJvbSBQU1Jfc3RhdGUgMSB0byBQU1Jfc3RhdGUgMgorCSAqIHRoYXQgaXMgUFNSIHRy YW5zaXRpb24gdG8gYWN0aXZlIC0gc3RhdGljIGZyYW1lIHRyYW5zbWlzc2lvbi4KKwkgKiBUaGVu IEhhcmR3YXJlIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgdHJhbnNpdGlvbiB0byBQU1Jfc3RhdGUg MworCSAqIHRoYXQgaXMgUFNSIGFjdGl2ZSAtIG5vIFJlbW90ZSBGcmFtZSBCdWZmZXIgKFJGQikg dXBkYXRlLgorCSAqLworCUk5MTVfV1JJVEUoVkxWX1BTUkNUTChwaXBlKSwgSTkxNV9SRUFEKFZM Vl9QU1JDVEwocGlwZSkpIHwKKwkJICAgVkxWX0VEUF9QU1JfQUNUSVZFX0VOVFJZKTsKK30KKwog c3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiB7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdf cG9ydChpbnRlbF9kcCk7CkBAIC0zMDQsMTIgKzMyMSwxNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9w c3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlXQVJOX09OKGRldl9wcml2 LT5wc3IuYWN0aXZlKTsKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHNyLmxvY2sp OwogCi0JLyogRW5hYmxlL1JlLWVuYWJsZSBQU1Igb24gdGhlIGhvc3QKLQkgKiBPbiBIU1crIGFm dGVyIHdlIGVuYWJsZSBQU1Igb24gc291cmNlIGl0IHdpbGwgYWN0aXZhdGUgaXQKLQkgKiBhcyBz b29uIGFzIGl0IG1hdGNoIGNvbmZpZ3VyZSBpZGxlX2ZyYW1lIGNvdW50LiBTbwotCSAqIHdlIGp1 c3QgYWN0dWFsbHkgZW5hYmxlIGl0IGhlcmUgb24gYWN0aXZhdGlvbiB0aW1lLgotCSAqLwotCWhz d19wc3JfZW5hYmxlX3NvdXJjZShpbnRlbF9kcCk7CisJLyogRW5hYmxlL1JlLWVuYWJsZSBQU1Ig b24gdGhlIGhvc3QgKi8KKwlpZiAoSEFTX0RESShkZXYpKQorCQkvKiBPbiBIU1crIGFmdGVyIHdl IGVuYWJsZSBQU1Igb24gc291cmNlIGl0IHdpbGwgYWN0aXZhdGUgaXQKKwkJICogYXMgc29vbiBh cyBpdCBtYXRjaCBjb25maWd1cmUgaWRsZV9mcmFtZSBjb3VudC4gU28KKwkJICogd2UganVzdCBh Y3R1YWxseSBlbmFibGUgaXQgaGVyZSBvbiBhY3RpdmF0aW9uIHRpbWUuCisJCSAqLworCQloc3df cHNyX2VuYWJsZV9zb3VyY2UoaW50ZWxfZHApOworCWVsc2UKKwkJdmx2X3Bzcl9hY3RpdmF0ZShp bnRlbF9kcCk7CisKIAlkZXZfcHJpdi0+cHNyLmFjdGl2ZSA9IHRydWU7CiB9CiAKQEAgLTQ1Nywx OCArNDc4LDI3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl93b3JrKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQogCQljb250YWlu ZXJfb2Yod29yaywgdHlwZW9mKCpkZXZfcHJpdiksIHBzci53b3JrLndvcmspOwogCXN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAgPSBkZXZfcHJpdi0+cHNyLmVuYWJsZWQ7CisJc3RydWN0IGRybV9j cnRjICpjcnRjID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlLmJhc2UuY3J0YzsKKwll bnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7CiAKIAkvKiBXZSBoYXZl IHRvIG1ha2Ugc3VyZSBQU1IgaXMgcmVhZHkgZm9yIHJlLWVuYWJsZQogCSAqIG90aGVyd2lzZSBp dCBrZWVwcyBkaXNhYmxlZCB1bnRpbCBuZXh0IGZ1bGwgZW5hYmxlL2Rpc2FibGUgY3ljbGUuCiAJ ICogUFNSIG1pZ2h0IHRha2Ugc29tZSB0aW1lIHRvIGdldCBmdWxseSBkaXNhYmxlZAogCSAqIGFu ZCBiZSByZWFkeSBmb3IgcmUtZW5hYmxlLgogCSAqLwotCWlmICh3YWl0X2ZvcigoSTkxNV9SRUFE KEVEUF9QU1JfU1RBVFVTX0NUTChkZXZfcHJpdi0+ZGV2KSkgJgotCQkgICAgICBFRFBfUFNSX1NU QVRVU19TVEFURV9NQVNLKSA9PSAwLCA1MCkpIHsKLQkJRFJNX0VSUk9SKCJUaW1lZCBvdXQgd2Fp dGluZyBmb3IgUFNSIElkbGUgZm9yIHJlLWVuYWJsZVxuIik7Ci0JCXJldHVybjsKKwlpZiAoSEFT X0RESShkZXZfcHJpdi0+ZGV2KSkgeworCQlpZiAod2FpdF9mb3IoKEk5MTVfUkVBRChFRFBfUFNS X1NUQVRVU19DVEwoZGV2X3ByaXYtPmRldikpICYKKwkJCSAgICAgIEVEUF9QU1JfU1RBVFVTX1NU QVRFX01BU0spID09IDAsIDUwKSkgeworCQkJRFJNX0VSUk9SKCJUaW1lZCBvdXQgd2FpdGluZyBm b3IgUFNSIElkbGUgZm9yIHJlLWVuYWJsZVxuIik7CisJCQlyZXR1cm47CisJCX0KKwl9IGVsc2Ug eworCQlpZiAod2FpdF9mb3IoKEk5MTVfUkVBRChWTFZfUFNSU1RBVChwaXBlKSkgJgorCQkJICAg ICAgVkxWX0VEUF9QU1JfSU5fVFJBTlMpID09IDAsIDAuMjUwKSkgeworCQkJRFJNX0VSUk9SKCJU aW1lZCBvdXQgd2FpdGluZyBmb3IgUFNSIElkbGUgZm9yIHJlLWVuYWJsZVxuIik7CisJCQlyZXR1 cm47CisJCX0KIAl9Ci0KIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOwogCWludGVs X2RwID0gZGV2X3ByaXYtPnBzci5lbmFibGVkOwogCkBAIC00OTEsMTcgKzUyMSw0NyBAQCB1bmxv Y2s6CiBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZXhpdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGRldl9wcml2LT5wc3IuZW5hYmxlZDsKKwlz dHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UuYmFz ZS5jcnRjOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+cGlwZTsKKwl1 MzIgdmFsOwogCi0JaWYgKGRldl9wcml2LT5wc3IuYWN0aXZlKSB7Ci0JCXUzMiB2YWwgPSBJOTE1 X1JFQUQoRURQX1BTUl9DVEwoZGV2KSk7CisJaWYgKCFkZXZfcHJpdi0+cHNyLmFjdGl2ZSkKKwkJ cmV0dXJuOworCisJaWYgKEhBU19EREkoZGV2KSkgeworCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BT Ul9DVEwoZGV2KSk7CiAKIAkJV0FSTl9PTighKHZhbCAmIEVEUF9QU1JfRU5BQkxFKSk7CiAKIAkJ STkxNV9XUklURShFRFBfUFNSX0NUTChkZXYpLCB2YWwgJiB+RURQX1BTUl9FTkFCTEUpOwogCiAJ CWRldl9wcml2LT5wc3IuYWN0aXZlID0gZmFsc2U7CisJfSBlbHNlIHsKKwkJdmFsID0gSTkxNV9S RUFEKFZMVl9QU1JDVEwocGlwZSkpOworCisJCS8qIEhlcmUgd2UgZG8gdGhlIHRyYW5zaXRpb24g ZnJvbSBQU1Jfc3RhdGUgMyB0byBQU1Jfc3RhdGUgNQorCQkgKiBkaXJlY3RseSBvbmNlIFBTUiBT dGF0ZSA0IHRoYXQgaXMgYWN0aXZlIHdpdGggc2luZ2xlIGZyYW1lCisJCSAqIHVwZGF0ZSBjYW4g YmUgc2tpcHBlZC4gUFNSX3N0YXRlIDUgdGhhdCBpcyBQU1IgZXhpdCB0aGVuCisJCSAqIEhhcmR3 YXJlIGlzIHJlc3BvbnNpYmxlIHRvIHRyYW5zaXRpb24gYmFjayB0byBQU1Jfc3RhdGUgMQorCQkg KiB0aGF0IGlzIFBTUiBpbmFjdGl2ZS4gU2FtZSBzdGF0ZSBhZnRlcgorCQkgKiB2bHZfZWRwX3Bz cl9lbmFibGVfc291cmNlLgorCQkgKi8KKwkJdmFsICY9IH5WTFZfRURQX1BTUl9BQ1RJVkVfRU5U Ulk7CisJCUk5MTVfV1JJVEUoVkxWX1BTUkNUTChwaXBlKSwgdmFsKTsKKworCQkvKiBTZW5kIEFV WCB3YWtlIHVwIC0gU3BlYyBzYXlzIGFmdGVyIHRyYW5zaXRpb25pbmcgdG8gUFNSCisJCSAqIGFj dGl2ZSB3ZSBoYXZlIHRvIHNlbmQgQVVYIHdha2UgdXAgYnkgd3JpdGluZyAwMWggaW4gRFBDRAor CQkgKiA2MDBoIG9mIHNpbmsgZGV2aWNlLgorCQkgKiBYWFg6IFRoaXMgbWlnaHQgc2xvdyBkb3du IHRoZSB0cmFuc2l0aW9uLCBidXQgd2l0aG91dCB0aGlzCisJCSAqIEhXIGRvZXNuJ3QgY29tcGxl dGUgdGhlIHRyYW5zaXRpb24gdG8gUFNSX3N0YXRlIDEgYW5kIHdlCisJCSAqIG5ldmVyIGdldCB0 aGUgc2NyZWVuIHVwZGF0ZWQuCisJCSAqLworCQlkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2Rw LT5hdXgsIERQX1NFVF9QT1dFUiwKKwkJCQkgICBEUF9TRVRfUE9XRVJfRDApOwogCX0KIAorCWRl dl9wcml2LT5wc3IuYWN0aXZlID0gZmFsc2U7CiB9CiAKIC8qKgpAQCAtNTc5LDYgKzYzOSwxNiBA QCB2b2lkIGludGVsX3Bzcl9mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCSAgICAoZnJv bnRidWZmZXJfYml0cyAmIElOVEVMX0ZST05UQlVGRkVSX1NQUklURShwaXBlKSkpCiAJCWludGVs X3Bzcl9leGl0KGRldik7CiAKKwkvKiBPbiBWYWxsZXl2aWV3IGFuZCBDaGVycnl2aWV3IHdlIGRv bid0IHVzZSBoYXJkd2FyZSB0cmFja2luZyBzbworCSAqIHNwcml0ZSBwbGFuZSB1cGRhdGVzIG9y IGN1cnNvciBtb3ZlcyBkb24ndCByZXN1bHQgaW4gYSBwc3IKKwkgKiBpbnZhbGlkYXRpbmcuIFdo aWNoIG1lYW5zIHdlIG5lZWQgdG8gbWFudWFsbHkgZmFrZSB0aGlzIGluCisJICogc29mdHdhcmUg Zm9yIGFsbCBmbHVzaGVzLCBub3QganVzdCB3aGVuIHdlJ3ZlIHNlZW4gYSBwcmVjZWRpbmcKKwkg KiBpbnZhbGlkYXRpb24gdGhyb3VnaCBmcm9udGJ1ZmZlciByZW5kZXJpbmcuICovCisJaWYgKCFI QVNfRERJKGRldikgJiYKKwkgICAgKChmcm9udGJ1ZmZlcl9iaXRzICYgSU5URUxfRlJPTlRCVUZG RVJfU1BSSVRFKHBpcGUpKSB8fAorCSAgICAgKGZyb250YnVmZmVyX2JpdHMgJiBJTlRFTF9GUk9O VEJVRkZFUl9DVVJTT1IocGlwZSkpKSkKKwkJaW50ZWxfcHNyX2V4aXQoZGV2KTsKKwogCWlmICgh ZGV2X3ByaXYtPnBzci5hY3RpdmUgJiYgIWRldl9wcml2LT5wc3IuYnVzeV9mcm9udGJ1ZmZlcl9i aXRzKQogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmRldl9wcml2LT5wc3Iud29yaywKIAkJCQkg ICAgICBtc2Vjc190b19qaWZmaWVzKDEwMCkpOwotLSAKMS45LjMKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==