From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH] drm/i915/icl: push pll to port mapping/unmapping to ddi encoder hooks Date: Thu, 29 Nov 2018 13:57:15 +0200 Message-ID: <20181129115715.9152-1-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 292946E4EE for ; Thu, 29 Nov 2018 11:56:54 +0000 (UTC) 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: jani.nikula@intel.com, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org VW5jbHV0dGVyIHRoZSBoYXN3ZWxsX2NydGNfZW5hYmxlKCkgYW5kIGhhc3dlbGxfY3J0Y19kaXNh YmxlKCkgZnVuY3Rpb25zCmEgYml0IGJ5IG1vdmluZyB0aGUgcGxsIHRvIHBvcnQgbWFwcGluZyBh bmQgdW5tYXBwaW5nIGZ1bmN0aW9ucyB0byB0aGUKZGRpIGVuY29kZXIgaG9va3MuIFRoaXMgYWxs b3dzIHJlbW92YWwgb2YgYSBidW5jaCBvZiBib2lsZXJwbGF0ZSBjb2RlCmZyb20gdGhlIGZ1bmN0 aW9ucy4KCkFkZGl0aW9uYWxseSwgdGhlIElDTCBEU0kgZW5jb2RlciBuZWVkcyB0byBkbyB0aGUg Y2xvY2sgZ2F0aW5nIGFuZAp1bmdhdGluZyBzbGlnaHRseSBkaWZmZXJlbnRseSwgYW5kIHRoaXMg YWxsb3dzIGl0cyBvd24gaGFuZGxpbmcgaW4gYQpjbGVhbiBmYXNoaW9uLgoKQ2M6IE1hZGhhdiBD aGF1aGFuIDxtYWRoYXYuY2hhdWhhbkBpbnRlbC5jb20+CkNjOiBQYXVsbyBaYW5vbmkgPHBhdWxv LnIuemFub25pQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwgODQg KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgfCAgNiAtLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oICAgICB8ICA2IC0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA2MiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IGFkMTE1NDBhYzQzNi4u N2JhZDZjODU3YjgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwpAQCAtMjc4NSw2OSArMjc4 NSw0NSBAQCB1aW50MzJfdCBpY2xfZHBjbGthX2NmZ2NyMF9jbGtfb2ZmKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCBpY2xfbWFwX3BsbHNf dG9fcG9ydHMoc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQkJICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCi0JCQkgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0 YXRlKQorc3RhdGljIHZvaWQgaWNsX21hcF9wbGxzX3RvX3BvcnRzKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAorCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShl bmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBjcnRj X3N0YXRlLT5zaGFyZWRfZHBsbDsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNydGMtPmRldik7Ci0Jc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5f c3RhdGU7Ci0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm47Ci0JaW50IGk7Ci0KLQlmb3JfZWFj aF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKG9sZF9zdGF0ZSwgY29ubiwgY29ubl9zdGF0ZSwgaSkg ewotCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9Ci0JCQl0b19pbnRlbF9lbmNvZGVy KGNvbm5fc3RhdGUtPmJlc3RfZW5jb2Rlcik7Ci0JCWVudW0gcG9ydCBwb3J0OwotCQl1aW50MzJf dCB2YWw7Ci0KLQkJaWYgKGNvbm5fc3RhdGUtPmNydGMgIT0gY3J0YykKLQkJCWNvbnRpbnVlOwot Ci0JCXBvcnQgPSBlbmNvZGVyLT5wb3J0OwotCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHBsbF9s b2NrKTsKKwllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CisJdTMyIHZhbDsKIAotCQl2 YWwgPSBJOTE1X1JFQUQoRFBDTEtBX0NGR0NSMF9JQ0wpOwotCQlXQVJOX09OKCh2YWwgJiBpY2xf ZHBjbGthX2NmZ2NyMF9jbGtfb2ZmKGRldl9wcml2LCBwb3J0KSkgPT0gMCk7CisJbXV0ZXhfbG9j aygmZGV2X3ByaXYtPmRwbGxfbG9jayk7CiAKLQkJaWYgKGludGVsX3BvcnRfaXNfY29tYm9waHko ZGV2X3ByaXYsIHBvcnQpKSB7Ci0JCQl2YWwgJj0gfkRQQ0xLQV9DRkdDUjBfRERJX0NMS19TRUxf TUFTSyhwb3J0KTsKLQkJCXZhbCB8PSBEUENMS0FfQ0ZHQ1IwX0RESV9DTEtfU0VMKHBsbC0+aW5m by0+aWQsIHBvcnQpOwotCQkJSTkxNV9XUklURShEUENMS0FfQ0ZHQ1IwX0lDTCwgdmFsKTsKLQkJ CVBPU1RJTkdfUkVBRChEUENMS0FfQ0ZHQ1IwX0lDTCk7Ci0JCX0KKwl2YWwgPSBJOTE1X1JFQUQo RFBDTEtBX0NGR0NSMF9JQ0wpOworCVdBUk5fT04oKHZhbCAmIGljbF9kcGNsa2FfY2ZnY3IwX2Ns a19vZmYoZGV2X3ByaXYsIHBvcnQpKSA9PSAwKTsKIAotCQl2YWwgJj0gfmljbF9kcGNsa2FfY2Zn Y3IwX2Nsa19vZmYoZGV2X3ByaXYsIHBvcnQpOworCWlmIChpbnRlbF9wb3J0X2lzX2NvbWJvcGh5 KGRldl9wcml2LCBwb3J0KSkgeworCQl2YWwgJj0gfkRQQ0xLQV9DRkdDUjBfRERJX0NMS19TRUxf TUFTSyhwb3J0KTsKKwkJdmFsIHw9IERQQ0xLQV9DRkdDUjBfRERJX0NMS19TRUwocGxsLT5pbmZv LT5pZCwgcG9ydCk7CiAJCUk5MTVfV1JJVEUoRFBDTEtBX0NGR0NSMF9JQ0wsIHZhbCk7Ci0KLQkJ bXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHBsbF9sb2NrKTsKKwkJUE9TVElOR19SRUFEKERQQ0xL QV9DRkdDUjBfSUNMKTsKIAl9CisKKwl2YWwgJj0gfmljbF9kcGNsa2FfY2ZnY3IwX2Nsa19vZmYo ZGV2X3ByaXYsIHBvcnQpOworCUk5MTVfV1JJVEUoRFBDTEtBX0NGR0NSMF9JQ0wsIHZhbCk7CisK KwltdXRleF91bmxvY2soJmRldl9wcml2LT5kcGxsX2xvY2spOwogfQogCi12b2lkIGljbF91bm1h cF9wbGxzX3RvX3BvcnRzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCSAgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCi0JCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpvbGRfc3RhdGUpCitzdGF0aWMgdm9pZCBpY2xfdW5tYXBfcGxsc190b19wb3J0cyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7Ci0Jc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKm9sZF9jb25uX3N0YXRlOwotCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwotCWludCBp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ YmFzZS5kZXYpOworCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKKwl1MzIgdmFsOwog Ci0JZm9yX2VhY2hfb2xkX2Nvbm5lY3Rvcl9pbl9zdGF0ZShvbGRfc3RhdGUsIGNvbm4sIG9sZF9j b25uX3N0YXRlLCBpKSB7Ci0JCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0KLQkJCXRv X2ludGVsX2VuY29kZXIob2xkX2Nvbm5fc3RhdGUtPmJlc3RfZW5jb2Rlcik7Ci0JCWVudW0gcG9y dCBwb3J0OworCW11dGV4X2xvY2soJmRldl9wcml2LT5kcGxsX2xvY2spOwogCi0JCWlmIChvbGRf Y29ubl9zdGF0ZS0+Y3J0YyAhPSBjcnRjKQotCQkJY29udGludWU7CisJdmFsID0gSTkxNV9SRUFE KERQQ0xLQV9DRkdDUjBfSUNMKTsKKwl2YWwgfD0gaWNsX2RwY2xrYV9jZmdjcjBfY2xrX29mZihk ZXZfcHJpdiwgcG9ydCk7CisJSTkxNV9XUklURShEUENMS0FfQ0ZHQ1IwX0lDTCwgdmFsKTsKIAot CQlwb3J0ID0gZW5jb2Rlci0+cG9ydDsKLQkJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRwbGxfbG9j ayk7Ci0JCUk5MTVfV1JJVEUoRFBDTEtBX0NGR0NSMF9JQ0wsCi0JCQkgICBJOTE1X1JFQUQoRFBD TEtBX0NGR0NSMF9JQ0wpIHwKLQkJCSAgIGljbF9kcGNsa2FfY2ZnY3IwX2Nsa19vZmYoZGV2X3By aXYsIHBvcnQpKTsKLQkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHBsbF9sb2NrKTsKLQl9CisJ bXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHBsbF9sb2NrKTsKIH0KIAogdm9pZCBpY2xfc2FuaXRp emVfZW5jb2Rlcl9wbGxfbWFwcGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKQEAg LTMyMDgsNiArMzE4NCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJV0FSTl9PTihjcnRjX3N0YXRlLT5oYXNfcGNo X2VuY29kZXIpOwogCisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCisJCWljbF9tYXBf cGxsc190b19wb3J0cyhlbmNvZGVyLCBjcnRjX3N0YXRlKTsKKwogCWludGVsX3NldF9jcHVfZmlm b191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIHRydWUpOwogCiAJaWYgKGludGVs X2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0hETUkpKSB7CkBAIC0zMzA2 LDYgKzMyODUsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisKIAkvKgogCSAqIFdoZW4gY2FsbGVk IGZyb20gRFAgTVNUIGNvZGU6CiAJICogLSBvbGRfY29ubl9zdGF0ZSB3aWxsIGJlIE5VTEwKQEAg LTMzMjUsNiArMzMwNiw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJZWxzZQogCQlpbnRlbF9kZGlfcG9zdF9kaXNh YmxlX2RwKGVuY29kZXIsCiAJCQkJCSAgb2xkX2NydGNfc3RhdGUsIG9sZF9jb25uX3N0YXRlKTsK KworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQorCQlpY2xfdW5tYXBfcGxsc190b19w b3J0cyhlbmNvZGVyKTsKIH0KIAogdm9pZCBpbnRlbF9kZGlfZmRpX3Bvc3RfZGlzYWJsZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwppbmRleCBkMDdmYTQ0NTYxNTAuLjU1OWRiOThiNWE0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwpAQCAtNTcwNCw5ICs1NzA0LDYgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9j cnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJaWYgKHBp cGVfY29uZmlnLT5zaGFyZWRfZHBsbCkKIAkJaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKHBpcGVf Y29uZmlnKTsKIAotCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQotCQlpY2xfbWFwX3Bs bHNfdG9fcG9ydHMoY3J0YywgcGlwZV9jb25maWcsIG9sZF9zdGF0ZSk7Ci0KIAlpbnRlbF9lbmNv ZGVyc19wcmVfZW5hYmxlKGNydGMsIHBpcGVfY29uZmlnLCBvbGRfc3RhdGUpOwogCiAJaWYgKGlu dGVsX2NydGNfaGFzX2RwX2VuY29kZXIocGlwZV9jb25maWcpKQpAQCAtNTkwOCw5ICs1OTA1LDYg QEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlLAogCiAJaW50ZWxfZW5jb2RlcnNfcG9zdF9kaXNhYmxlKGNydGMs IG9sZF9jcnRjX3N0YXRlLCBvbGRfc3RhdGUpOwogCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gMTEpCi0JCWljbF91bm1hcF9wbGxzX3RvX3BvcnRzKGNydGMsIG9sZF9jcnRjX3N0YXRlLCBv bGRfc3RhdGUpOwotCiAJaW50ZWxfZW5jb2RlcnNfcG9zdF9wbGxfZGlzYWJsZShjcnRjLCBvbGRf Y3J0Y19zdGF0ZSwgb2xkX3N0YXRlKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRl eCA0MGVkYjIxMDg3YTcuLjkwMThiZTIxNzFlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK QEAgLTE1MjIsMTIgKzE1MjIsNiBAQCB1OCBpbnRlbF9kZGlfZHBfcHJlX2VtcGhhc2lzX21heChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgdTggdm9sdGFnZV9zd2luZyk7CiBp bnQgaW50ZWxfZGRpX3RvZ2dsZV9oZGNwX3NpZ25hbGxpbmcoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIsCiAJCQkJICAgICBib29sIGVuYWJsZSk7Ci12b2lkIGljbF9tYXBfcGxs c190b19wb3J0cyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJCSAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRf c3RhdGUpOwotdm9pZCBpY2xfdW5tYXBfcGxsc190b19wb3J0cyhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCi0JCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkJICAg ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKTsKIHZvaWQgaWNsX3Nhbml0aXpl X2VuY29kZXJfcGxsX21hcHBpbmcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwogCiB1 bnNpZ25lZCBpbnQgaW50ZWxfZmJfYWxpZ25faGVpZ2h0KGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiLAotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK