From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vijay Purushothaman Subject: [PATCH] drm/i915: More DPIO magic for CHV HDMI & DP Date: Fri, 30 Jan 2015 00:01:53 +0530 Message-ID: <1422556313-3198-1-git-send-email-vijay.a.purushothaman@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 316156E748 for ; Thu, 29 Jan 2015 10:23:27 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel Graphics , ville.syrjala@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGxhdGVzdCBjaGFuZ2VzIGluIEdhaW4sIGxvY2sgdGhyZXNo b2xkIGFuZCBpbnRlZ2VyCmNvLWVmZmljaWVudCB2YWx1ZXMgdXNpbmcgc2lkZWJhbmQgci93LiBX aXRob3V0IHRoZXNlIGNoYW5nZXMgdGhlcmUgd2lsbApiZSBzaWduYWwgaW50ZWdyaXR5IGlzc3Vl cyBmb3IgYm90aCBIRE1JIGFuZCBEUC4KCkNoYW5nZS1JZDogSTdiNzE1MWI1YWIzYTUyYzRjOTEy Y2YxMDYwMmM2OWE3ZDFhNzAyMjIKU2lnbmVkLW9mZi1ieTogVmlqYXkgUHVydXNob3RoYW1hbiA8 dmlqYXkuYS5wdXJ1c2hvdGhhbWFuQGxpbnV4LmludGVsLmNvbT4KVGVzdGVkLWJ5OiBIb25nIExp dSA8aG9uZy5saXVAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggICAgICB8ICAgMzEgKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgICA2NyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCmluZGV4IDEzN2M1ZTAuLjJiM2YwNjUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaApAQCAtMTA0OSw2ICsxMDQ5LDM3IEBAIGVudW0gcHVuaXRfcG93ZXJfd2VsbCB7CiAj ZGVmaW5lICAgRFBJT19DSFZfUFJPUF9DT0VGRl9TSElGVAkwCiAjZGVmaW5lIENIVl9QTExfRFc2 KGNoKSBfUElQRShjaCwgX0NIVl9QTExfRFc2X0NIMCwgX0NIVl9QTExfRFc2X0NIMSkKIAorI2Rl ZmluZSBfQ0hWX1BMTF9EVzdfQ0gwCQkweDgwMWMKKyNkZWZpbmUgX0NIVl9QTExfRFc3X0NIMQkJ MHg4MDNjCisjZGVmaW5lIENIVl9QTExfRFc3KGNoKSBfUElQRShjaCwgX0NIVl9QTExfRFc3X0NI MCwgX0NIVl9QTExfRFc3X0NIMSkKKworI2RlZmluZSBfQ0hWX1BMTF9EVzhfQ0gwCQkweDgwMjAK KyNkZWZpbmUgX0NIVl9QTExfRFc4X0NIMQkJMHg4MUEwCisjZGVmaW5lIENIVl9QTExfRFc4KGNo KSBfUElQRShjaCwgX0NIVl9QTExfRFc4X0NIMCwgX0NIVl9QTExfRFc4X0NIMSkKKworI2RlZmlu ZSBfQ0hWX1BMTF9EVzlfQ0gwCQkweDgwMjQKKyNkZWZpbmUgX0NIVl9QTExfRFc5X0NIMQkJMHg4 MUE0CisjZGVmaW5lICBEUElPX0NIVl9JTlRfTE9DS19USFJFU0hPTERfU0hJRlQJCTEgLyogMyBi aXRzICovCisjZGVmaW5lICBEUElPX0NIVl9JTlRfTE9DS19USFJFU0hPTERfU0VMX0NPQVJTRQkx IC8qIDE6IGNvYXJzZSAmIDAgOiBmaW5lICAqLworI2RlZmluZSBDSFZfUExMX0RXOShjaCkgX1BJ UEUoY2gsIF9DSFZfUExMX0RXOV9DSDAsIF9DSFZfUExMX0RXOV9DSDEpCisKKyNkZWZpbmUgX0NI Vl9QTExfRFcxMF9DSDAJCTB4ODA0MAorI2RlZmluZSBfQ0hWX1BMTF9EVzEwX0NIMQkJMHg4MDYw CisjZGVmaW5lIENIVl9QTExfRFcxMChjaCkgX1BJUEUoY2gsIF9DSFZfUExMX0RXMTBfQ0gwLCBf Q0hWX1BMTF9EVzEwX0NIMSkKKworI2RlZmluZSBfQ0hWX1BMTF9EVzExX0JDQVNUCQkweEMwNDQK KyNkZWZpbmUgX0NIVl9QTExfRFcxMV9DSDAJCTB4ODA0NAorI2RlZmluZSBfQ0hWX1BMTF9EVzEx X0NIMQkJMHg4MDY0CisjZGVmaW5lIENIVl9QTExfRFcxMShjaCkgX1BJUEUoY2gsIF9DSFZfUExM X0RXMTFfQ0gwLCBfQ0hWX1BMTF9EVzExX0NIMSkKKworI2RlZmluZSBfQ0hWX1BMTF9EVzEyX0NI MAkJMHg4MDQ4CisjZGVmaW5lIF9DSFZfUExMX0RXMTJfQ0gxCQkweDgwNjgKKyNkZWZpbmUgQ0hW X1BMTF9EVzEyKGNoKSBfUElQRShjaCwgX0NIVl9QTExfRFcxMl9DSDAsIF9DSFZfUExMX0RXMTJf Q0gxKQorCisjZGVmaW5lIF9DSFZfUExMX0RXMTNfQ0gwCQkweDgwNEMKKyNkZWZpbmUgX0NIVl9Q TExfRFcxM19DSDEJCTB4ODA2QworI2RlZmluZSBDSFZfUExMX0RXMTMoY2gpIF9QSVBFKGNoLCBf Q0hWX1BMTF9EVzEzX0NIMCwgX0NIVl9QTExfRFcxM19DSDEpCisKICNkZWZpbmUgX0NIVl9DTU5f RFc1X0NIMCAgICAgICAgICAgICAgIDB4ODExNAogI2RlZmluZSAgIENIVl9CVUZSSUdIVEVOQTFf RElTQUJMRQkoMCA8PCAyMCkKICNkZWZpbmUgICBDSFZfQlVGUklHSFRFTkExX05PUk1BTAkoMSA8 PCAyMCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBjMzYyZDExZS4uZmIy N2ZhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNjU3Niw5ICs2NTc2 LDkgQEAgc3RhdGljIHZvaWQgY2h2X3VwZGF0ZV9wbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMp CiAJaW50IHBpcGUgPSBjcnRjLT5waXBlOwogCWludCBkcGxsX3JlZyA9IERQTEwoY3J0Yy0+cGlw ZSk7CiAJZW51bSBkcGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9waXBlX3RvX2NoYW5uZWwocGlwZSk7 Ci0JdTMyIGxvb3BmaWx0ZXIsIGludGNvZWZmOworCXUzMiBsb29wZmlsdGVyLCB0cmlidWZfY2Fs Y250cjsKIAl1MzIgYmVzdG4sIGJlc3RtMSwgYmVzdG0yLCBiZXN0cDEsIGJlc3RwMiwgYmVzdG0y X2ZyYWM7Ci0JaW50IHJlZmNsazsKKwlpbnQgdmNvOwogCiAJY3J0Yy0+Y29uZmlnLmRwbGxfaHdf c3RhdGUuZHBsbCA9IERQTExfU1NDX1JFRl9DTE9DS19DSFYgfAogCQlEUExMX1JFRkFfQ0xLX0VO QUJMRV9WTFYgfCBEUExMX1ZHQV9NT0RFX0RJUyB8CkBAIC02NTk1LDYgKzY1OTUsNyBAQCBzdGF0 aWMgdm9pZCBjaHZfdXBkYXRlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAliZXN0bTIg PSBjcnRjLT5jb25maWcuZHBsbC5tMiA+PiAyMjsKIAliZXN0cDEgPSBjcnRjLT5jb25maWcuZHBs bC5wMTsKIAliZXN0cDIgPSBjcnRjLT5jb25maWcuZHBsbC5wMjsKKwl2Y28gPSBjcnRjLT5jb25m aWcuZHBsbC52Y287CiAKIAkvKgogCSAqIEVuYWJsZSBSZWZjbGsgYW5kIFNTQwpAQCAtNjYxOSwz MSArNjYyMCw1OSBAQCBzdGF0aWMgdm9pZCBjaHZfdXBkYXRlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YykKIAkJCURQSU9fQ0hWX00xX0RJVl9CWV8yIHwKIAkJCTEgPDwgRFBJT19DSFZfTl9E SVZfU0hJRlQpOwogCi0JLyogTTIgZnJhY3Rpb24gZGl2aXNpb24gKi8KLQl2bHZfZHBpb193cml0 ZShkZXZfcHJpdiwgcGlwZSwgQ0hWX1BMTF9EVzIocG9ydCksIGJlc3RtMl9mcmFjKTsKKwlpZiAo YmVzdG0yX2ZyYWMpIHsKKwkJLyogTTIgZnJhY3Rpb24gZGl2aXNpb24gKi8KKwkJdmx2X2RwaW9f d3JpdGUoZGV2X3ByaXYsIHBpcGUsIENIVl9QTExfRFcyKHBvcnQpLCBiZXN0bTJfZnJhYyk7CisK KwkJLyogTTIgZnJhY3Rpb24gZGl2aXNpb24gZW5hYmxlICovCisJCXZsdl9kcGlvX3dyaXRlKGRl dl9wcml2LCBwaXBlLCBDSFZfUExMX0RXMyhwb3J0KSwKKwkJCQl2bHZfZHBpb19yZWFkKGRldl9w cml2LCBwaXBlLCBDSFZfUExMX0RXMyhwb3J0KSkgJgorCQkJCURQSU9fQ0hWX0ZSQUNfRElWX0VO KTsKKworCQkvKiBQcm9ncmFtIGRpZ2l0YWwgbG9jayBkZXRlY3QgdGhyZXNob2xkICovCisJCXZs dl9kcGlvX3dyaXRlKGRldl9wcml2LCBwaXBlLCBDSFZfUExMX0RXOShwb3J0KSwKKwkJCQl2bHZf ZHBpb19yZWFkKGRldl9wcml2LCBwaXBlLCBDSFZfUExMX0RXOShwb3J0KSkgfAorCQkJCSgweDUg PDwgRFBJT19DSFZfSU5UX0xPQ0tfVEhSRVNIT0xEX1NISUZUKSk7CisJfSBlbHNlIHsKKwkJLyog TTIgZnJhY3Rpb24gZGl2aXNpb24gZGlzYWJsZSAqLworCQl2bHZfZHBpb193cml0ZShkZXZfcHJp diwgcGlwZSwgQ0hWX1BMTF9EVzMocG9ydCksCisJCQkJdmx2X2RwaW9fcmVhZChkZXZfcHJpdiwg cGlwZSwgQ0hWX1BMTF9EVzMocG9ydCkpICYKKwkJCQl+KERQSU9fQ0hWX0ZSQUNfRElWX0VOKSk7 CiAKLQkvKiBNMiBmcmFjdGlvbiBkaXZpc2lvbiBlbmFibGUgKi8KLQl2bHZfZHBpb193cml0ZShk ZXZfcHJpdiwgcGlwZSwgQ0hWX1BMTF9EVzMocG9ydCksCi0JCSAgICAgICBEUElPX0NIVl9GUkFD X0RJVl9FTiB8Ci0JCSAgICAgICAoMiA8PCBEUElPX0NIVl9GRUVERldEX0dBSU5fU0hJRlQpKTsK KwkJLyogUHJvZ3JhbSBkaWdpdGFsIGxvY2sgZGV0ZWN0IHRocmVzaG9sZCAqLworCQl2bHZfZHBp b193cml0ZShkZXZfcHJpdiwgcGlwZSwgQ0hWX1BMTF9EVzkocG9ydCksCisJCQkJdmx2X2RwaW9f cmVhZChkZXZfcHJpdiwgcGlwZSwgQ0hWX1BMTF9EVzkocG9ydCkpIHwKKwkJCQkoMHg1IDw8IERQ SU9fQ0hWX0lOVF9MT0NLX1RIUkVTSE9MRF9TSElGVCkgfAorCQkJCURQSU9fQ0hWX0lOVF9MT0NL X1RIUkVTSE9MRF9TRUxfQ09BUlNFKTsKKwl9CiAKIAkvKiBMb29wIGZpbHRlciAqLwotCXJlZmNs ayA9IGk5eHhfZ2V0X3JlZmNsaygmY3J0Yy0+YmFzZSwgMCk7Ci0JbG9vcGZpbHRlciA9IDUgPDwg RFBJT19DSFZfUFJPUF9DT0VGRl9TSElGVCB8Ci0JCTIgPDwgRFBJT19DSFZfR0FJTl9DVFJMX1NI SUZUOwotCWlmIChyZWZjbGsgPT0gMTAwMDAwKQotCQlpbnRjb2VmZiA9IDExOwotCWVsc2UgaWYg KHJlZmNsayA9PSAzODQwMCkKLQkJaW50Y29lZmYgPSAxMDsKKwlpZiAodmNvID09IDU0MDAwMCkK KwkJbG9vcGZpbHRlciA9IDB4MTA4MDM7CisJZWxzZSBpZiAodmNvIDw9IDYyMDAwMCkKKwkJbG9v cGZpbHRlciA9IDB4MzBCMDU7CisJZWxzZSBpZiAodmNvIDw9IDY0ODAwMCkKKwkJbG9vcGZpbHRl ciA9IDB4MzA5MDQ7CisJZWxzZQorCQlsb29wZmlsdGVyID0gMHgxMDgwMzsKKwl2bHZfZHBpb193 cml0ZShkZXZfcHJpdiwgcGlwZSwgQ0hWX1BMTF9EVzYocG9ydCksCisJCQkoKHZsdl9kcGlvX3Jl YWQoZGV2X3ByaXYsIHBpcGUsIENIVl9QTExfRFc2KHBvcnQpKSAmCisJCQkweEZGMDAwMDAwKSB8 IGxvb3BmaWx0ZXIpKTsKKworCWlmICh2Y28gPD0gNjIwMDAwKQorCQl0cmlidWZfY2FsY250ciA9 IDB4OTsKKwllbHNlIGlmICh2Y28gPD0gNjQ4MDAwKQorCQl0cmlidWZfY2FsY250ciA9IDB4ODsK IAllbHNlCi0JCWludGNvZWZmID0gOTsKLQlsb29wZmlsdGVyIHw9IGludGNvZWZmIDw8IERQSU9f Q0hWX0lOVF9DT0VGRl9TSElGVDsKLQl2bHZfZHBpb193cml0ZShkZXZfcHJpdiwgcGlwZSwgQ0hW X1BMTF9EVzYocG9ydCksIGxvb3BmaWx0ZXIpOworCQl0cmlidWZfY2FsY250ciA9IDA7CisJdmx2 X2RwaW9fd3JpdGUoZGV2X3ByaXYsIHBpcGUsIENIVl9QTExfRFc4KHBvcnQpLAorCQkJKCh2bHZf ZHBpb19yZWFkKGRldl9wcml2LCBwaXBlLCBDSFZfUExMX0RXOChwb3J0KSkgJgorCQkJMHhGRkZG RkYwMCkgfCB0cmlidWZfY2FsY250cikpOwogCiAJLyogQUZDIFJlY2FsICovCiAJdmx2X2RwaW9f d3JpdGUoZGV2X3ByaXYsIHBpcGUsIENIVl9DTU5fRFcxNChwb3J0KSwKIAkJCXZsdl9kcGlvX3Jl YWQoZGV2X3ByaXYsIHBpcGUsIENIVl9DTU5fRFcxNChwb3J0KSkgfAotCQkJRFBJT19BRkNfUkVD QUwpOworCQkJRFBJT19BRkNfUkVDQUwgfCBEUElPX0RDTEtQX0VOKTsKIAogCW11dGV4X3VubG9j aygmZGV2X3ByaXYtPmRwaW9fbG9jayk7CiB9Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=