From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 11/17] drm/i915: Add port A HPD support for BDW Date: Thu, 27 Aug 2015 23:56:06 +0300 Message-ID: <1440708972-17112-12-git-send-email-ville.syrjala@linux.intel.com> References: <1440708972-17112-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id B5ED58A5FA for ; Thu, 27 Aug 2015 13:57:04 -0700 (PDT) In-Reply-To: <1440708972-17112-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCldp cmUgdXAgdGhlIHBvcnQgQSBIUEQgZm9yIEJEVy4gQ29tcGFyZWQgdG8gZWFybGllciBwbGF0Zm9y bXMgdGhlCmludGVycnVwdCBzZXR1cCBpcyBhIGJpdCBkaWZmZXJlbnQsIGJ1dCBiYXNpY2FsbHkg ZXZlcnl0aGluZyBlbHNlCmxvb2tzIHRoZSBzYW1lLgoKdjI6IDAgaW5pdGlhbGl6ZSBwaW5fbWFz ay9sb25nX21hc2sgZHVlIHRvIGludGVsX2dldF9ocGRfcGlucygpIGNoYW5nZXMKICAgIENoZWNr IGZvciBCRFcgYmVmb3JlIHByb2Nlc3NpbmcgdGhlIEhQRCB0byBub3QgYnJlYWsgQlhUCiAgICBT ZXQgZm91bmQ9dHJ1ZSB3aGVuIHByb2Nlc3NpbmcgcG9ydCBBIEhQRAogICAgU29ydCBvdXQgdGhl IG1lc3MgSSBtYWRlIG9mIHRoZSBpcnEgc2V0dXAgaW4gdjEKICAgIFdhcm4gYWJvdXQgYmFkIGly cSBtYXNrIHZzLiBlbmFibGUgYml0cyBpbiBiZHdfdXBkYXRlX3BvcnRfaXJxKCkgIChQYXVsbykK ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyB8IDg2ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNzQgaW5z ZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXgg ODg2NTE4ZC4uNGQxNTMzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9p cnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC01Myw2ICs1Mywx MCBAQCBzdGF0aWMgY29uc3QgdTMyIGhwZF9pdmJbSFBEX05VTV9QSU5TXSA9IHsKIAlbSFBEX1BP UlRfQV0gPSBERV9EUF9BX0hPVFBMVUdfSVZCLAogfTsKIAorc3RhdGljIGNvbnN0IHUzMiBocGRf YmR3W0hQRF9OVU1fUElOU10gPSB7CisJW0hQRF9QT1JUX0FdID0gR0VOOF9QT1JUX0RQX0FfSE9U UExVRywKK307CisKIHN0YXRpYyBjb25zdCB1MzIgaHBkX2lieFtIUERfTlVNX1BJTlNdID0gewog CVtIUERfQ1JUXSA9IFNERV9DUlRfSE9UUExVRywKIAlbSFBEX1NEVk9fQl0gPSBTREVfU0RWT0Jf SE9UUExVRywKQEAgLTM3MSw2ICszNzUsMzggQEAgdm9pZCBnZW42X2Rpc2FibGVfcnBzX2ludGVy cnVwdHMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIH0KIAogLyoqCisgICogYmR3X3VwZGF0ZV9w b3J0X2lycSAtIHVwZGF0ZSBERSBwb3J0IGludGVycnVwdAorICAqIEBkZXZfcHJpdjogZHJpdmVy IHByaXZhdGUKKyAgKiBAaW50ZXJydXB0X21hc2s6IG1hc2sgb2YgaW50ZXJydXB0IGJpdHMgdG8g dXBkYXRlCisgICogQGVuYWJsZWRfaXJxX21hc2s6IG1hc2sgb2YgaW50ZXJydXB0IGJpdHMgdG8g ZW5hYmxlCisgICovCitzdGF0aWMgdm9pZCBiZHdfdXBkYXRlX3BvcnRfaXJxKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQl1aW50MzJfdCBpbnRlcnJ1cHRfbWFzaywKKwkJ CQl1aW50MzJfdCBlbmFibGVkX2lycV9tYXNrKQoreworCXVpbnQzMl90IG5ld192YWw7CisJdWlu dDMyX3Qgb2xkX3ZhbDsKKworCWFzc2VydF9zcGluX2xvY2tlZCgmZGV2X3ByaXYtPmlycV9sb2Nr KTsKKworCVdBUk5fT04oZW5hYmxlZF9pcnFfbWFzayAmIH5pbnRlcnJ1cHRfbWFzayk7CisKKwlp ZiAoV0FSTl9PTighaW50ZWxfaXJxc19lbmFibGVkKGRldl9wcml2KSkpCisJCXJldHVybjsKKwor CW9sZF92YWwgPSBJOTE1X1JFQUQoR0VOOF9ERV9QT1JUX0lNUik7CisKKwluZXdfdmFsID0gb2xk X3ZhbDsKKwluZXdfdmFsICY9IH5pbnRlcnJ1cHRfbWFzazsKKwluZXdfdmFsIHw9ICh+ZW5hYmxl ZF9pcnFfbWFzayAmIGludGVycnVwdF9tYXNrKTsKKworCWlmIChuZXdfdmFsICE9IG9sZF92YWwp IHsKKwkJSTkxNV9XUklURShHRU44X0RFX1BPUlRfSU1SLCBuZXdfdmFsKTsKKwkJUE9TVElOR19S RUFEKEdFTjhfREVfUE9SVF9JTVIpOworCX0KK30KKworLyoqCiAgKiBpYnhfZGlzcGxheV9pbnRl cnJ1cHRfdXBkYXRlIC0gdXBkYXRlIFNERUlNUgogICogQGRldl9wcml2OiBkcml2ZXIgcHJpdmF0 ZQogICogQGludGVycnVwdF9tYXNrOiBtYXNrIG9mIGludGVycnVwdCBiaXRzIHRvIHVwZGF0ZQpA QCAtMjEzOSwxMCArMjE3NSwyNCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZ2VuOF9pcnFfaGFuZGxl cihpbnQgaXJxLCB2b2lkICphcmcpCiAJCXRtcCA9IEk5MTVfUkVBRChHRU44X0RFX1BPUlRfSUlS KTsKIAkJaWYgKHRtcCkgewogCQkJYm9vbCBmb3VuZCA9IGZhbHNlOworCQkJdTMyIGhvdHBsdWdf dHJpZ2dlciA9IHRtcCAmIEdFTjhfUE9SVF9EUF9BX0hPVFBMVUc7CiAKIAkJCUk5MTVfV1JJVEUo R0VOOF9ERV9QT1JUX0lJUiwgdG1wKTsKIAkJCXJldCA9IElSUV9IQU5ETEVEOwogCisJCQlpZiAo SVNfQlJPQURXRUxMKGRldikgJiYgaG90cGx1Z190cmlnZ2VyKSB7CisJCQkJdTMyIGRpZ19ob3Rw bHVnX3JlZywgcGluX21hc2sgPSAwLCBsb25nX21hc2sgPSAwOworCisJCQkJZGlnX2hvdHBsdWdf cmVnID0gSTkxNV9SRUFEKERJR0lUQUxfUE9SVF9IT1RQTFVHX0NOVFJMKTsKKwkJCQlJOTE1X1dS SVRFKERJR0lUQUxfUE9SVF9IT1RQTFVHX0NOVFJMLCBkaWdfaG90cGx1Z19yZWcpOworCisJCQkJ aW50ZWxfZ2V0X2hwZF9waW5zKCZwaW5fbWFzaywgJmxvbmdfbWFzaywgaG90cGx1Z190cmlnZ2Vy LAorCQkJCQkJICAgZGlnX2hvdHBsdWdfcmVnLCBocGRfYmR3LAorCQkJCQkJICAgaWxrX3BvcnRf aG90cGx1Z19sb25nX2RldGVjdCk7CisJCQkJaW50ZWxfaHBkX2lycV9oYW5kbGVyKGRldiwgcGlu X21hc2ssIGxvbmdfbWFzayk7CisJCQkJZm91bmQgPSB0cnVlOworCQkJfQorCiAJCQlpZiAodG1w ICYgYXV4X21hc2spIHsKIAkJCQlkcF9hdXhfaXJxX2hhbmRsZXIoZGV2KTsKIAkJCQlmb3VuZCA9 IHRydWU7CkBAIC0zMTYwLDE1ICszMjEwLDIyIEBAIHN0YXRpYyB2b2lkIGlsa19ocGRfaXJxX3Nl dHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1MzIgaG90cGx1Z19pcnFzLCBob3RwbHVnLCBl bmFibGVkX2lycXM7CiAKLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNykgeworCWlmIChJ TlRFTF9JTkZPKGRldiktPmdlbiA+PSA4KSB7CisJCWhvdHBsdWdfaXJxcyA9IEdFTjhfUE9SVF9E UF9BX0hPVFBMVUc7CisJCWVuYWJsZWRfaXJxcyA9IGludGVsX2hwZF9lbmFibGVkX2lycXMoZGV2 LCBocGRfYmR3KTsKKworCQliZHdfdXBkYXRlX3BvcnRfaXJxKGRldl9wcml2LCBob3RwbHVnX2ly cXMsIGVuYWJsZWRfaXJxcyk7CisJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3 KSB7CiAJCWhvdHBsdWdfaXJxcyA9IERFX0RQX0FfSE9UUExVR19JVkI7CiAJCWVuYWJsZWRfaXJx cyA9IGludGVsX2hwZF9lbmFibGVkX2lycXMoZGV2LCBocGRfaXZiKTsKKworCQlpbGtfdXBkYXRl X2Rpc3BsYXlfaXJxKGRldl9wcml2LCBob3RwbHVnX2lycXMsIGVuYWJsZWRfaXJxcyk7CiAJfSBl bHNlIHsKIAkJaG90cGx1Z19pcnFzID0gREVfRFBfQV9IT1RQTFVHOwogCQllbmFibGVkX2lycXMg PSBpbnRlbF9ocGRfZW5hYmxlZF9pcnFzKGRldiwgaHBkX2lsayk7Ci0JfQogCi0JaWxrX3VwZGF0 ZV9kaXNwbGF5X2lycShkZXZfcHJpdiwgaG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXMpOworCQlp bGtfdXBkYXRlX2Rpc3BsYXlfaXJxKGRldl9wcml2LCBob3RwbHVnX2lycXMsIGVuYWJsZWRfaXJx cyk7CisJfQogCiAJLyoKIAkgKiBFbmFibGUgZGlnaXRhbCBob3RwbHVnIG9uIHRoZSBDUFUsIGFu ZCBjb25maWd1cmUgdGhlIERQIHNob3J0IHB1bHNlCkBAIC0zNDgwLDI0ICszNTM3LDI5IEBAIHN0 YXRpYyB2b2lkIGdlbjhfZGVfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIHsKIAl1aW50MzJfdCBkZV9waXBlX21hc2tlZCA9IEdFTjhfUElQRV9DRENM S19DUkNfRE9ORTsKIAl1aW50MzJfdCBkZV9waXBlX2VuYWJsZXM7Ci0JaW50IHBpcGU7Ci0JdTMy IGRlX3BvcnRfZW4gPSBHRU44X0FVWF9DSEFOTkVMX0E7CisJdTMyIGRlX3BvcnRfbWFza2VkID0g R0VOOF9BVVhfQ0hBTk5FTF9BOworCXUzMiBkZV9wb3J0X2VuYWJsZXM7CisJZW51bSBwaXBlIHBp cGU7CiAKIAlpZiAoSVNfR0VOOShkZXZfcHJpdikpIHsKIAkJZGVfcGlwZV9tYXNrZWQgfD0gR0VO OV9QSVBFX1BMQU5FMV9GTElQX0RPTkUgfAogCQkJCSAgR0VOOV9ERV9QSVBFX0lSUV9GQVVMVF9F UlJPUlM7Ci0JCWRlX3BvcnRfZW4gfD0gR0VOOV9BVVhfQ0hBTk5FTF9CIHwgR0VOOV9BVVhfQ0hB Tk5FTF9DIHwKLQkJCUdFTjlfQVVYX0NIQU5ORUxfRDsKLQorCQlkZV9wb3J0X21hc2tlZCB8PSBH RU45X0FVWF9DSEFOTkVMX0IgfCBHRU45X0FVWF9DSEFOTkVMX0MgfAorCQkJCSAgR0VOOV9BVVhf Q0hBTk5FTF9EOwogCQlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpCi0JCQlkZV9wb3J0X2VuIHw9 IEJYVF9ERV9QT1JUX0dNQlVTOwotCX0gZWxzZQorCQkJZGVfcG9ydF9tYXNrZWQgfD0gQlhUX0RF X1BPUlRfR01CVVM7CisJfSBlbHNlIHsKIAkJZGVfcGlwZV9tYXNrZWQgfD0gR0VOOF9QSVBFX1BS SU1BUllfRkxJUF9ET05FIHwKIAkJCQkgIEdFTjhfREVfUElQRV9JUlFfRkFVTFRfRVJST1JTOwor CX0KIAogCWRlX3BpcGVfZW5hYmxlcyA9IGRlX3BpcGVfbWFza2VkIHwgR0VOOF9QSVBFX1ZCTEFO SyB8CiAJCQkJCSAgIEdFTjhfUElQRV9GSUZPX1VOREVSUlVOOwogCisJZGVfcG9ydF9lbmFibGVz ID0gZGVfcG9ydF9tYXNrZWQ7CisJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpCisJCWRlX3Bv cnRfZW5hYmxlcyB8PSBHRU44X1BPUlRfRFBfQV9IT1RQTFVHOworCiAJZGV2X3ByaXYtPmRlX2ly cV9tYXNrW1BJUEVfQV0gPSB+ZGVfcGlwZV9tYXNrZWQ7CiAJZGV2X3ByaXYtPmRlX2lycV9tYXNr W1BJUEVfQl0gPSB+ZGVfcGlwZV9tYXNrZWQ7CiAJZGV2X3ByaXYtPmRlX2lycV9tYXNrW1BJUEVf Q10gPSB+ZGVfcGlwZV9tYXNrZWQ7CkBAIC0zNTA5LDcgKzM1NzEsNyBAQCBzdGF0aWMgdm9pZCBn ZW44X2RlX2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJCQkJCSAgZGV2X3ByaXYtPmRlX2lycV9tYXNrW3BpcGVdLAogCQkJCQkgIGRlX3BpcGVfZW5h Ymxlcyk7CiAKLQlHRU41X0lSUV9JTklUKEdFTjhfREVfUE9SVF8sIH5kZV9wb3J0X2VuLCBkZV9w b3J0X2VuKTsKKwlHRU41X0lSUV9JTklUKEdFTjhfREVfUE9SVF8sIH5kZV9wb3J0X21hc2tlZCwg ZGVfcG9ydF9lbmFibGVzKTsKIH0KIAogc3RhdGljIGludCBnZW44X2lycV9wb3N0aW5zdGFsbChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQpAQCAtNDI5Miw3ICs0MzU0LDcgQEAgdm9pZCBpbnRlbF9p cnFfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWVsc2UgaWYgKEhB U19QQ0hfU1BUKGRldikpCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5ocGRfaXJxX3NldHVwID0gc3B0 X2hwZF9pcnFfc2V0dXA7CiAJCWVsc2UKLQkJCWRldl9wcml2LT5kaXNwbGF5LmhwZF9pcnFfc2V0 dXAgPSBpYnhfaHBkX2lycV9zZXR1cDsKKwkJCWRldl9wcml2LT5kaXNwbGF5LmhwZF9pcnFfc2V0 dXAgPSBpbGtfaHBkX2lycV9zZXR1cDsKIAl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkg ewogCQlkZXYtPmRyaXZlci0+aXJxX2hhbmRsZXIgPSBpcm9ubGFrZV9pcnFfaGFuZGxlcjsKIAkJ ZGV2LT5kcml2ZXItPmlycV9wcmVpbnN0YWxsID0gaXJvbmxha2VfaXJxX3Jlc2V0OwotLSAKMi40 LjYKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==