From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [PATCH 5/5] drm/i915: allow shared plls to be non-consecutive Date: Thu, 17 Jan 2019 12:21:13 -0800 Message-ID: <20190117202113.5190-6-lucas.demarchi@intel.com> References: <20190117202113.5190-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 984E96F56A for ; Thu, 17 Jan 2019 20:21:26 +0000 (UTC) In-Reply-To: <20190117202113.5190-1-lucas.demarchi@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: Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org UmlnaHQgbm93IHdoZW4gc2VhcmNoaW5nIGZvciBzaGFyZWQgcGxscyB3ZSBtYW5kYXRlIHRoYXQg dGhleSBoYXZlCmNvbnNlY3V0aXZlIElEcyBzaW5jZSB3ZSBqdXN0IHBhc3MgdGhlIG1pbiBhbmQg bWF4IGlkIGFuZCBsb29wIG92ZXIgdGhlCnJhbmdlLiBIb3dldmVyIHRoZSBJRHMgY2FuJ3QgYmUg YXJiaXRyYXJpbHkgZGVmaW5lZCBzaW5jZSB0aGV5IGFyZSB1c2VkCmFzIGluZGV4IHRvIHRoZSBN TUlPIGFkZHJlc3MsIGhlbmNlIGRlcGVuZGVudCBvbiB3aGF0IHRoZSBoYXJkd2FyZQppbXBsZW1l bnRzLgoKVGhpcyBhbGxvd3MgdXMgdG8gdXNlIFBMTHMgdGhhdCBhcmUgbm90IGNvbnNlY3V0aXZl IChhbHRob3VnaCB3ZSBkb24ndApjdXJyZW50bHkgaGF2ZSBhbnkgY2FzZSkgd2hpbGUgY2xhcmlm eWluZyB0aGUgY29kZSBwYXRocyBpbiB3aGljaCBvbmx5Cm9uZSBQTEwgaXMgc3VwcG9zZWQgdG8g YmUgdXNlZC4KClNpZ25lZC1vZmYtYnk6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlA aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgfCA0 MSArKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRp b25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3Iu YwppbmRleCA4ZjcwODM4YWM3ZDguLjEwM2U0MmNmYTJlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcGxsX21nci5jCkBAIC0yNDMsOCArMjQzLDcgQEAgdm9pZCBpbnRlbF9kaXNhYmxlX3No YXJlZF9kcGxsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogc3Rh dGljIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqCiBpbnRlbF9maW5kX3NoYXJlZF9kcGxsKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCi0JCSAgICAgICBlbnVtIGludGVsX2RwbGxfaWQgcmFuZ2VfbWluLAotCQkg ICAgICAgZW51bSBpbnRlbF9kcGxsX2lkIHJhbmdlX21heCkKKwkJICAgICAgIHVuc2lnbmVkIGxv bmcgcGxsX21hc2spCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwsICp1 bnVzZWRfcGxsID0gTlVMTDsKQEAgLTI1Myw3ICsyNTIsNyBAQCBpbnRlbF9maW5kX3NoYXJlZF9k cGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiAJc2hhcmVkX2RwbGwgPSBpbnRlbF9hdG9t aWNfZ2V0X3NoYXJlZF9kcGxsX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUpOwogCi0JZm9y IChpID0gcmFuZ2VfbWluOyBpIDw9IHJhbmdlX21heDsgaSsrKSB7CisJZm9yX2VhY2hfc2V0X2Jp dChpLCAmcGxsX21hc2ssIEk5MTVfTlVNX1BMTFMpIHsKIAkJcGxsID0gJmRldl9wcml2LT5zaGFy ZWRfZHBsbHNbaV07CiAKIAkJLyogT25seSB3YW50IHRvIGNoZWNrIGVuYWJsZWQgdGltaW5ncyBm aXJzdCAqLwpAQCAtNDM2LDggKzQzNSw4IEBAIGlieF9nZXRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0Yywgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgICBw bGwtPmluZm8tPm5hbWUpOwogCX0gZWxzZSB7CiAJCXBsbCA9IGludGVsX2ZpbmRfc2hhcmVkX2Rw bGwoY3J0YywgY3J0Y19zdGF0ZSwKLQkJCQkJICAgICBEUExMX0lEX1BDSF9QTExfQSwKLQkJCQkJ ICAgICBEUExMX0lEX1BDSF9QTExfQik7CisJCQkJCSAgICAgR0VOTUFTSyhEUExMX0lEX1BDSF9Q TExfQiwKKwkJCQkJCSAgICAgRFBMTF9JRF9QQ0hfUExMX0EpKTsKIAl9CiAKIAlpZiAoIXBsbCkK QEAgLTc4MCw3ICs3NzksNyBAQCBzdGF0aWMgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpoc3df ZGRpX2hkbWlfZ2V0X2RwbGwoaW50IGNsb2NrLAogCWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUu d3JwbGwgPSB2YWw7CiAKIAlwbGwgPSBpbnRlbF9maW5kX3NoYXJlZF9kcGxsKGNydGMsIGNydGNf c3RhdGUsCi0JCQkJICAgICBEUExMX0lEX1dSUExMMSwgRFBMTF9JRF9XUlBMTDIpOworCQkJCSAg ICAgR0VOTUFTSyhEUExMX0lEX1dSUExMMiwgRFBMTF9JRF9XUlBMTDEpKTsKIAogCWlmICghcGxs KQogCQlyZXR1cm4gTlVMTDsKQEAgLTg0MCw3ICs4MzksNyBAQCBoc3dfZ2V0X2RwbGwoc3RydWN0 IGludGVsX2NydGMgKmNydGMsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAog CQkJU1BMTF9QTExfRU5BQkxFIHwgU1BMTF9QTExfRlJFUV8xMzUwTUh6IHwgU1BMTF9QTExfU1ND OwogCiAJCXBsbCA9IGludGVsX2ZpbmRfc2hhcmVkX2RwbGwoY3J0YywgY3J0Y19zdGF0ZSwKLQkJ CQkJICAgICBEUExMX0lEX1NQTEwsIERQTExfSURfU1BMTCk7CisJCQkJCSAgICAgQklUKERQTExf SURfU1BMTCkpOwogCX0gZWxzZSB7CiAJCXJldHVybiBOVUxMOwogCX0KQEAgLTEzODksNiArMTM4 OCw3IEBAIHNrbF9nZXRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yywgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJaW50IGNsb2NrID0gY3J0Y19zdGF0ZS0+cG9ydF9j bG9jazsKIAlib29sIGJyZXQ7CiAJc3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgZHBsbF9od19z dGF0ZTsKKwl1bnNpZ25lZCBsb25nIHBsbF9tYXNrOwogCiAJbWVtc2V0KCZkcGxsX2h3X3N0YXRl LCAwLCBzaXplb2YoZHBsbF9od19zdGF0ZSkpOwogCkBAIC0xNDEwLDEzICsxNDEwLDExIEBAIHNr bF9nZXRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yywgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJfQogCiAJaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0 ZSwgSU5URUxfT1VUUFVUX0VEUCkpCi0JCXBsbCA9IGludGVsX2ZpbmRfc2hhcmVkX2RwbGwoY3J0 YywgY3J0Y19zdGF0ZSwKLQkJCQkJICAgICBEUExMX0lEX1NLTF9EUExMMCwKLQkJCQkJICAgICBE UExMX0lEX1NLTF9EUExMMCk7CisJCXBsbF9tYXNrID0gQklUKERQTExfSURfU0tMX0RQTEwwKTsK IAllbHNlCi0JCXBsbCA9IGludGVsX2ZpbmRfc2hhcmVkX2RwbGwoY3J0YywgY3J0Y19zdGF0ZSwK LQkJCQkJICAgICBEUExMX0lEX1NLTF9EUExMMSwKLQkJCQkJICAgICBEUExMX0lEX1NLTF9EUExM Myk7CisJCXBsbF9tYXNrID0gR0VOTUFTSyhEUExMX0lEX1NLTF9EUExMMywgRFBMTF9JRF9TS0xf RFBMTDEpOworCisJcGxsID0gaW50ZWxfZmluZF9zaGFyZWRfZHBsbChjcnRjLCBjcnRjX3N0YXRl LCBwbGxfbWFzayk7CiAJaWYgKCFwbGwpCiAJCXJldHVybiBOVUxMOwogCkBAIC0yMzkwLDggKzIz ODgsOCBAQCBjbmxfZ2V0X2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCX0KIAogCXBsbCA9IGludGVsX2ZpbmRfc2hhcmVk X2RwbGwoY3J0YywgY3J0Y19zdGF0ZSwKLQkJCQkgICAgIERQTExfSURfU0tMX0RQTEwwLAotCQkJ CSAgICAgRFBMTF9JRF9TS0xfRFBMTDIpOworCQkJCSAgICAgR0VOTUFTSyhEUExMX0lEX1NLTF9E UExMMiwKKwkJCQkJICAgICBEUExMX0lEX1NLTF9EUExMMCkpOwogCWlmICghcGxsKSB7CiAJCURS TV9ERUJVR19LTVMoIk5vIFBMTCBzZWxlY3RlZFxuIik7CiAJCXJldHVybiBOVUxMOwpAQCAtMjg5 OSwxMyArMjg5NywxMiBAQCBpY2xfZ2V0X2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCXN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbCAqcGxsOwogCXN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlIHBsbF9zdGF0ZSA9IHt9Owog CWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKLQllbnVtIGludGVsX2RwbGxfaWQgbWlu LCBtYXg7CisJdW5zaWduZWQgbG9uZyBwbGxfbWFzazsKIAlpbnQgY2xvY2sgPSBjcnRjX3N0YXRl LT5wb3J0X2Nsb2NrOwogCWJvb2wgcmV0OwogCiAJaWYgKGludGVsX3BvcnRfaXNfY29tYm9waHko ZGV2X3ByaXYsIHBvcnQpKSB7Ci0JCW1pbiA9IERQTExfSURfSUNMX0RQTEwwOwotCQltYXggPSBE UExMX0lEX0lDTF9EUExMMTsKKwkJcGxsX21hc2sgPSBHRU5NQVNLKERQTExfSURfSUNMX0RQTEwx LCBEUExMX0lEX0lDTF9EUExMMCk7CiAJCXJldCA9IGljbF9jYWxjX2RwbGxfc3RhdGUoY3J0Y19z dGF0ZSwgZW5jb2RlciwgY2xvY2ssCiAJCQkJCSAgJnBsbF9zdGF0ZSk7CiAJfSBlbHNlIGlmIChp bnRlbF9wb3J0X2lzX3RjKGRldl9wcml2LCBwb3J0KSkgewpAQCAtMjkxOSwxNiArMjkxNiwxNCBA QCBpY2xfZ2V0X2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAogCQl9CiAKIAkJaWYgKGludGVsX2RpZ19wb3J0LT50Y190eXBl ID09IFRDX1BPUlRfVEJUKSB7Ci0JCQltaW4gPSBEUExMX0lEX0lDTF9UQlRQTEw7Ci0JCQltYXgg PSBtaW47CisJCQlwbGxfbWFzayA9IEJJVChEUExMX0lEX0lDTF9UQlRQTEwpOwogCQkJcmV0ID0g aWNsX2NhbGNfZHBsbF9zdGF0ZShjcnRjX3N0YXRlLCBlbmNvZGVyLCBjbG9jaywKIAkJCQkJCSAg JnBsbF9zdGF0ZSk7CiAJCX0gZWxzZSB7CiAJCQllbnVtIHRjX3BvcnQgdGNfcG9ydDsKIAogCQkJ dGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIHBvcnQpOwotCQkJbWluID0gaWNs X3RjX3BvcnRfdG9fcGxsX2lkKHRjX3BvcnQpOwotCQkJbWF4ID0gbWluOworCQkJcGxsX21hc2sg PSBCSVQoaWNsX3RjX3BvcnRfdG9fcGxsX2lkKHRjX3BvcnQpKTsKIAkJCXJldCA9IGljbF9jYWxj X21nX3BsbF9zdGF0ZShjcnRjX3N0YXRlLCBlbmNvZGVyLCBjbG9jaywKIAkJCQkJCSAgICAmcGxs X3N0YXRlKTsKIAkJfQpAQCAtMjk0NCw3ICsyOTM5LDcgQEAgaWNsX2dldF9kcGxsKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAog CWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUgPSBwbGxfc3RhdGU7CiAKLQlwbGwgPSBpbnRlbF9m aW5kX3NoYXJlZF9kcGxsKGNydGMsIGNydGNfc3RhdGUsIG1pbiwgbWF4KTsKKwlwbGwgPSBpbnRl bF9maW5kX3NoYXJlZF9kcGxsKGNydGMsIGNydGNfc3RhdGUsIHBsbF9tYXNrKTsKIAlpZiAoIXBs bCkgewogCQlEUk1fREVCVUdfS01TKCJObyBQTEwgc2VsZWN0ZWRcbiIpOwogCQlyZXR1cm4gTlVM TDsKLS0gCjIuMjAuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==