From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 02/12] drm/i915: Read PSR caps/intermediate freqs/etc. only once on eDP Date: Thu, 28 Jul 2016 17:50:38 +0300 Message-ID: <1469717448-4297-3-git-send-email-ville.syrjala@linux.intel.com> References: <1469717448-4297-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 1D1276E127 for ; Thu, 28 Jul 2016 14:50:57 +0000 (UTC) In-Reply-To: <1469717448-4297-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkN1 cnJlbnRseSB3ZSByZS1yZWFkIGEgYnVuY2ggb2Ygc3RhdGljIGVEUCBwYW5lbCBjYXBzIGZyb20g dGhlIERQQ0QKb3ZlciBhbmQgb3ZlciBhZ2Fpbi4gTGV0J3MgZG8gaXQgb25seSBvbmNlIHRvIHNh dmUgc29tZSB0aW1lIGFuZCBlZmZvcnQuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMgfCAxMjEgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDFmZTliYjc0NWRlNS4uOGMzOGUzNDgzOTg5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTMzOTQsMTIgKzMzOTQsNzAgQEAgaW50ZWxfZHBfbGlu a19kb3duKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaW50ZWxfZHAtPkRQID0gRFA7CiB9 CiAKK3N0YXRpYyB2b2lkCitpbnRlbF9lZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQorCQl0b19pOTE1 KGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZS5iYXNlLmRldik7CisKKwkvKiBDaGVjayBp ZiB0aGUgcGFuZWwgc3VwcG9ydHMgUFNSICovCisJZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAt PmF1eCwgRFBfUFNSX1NVUFBPUlQsCisJCQkgaW50ZWxfZHAtPnBzcl9kcGNkLAorCQkJIHNpemVv ZihpbnRlbF9kcC0+cHNyX2RwY2QpKTsKKwlpZiAoaW50ZWxfZHAtPnBzcl9kcGNkWzBdICYgRFBf UFNSX0lTX1NVUFBPUlRFRCkgeworCQlkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7 CisJCURSTV9ERUJVR19LTVMoIkRldGVjdGVkIEVEUCBQU1IgUGFuZWwuXG4iKTsKKwl9CisKKwlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ICYmCisJICAgIChpbnRlbF9kcC0+cHNyX2RwY2Rb MF0gJiBEUF9QU1IyX0lTX1NVUFBPUlRFRCkpIHsKKwkJdWludDhfdCBmcmFtZV9zeW5jX2NhcDsK KworCQlkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7CisJCWRybV9kcF9kcGNkX3Jl YWQoJmludGVsX2RwLT5hdXgsCisJCQkJIERQX1NJTktfREVWSUNFX0FVWF9GUkFNRV9TWU5DX0NB UCwKKwkJCQkgJmZyYW1lX3N5bmNfY2FwLCAxKTsKKwkJZGV2X3ByaXYtPnBzci5hdXhfZnJhbWVf c3luYyA9IGZyYW1lX3N5bmNfY2FwID8gdHJ1ZSA6IGZhbHNlOworCQkvKiBQU1IyIG5lZWRzIGZy YW1lIHN5bmMgYXMgd2VsbCAqLworCQlkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCA9IGRldl9w cml2LT5wc3IuYXV4X2ZyYW1lX3N5bmM7CisJCURSTV9ERUJVR19LTVMoIlBTUjIgJXMgb24gc2lu ayIsCisJCQkgICAgICBkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCA/ICJzdXBwb3J0ZWQiIDog Im5vdCBzdXBwb3J0ZWQiKTsKKwl9CisKKwkvKiBSZWFkIHRoZSBlRFAgRGlzcGxheSBjb250cm9s IGNhcGFiaWxpdGllcyByZWdpc3RlcnMgKi8KKwlpZiAoKGludGVsX2RwLT5kcGNkW0RQX0VEUF9D T05GSUdVUkFUSU9OX0NBUF0gJiBEUF9EUENEX0RJU1BMQVlfQ09OVFJPTF9DQVBBQkxFKSAmJgor CSAgICBkcm1fZHBfZHBjZF9yZWFkKCZpbnRlbF9kcC0+YXV4LCBEUF9FRFBfRFBDRF9SRVYsCisJ CQkgICAgIGludGVsX2RwLT5lZHBfZHBjZCwgc2l6ZW9mKGludGVsX2RwLT5lZHBfZHBjZCkgPT0K KwkJCSAgICAgc2l6ZW9mKGludGVsX2RwLT5lZHBfZHBjZCkpKQorCQlEUk1fREVCVUdfS01TKCJF RFAgRFBDRCA6ICUqcGhcbiIsIChpbnQpIHNpemVvZihpbnRlbF9kcC0+ZWRwX2RwY2QpLAorCQkJ ICAgICAgaW50ZWxfZHAtPmVkcF9kcGNkKTsKKworCS8qIEludGVybWVkaWF0ZSBmcmVxdWVuY3kg c3VwcG9ydCAqLworCWlmIChpbnRlbF9kcC0+ZWRwX2RwY2RbMF0gPj0gMHgwMykgeyAvKiBlRHAg djEuNCBvciBoaWdoZXIgKi8KKwkJX19sZTE2IHNpbmtfcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9S QVRFU107CisJCWludCBpOworCisJCWRybV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIERQ X1NVUFBPUlRFRF9MSU5LX1JBVEVTLAorCQkJCXNpbmtfcmF0ZXMsIHNpemVvZihzaW5rX3JhdGVz KSk7CisKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2lua19yYXRlcyk7IGkrKykgewor CQkJaW50IHZhbCA9IGxlMTZfdG9fY3B1KHNpbmtfcmF0ZXNbaV0pOworCisJCQlpZiAodmFsID09 IDApCisJCQkJYnJlYWs7CisKKwkJCS8qIFZhbHVlIHJlYWQgaXMgaW4ga0h6IHdoaWxlIGRybSBj bG9jayBpcyBzYXZlZCBpbiBkZWNhLWtIeiAqLworCQkJaW50ZWxfZHAtPnNpbmtfcmF0ZXNbaV0g PSAodmFsICogMjAwKSAvIDEwOworCQl9CisJCWludGVsX2RwLT5udW1fc2lua19yYXRlcyA9IGk7 CisJfQorfQorCiBzdGF0aWMgYm9vbAogaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRw X3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGlnX3Bv cnQtPmJhc2UuYmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShkZXYpOworCWJvb2wgaW5pdF9lZHBfZHBjZCA9IGlzX2VkcChpbnRlbF9kcCkgJiYK KwkJaW50ZWxfZHAtPmRwY2RbRFBfRFBDRF9SRVZdID09IDA7CiAKIAlpZiAoZHJtX2RwX2RwY2Rf cmVhZCgmaW50ZWxfZHAtPmF1eCwgMHgwMDAsIGludGVsX2RwLT5kcGNkLAogCQkJICAgICBzaXpl b2YoaW50ZWxfZHAtPmRwY2QpKSA8IDApCkBAIC0zNDMxLDY2ICszNDg5LDEzIEBAIGludGVsX2Rw X2dldF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaWYgKCFpc19lZHAoaW50ZWxf ZHApICYmICFpbnRlbF9kcC0+c2lua19jb3VudCkKIAkJcmV0dXJuIGZhbHNlOwogCi0JLyogQ2hl Y2sgaWYgdGhlIHBhbmVsIHN1cHBvcnRzIFBTUiAqLwotCW1lbXNldChpbnRlbF9kcC0+cHNyX2Rw Y2QsIDAsIHNpemVvZihpbnRlbF9kcC0+cHNyX2RwY2QpKTsKLQlpZiAoaXNfZWRwKGludGVsX2Rw KSkgewotCQlkcm1fZHBfZHBjZF9yZWFkKCZpbnRlbF9kcC0+YXV4LCBEUF9QU1JfU1VQUE9SVCwK LQkJCQkgaW50ZWxfZHAtPnBzcl9kcGNkLAotCQkJCSBzaXplb2YoaW50ZWxfZHAtPnBzcl9kcGNk KSk7Ci0JCWlmIChpbnRlbF9kcC0+cHNyX2RwY2RbMF0gJiBEUF9QU1JfSVNfU1VQUE9SVEVEKSB7 Ci0JCQlkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7Ci0JCQlEUk1fREVCVUdfS01T KCJEZXRlY3RlZCBFRFAgUFNSIFBhbmVsLlxuIik7Ci0JCX0KLQotCQlpZiAoSU5URUxfSU5GTyhk ZXYpLT5nZW4gPj0gOSAmJgotCQkJKGludGVsX2RwLT5wc3JfZHBjZFswXSAmIERQX1BTUjJfSVNf U1VQUE9SVEVEKSkgewotCQkJdWludDhfdCBmcmFtZV9zeW5jX2NhcDsKLQotCQkJZGV2X3ByaXYt PnBzci5zaW5rX3N1cHBvcnQgPSB0cnVlOwotCQkJZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAt PmF1eCwKLQkJCQkJIERQX1NJTktfREVWSUNFX0FVWF9GUkFNRV9TWU5DX0NBUCwKLQkJCQkJICZm cmFtZV9zeW5jX2NhcCwgMSk7Ci0JCQlkZXZfcHJpdi0+cHNyLmF1eF9mcmFtZV9zeW5jID0gZnJh bWVfc3luY19jYXAgPyB0cnVlIDogZmFsc2U7Ci0JCQkvKiBQU1IyIG5lZWRzIGZyYW1lIHN5bmMg YXMgd2VsbCAqLwotCQkJZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQgPSBkZXZfcHJpdi0+cHNy LmF1eF9mcmFtZV9zeW5jOwotCQkJRFJNX0RFQlVHX0tNUygiUFNSMiAlcyBvbiBzaW5rIiwKLQkJ CQlkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCA/ICJzdXBwb3J0ZWQiIDogIm5vdCBzdXBwb3J0 ZWQiKTsKLQkJfQotCi0JCS8qIFJlYWQgdGhlIGVEUCBEaXNwbGF5IGNvbnRyb2wgY2FwYWJpbGl0 aWVzIHJlZ2lzdGVycyAqLwotCQltZW1zZXQoaW50ZWxfZHAtPmVkcF9kcGNkLCAwLCBzaXplb2Yo aW50ZWxfZHAtPmVkcF9kcGNkKSk7Ci0JCWlmICgoaW50ZWxfZHAtPmRwY2RbRFBfRURQX0NPTkZJ R1VSQVRJT05fQ0FQXSAmIERQX0RQQ0RfRElTUExBWV9DT05UUk9MX0NBUEFCTEUpICYmCi0JCQkJ KGRybV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIERQX0VEUF9EUENEX1JFViwKLQkJCQkJ CWludGVsX2RwLT5lZHBfZHBjZCwgc2l6ZW9mKGludGVsX2RwLT5lZHBfZHBjZCkpID09Ci0JCQkJ CQkJCXNpemVvZihpbnRlbF9kcC0+ZWRwX2RwY2QpKSkKLQkJCURSTV9ERUJVR19LTVMoIkVEUCBE UENEIDogJSpwaFxuIiwgKGludCkgc2l6ZW9mKGludGVsX2RwLT5lZHBfZHBjZCksCi0JCQkJCWlu dGVsX2RwLT5lZHBfZHBjZCk7Ci0JfQorCWlmIChpbml0X2VkcF9kcGNkKQorCQlpbnRlbF9lZHBf Z2V0X2RwY2QoaW50ZWxfZHApOwogCiAJRFJNX0RFQlVHX0tNUygiRGlzcGxheSBQb3J0IFRQUzMg c3VwcG9ydDogc291cmNlICVzLCBzaW5rICVzXG4iLAogCQkgICAgICB5ZXNubyhpbnRlbF9kcF9z b3VyY2Vfc3VwcG9ydHNfaGJyMihpbnRlbF9kcCkpLAogCQkgICAgICB5ZXNubyhkcm1fZHBfdHBz M19zdXBwb3J0ZWQoaW50ZWxfZHAtPmRwY2QpKSk7CiAKLQkvKiBJbnRlcm1lZGlhdGUgZnJlcXVl bmN5IHN1cHBvcnQgKi8KLQlpZiAoaXNfZWRwKGludGVsX2RwKSAmJiAoaW50ZWxfZHAtPmVkcF9k cGNkWzBdID49IDB4MDMpKSB7IC8qIGVEcCB2MS40IG9yIGhpZ2hlciAqLwotCQlfX2xlMTYgc2lu a19yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXTsKLQkJaW50IGk7Ci0KLQkJZHJtX2RwX2Rw Y2RfcmVhZCgmaW50ZWxfZHAtPmF1eCwgRFBfU1VQUE9SVEVEX0xJTktfUkFURVMsCi0JCQkJc2lu a19yYXRlcywgc2l6ZW9mKHNpbmtfcmF0ZXMpKTsKLQotCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlf U0laRShzaW5rX3JhdGVzKTsgaSsrKSB7Ci0JCQlpbnQgdmFsID0gbGUxNl90b19jcHUoc2lua19y YXRlc1tpXSk7Ci0KLQkJCWlmICh2YWwgPT0gMCkKLQkJCQlicmVhazsKLQotCQkJLyogVmFsdWUg cmVhZCBpcyBpbiBrSHogd2hpbGUgZHJtIGNsb2NrIGlzIHNhdmVkIGluIGRlY2Eta0h6ICovCi0J CQlpbnRlbF9kcC0+c2lua19yYXRlc1tpXSA9ICh2YWwgKiAyMDApIC8gMTA7Ci0JCX0KLQkJaW50 ZWxfZHAtPm51bV9zaW5rX3JhdGVzID0gaTsKLQl9Ci0KIAlpbnRlbF9kcF9wcmludF9yYXRlcyhp bnRlbF9kcCk7CiAKIAlpZiAoIShpbnRlbF9kcC0+ZHBjZFtEUF9ET1dOU1RSRUFNUE9SVF9QUkVT RU5UXSAmCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==