From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 09/11] drm/i915: Pull the cmnlane tricks into its own power well ops Date: Fri, 13 Jun 2014 13:37:55 +0300 Message-ID: <1402655877-6460-10-git-send-email-ville.syrjala@linux.intel.com> References: <1402655877-6460-1-git-send-email-ville.syrjala@linux.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 DC68D8A3A2 for ; Fri, 13 Jun 2014 03:38:28 -0700 (PDT) In-Reply-To: <1402655877-6460-1-git-send-email-ville.syrjala@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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl bW92ZSB0aGUgY2x1dHRlciBpbiBfX3Zsdl9zZXRfcG93ZXJfd2VsbCgpIGJ5IG1vdmluZyB0aGUg Y21ubGFuZQpoYW5kbGluZyBpbnRvIGN1c3RvbSBlbmFibGUvZGlzYWJsZSBob29rcyBmb3IgdGhl IGNtbmxhbmUuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgfCA5 MiArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDU1IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCmluZGV4IDlkN2IwODIuLmU5YTg1NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAt NTk2NSwzMSArNTk2NSw5IEBAIHN0YXRpYyBib29sIGk5eHhfYWx3YXlzX29uX3Bvd2VyX3dlbGxf ZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB2b2lkIF9fdmx2X3Nl dF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgZW51 bSBwdW5pdF9wb3dlcl93ZWxsIHBvd2VyX3dlbGxfaWQsIGJvb2wgZW5hYmxlKQogewotCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2OwogCXUzMiBtYXNrOwogCXUzMiBzdGF0 ZTsKIAl1MzIgY3RybDsKLQllbnVtIHBpcGUgcGlwZTsKLQotCWlmIChwb3dlcl93ZWxsX2lkID09 IFBVTklUX1BPV0VSX1dFTExfRFBJT19DTU5fQkMpIHsKLQkJaWYgKGVuYWJsZSkgewotCQkJLyoK LQkJCSAqIEVuYWJsZSB0aGUgQ1JJIGNsb2NrIHNvdXJjZSBzbyB3ZSBjYW4gZ2V0IGF0IHRoZQot CQkJICogZGlzcGxheSBhbmQgdGhlIHJlZmVyZW5jZSBjbG9jayBmb3IgVkdBCi0JCQkgKiBob3Rw bHVnIC8gbWFudWFsIGRldGVjdGlvbi4KLQkJCSAqLwotCQkJSTkxNV9XUklURShEUExMKFBJUEVf QiksIEk5MTVfUkVBRChEUExMKFBJUEVfQikpIHwKLQkJCQkgICBEUExMX1JFRkFfQ0xLX0VOQUJM RV9WTFYgfAotCQkJCSAgIERQTExfSU5URUdSQVRFRF9DUklfQ0xLX1ZMVik7Ci0JCQl1ZGVsYXko MSk7IC8qID4xMG5zIGZvciBjbW5yZXNldCwgPjBucyBmb3Igc2lkZXJlc2V0ICovCi0JCX0gZWxz ZSB7Ci0JCQlmb3JfZWFjaF9waXBlKHBpcGUpCi0JCQkJYXNzZXJ0X3BsbF9kaXNhYmxlZChkZXZf cHJpdiwgcGlwZSk7Ci0JCQkvKiBBc3NlcnQgY29tbW9uIHJlc2V0ICovCi0JCQlJOTE1X1dSSVRF KERQSU9fQ1RMLCBJOTE1X1JFQUQoRFBJT19DVEwpICYKLQkJCQkgICB+RFBJT19DTU5SU1QpOwot CQl9Ci0JfQogCiAJbWFzayA9IFBVTklUX1BXUkdUX01BU0socG93ZXJfd2VsbF9pZCk7CiAJc3Rh dGUgPSBlbmFibGUgPyBQVU5JVF9QV1JHVF9QV1JfT04ocG93ZXJfd2VsbF9pZCkgOgpAQCAtNjAx NywyMCArNTk5NSw2IEBAIHZvaWQgX192bHZfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogCiBvdXQ6CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cnBz Lmh3X2xvY2spOwotCi0JLyoKLQkgKiBGcm9tIFZMVjJBMF9EUF9lRFBfRFBJT19kcml2ZXJfdmJp b3Nfbm90ZXNfMTAuZG9jeCAtCi0JICogIDYuCURlLWFzc2VydCBjbW5fcmVzZXQvc2lkZV9yZXNl dC4gU2FtZSBhcyBWTFYgWDAuCi0JICogICBhLglHVW5pdCAweDIxMTAgYml0WzBdIHNldCB0byAx IChkZWYgMCkKLQkgKiAgIGIuCVRoZSBvdGhlciBiaXRzIHN1Y2ggYXMgc2ZyIHNldHRpbmdzIC8g bW9kZXNlbCBtYXkgYWxsCi0JICoJYmUgc2V0IHRvIDAuCi0JICoKLQkgKiBUaGlzIHNob3VsZCBv bmx5IGJlIGRvbmUgb24gaW5pdCBhbmQgcmVzdW1lIGZyb20gUzMgd2l0aAotCSAqIGJvdGggUExM cyBkaXNhYmxlZCwgb3Igd2UgcmlzayBsb3NpbmcgRFBJTyBhbmQgUExMCi0JICogc3luY2hyb25p emF0aW9uLgotCSAqLwotCWlmIChwb3dlcl93ZWxsX2lkID09IFBVTklUX1BPV0VSX1dFTExfRFBJ T19DTU5fQkMgJiYgZW5hYmxlKQotCQlJOTE1X1dSSVRFKERQSU9fQ1RMLCBJOTE1X1JFQUQoRFBJ T19DVEwpIHwgRFBJT19DTU5SU1QpOwogfQogCiBzdGF0aWMgdm9pZCB2bHZfc2V0X3Bvd2VyX3dl bGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LApAQCAtNjEzMCw2ICs2MDk0LDUz IEBAIHN0YXRpYyB2b2lkIHZsdl9kaXNwbGF5X3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJdmx2X3NldF9wb3dlcl93ZWxsKGRldl9wcml2LCBw b3dlcl93ZWxsLCBmYWxzZSk7CiB9CiAKK3N0YXRpYyB2b2lkIHZsdl9kcGlvX2Ntbl9wb3dlcl93 ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCSAgIHN0 cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCit7CisJV0FSTl9PTl9PTkNFKHBvd2Vy X3dlbGwtPmRhdGEgIT0gUFVOSVRfUE9XRVJfV0VMTF9EUElPX0NNTl9CQyk7CisKKwkvKgorCSAq IEVuYWJsZSB0aGUgQ1JJIGNsb2NrIHNvdXJjZSBzbyB3ZSBjYW4gZ2V0IGF0IHRoZQorCSAqIGRp c3BsYXkgYW5kIHRoZSByZWZlcmVuY2UgY2xvY2sgZm9yIFZHQQorCSAqIGhvdHBsdWcgLyBtYW51 YWwgZGV0ZWN0aW9uLgorCSAqLworCUk5MTVfV1JJVEUoRFBMTChQSVBFX0IpLCBJOTE1X1JFQUQo RFBMTChQSVBFX0IpKSB8CisJCSAgIERQTExfUkVGQV9DTEtfRU5BQkxFX1ZMViB8IERQTExfSU5U RUdSQVRFRF9DUklfQ0xLX1ZMVik7CisJdWRlbGF5KDEpOyAvKiA+MTBucyBmb3IgY21ucmVzZXQs ID4wbnMgZm9yIHNpZGVyZXNldCAqLworCisJdmx2X3NldF9wb3dlcl93ZWxsKGRldl9wcml2LCBw b3dlcl93ZWxsLCB0cnVlKTsKKworCS8qCisJICogRnJvbSBWTFYyQTBfRFBfZURQX0RQSU9fZHJp dmVyX3ZiaW9zX25vdGVzXzEwLmRvY3ggLQorCSAqICA2LglEZS1hc3NlcnQgY21uX3Jlc2V0L3Np ZGVfcmVzZXQuIFNhbWUgYXMgVkxWIFgwLgorCSAqICAgYS4JR1VuaXQgMHgyMTEwIGJpdFswXSBz ZXQgdG8gMSAoZGVmIDApCisJICogICBiLglUaGUgb3RoZXIgYml0cyBzdWNoIGFzIHNmciBzZXR0 aW5ncyAvIG1vZGVzZWwgbWF5IGFsbAorCSAqCWJlIHNldCB0byAwLgorCSAqCisJICogVGhpcyBz aG91bGQgb25seSBiZSBkb25lIG9uIGluaXQgYW5kIHJlc3VtZSBmcm9tIFMzIHdpdGgKKwkgKiBi b3RoIFBMTHMgZGlzYWJsZWQsIG9yIHdlIHJpc2sgbG9zaW5nIERQSU8gYW5kIFBMTAorCSAqIHN5 bmNocm9uaXphdGlvbi4KKwkgKi8KKwlJOTE1X1dSSVRFKERQSU9fQ1RMLCBJOTE1X1JFQUQoRFBJ T19DVEwpIHwgRFBJT19DTU5SU1QpOworfQorCitzdGF0aWMgdm9pZCB2bHZfZHBpb19jbW5fcG93 ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJ ICAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCit7CisJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7CisJZW51bSBwaXBlIHBpcGU7CisKKwlXQVJOX09O X09OQ0UocG93ZXJfd2VsbC0+ZGF0YSAhPSBQVU5JVF9QT1dFUl9XRUxMX0RQSU9fQ01OX0JDKTsK KworCWZvcl9lYWNoX3BpcGUocGlwZSkKKwkJYXNzZXJ0X3BsbF9kaXNhYmxlZChkZXZfcHJpdiwg cGlwZSk7CisKKwkvKiBBc3NlcnQgY29tbW9uIHJlc2V0ICovCisJSTkxNV9XUklURShEUElPX0NU TCwgSTkxNV9SRUFEKERQSU9fQ1RMKSAmIH5EUElPX0NNTlJTVCk7CisKKwl2bHZfc2V0X3Bvd2Vy X3dlbGwoZGV2X3ByaXYsIHBvd2VyX3dlbGwsIGZhbHNlKTsKK30KKwogc3RhdGljIHZvaWQgY2hl Y2tfcG93ZXJfd2VsbF9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CQkJICAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkKIHsKQEAgLTYzNTMsNiAr NjM2NCwxMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMgdmx2X2Rp c3BsYXlfcG93ZXJfd2VsbF9vcHMgPSB7CiAJLmlzX2VuYWJsZWQgPSB2bHZfcG93ZXJfd2VsbF9l bmFibGVkLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfb3BzIHZs dl9kcGlvX2Ntbl9wb3dlcl93ZWxsX29wcyA9IHsKKwkuc3luY19odyA9IHZsdl9wb3dlcl93ZWxs X3N5bmNfaHcsCisJLmVuYWJsZSA9IHZsdl9kcGlvX2Ntbl9wb3dlcl93ZWxsX2VuYWJsZSwKKwku ZGlzYWJsZSA9IHZsdl9kcGlvX2Ntbl9wb3dlcl93ZWxsX2Rpc2FibGUsCisJLmlzX2VuYWJsZWQg PSB2bHZfcG93ZXJfd2VsbF9lbmFibGVkLAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1 X3Bvd2VyX3dlbGxfb3BzIHZsdl9kcGlvX3Bvd2VyX3dlbGxfb3BzID0gewogCS5zeW5jX2h3ID0g dmx2X3Bvd2VyX3dlbGxfc3luY19odywKIAkuZW5hYmxlID0gdmx2X3Bvd2VyX3dlbGxfZW5hYmxl LApAQCAtNjQxMyw3ICs2NDMxLDcgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgdmx2 X3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5uYW1lID0gImRwaW8tY29tbW9uIiwKIAkJLmRvbWFpbnMg PSBWTFZfRFBJT19DTU5fQkNfUE9XRVJfRE9NQUlOUywKIAkJLmRhdGEgPSBQVU5JVF9QT1dFUl9X RUxMX0RQSU9fQ01OX0JDLAotCQkub3BzID0gJnZsdl9kcGlvX3Bvd2VyX3dlbGxfb3BzLAorCQku b3BzID0gJnZsdl9kcGlvX2Ntbl9wb3dlcl93ZWxsX29wcywKIAl9LAogfTsKIAotLSAKMS44LjUu NQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK