From mboxrd@z Thu Jan 1 00:00:00 1970 From: Derek Basehore Subject: [PATCH v3 3/4] drm/connector: Split out orientation quirk detection Date: Fri, 21 Jun 2019 20:41:04 -0700 Message-ID: <20190622034105.188454-4-dbasehore@chromium.org> References: <20190622034105.188454-1-dbasehore@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190622034105.188454-1-dbasehore@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: linux-kernel@vger.kernel.org Cc: Derek Basehore , Philipp Zabel , Maxime Ripard , Sam Ravnborg , intel-gfx@lists.freedesktop.org, David Airlie , Matthias Brugger , dri-devel@lists.freedesktop.org, CK Hu , linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org Tm90IGV2ZXJ5IHBsYXRmb3JtIG5lZWRzIHF1aXJrIGRldGVjdGlvbiBmb3IgcGFuZWwgb3JpZW50 YXRpb24sIHNvCnNwbGl0IHRoZSBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25f cHJvcGVydHkgaW50byB0d28KZnVuY3Rpb25zLiBPbmUgZm9yIHBsYXRmb3JtcyB3aXRob3V0IHRo ZSBuZWVkIGZvciBxdWlya3MsIGFuZCB0aGUKb3RoZXIgZm9yIHBsYXRmb3JtcyB0aGF0IG5lZWQg cXVpcmtzLgoKU2lnbmVkLW9mZi1ieTogRGVyZWsgQmFzZWhvcmUgPGRiYXNlaG9yZUBjaHJvbWl1 bS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyB8IDQ1ICsrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YyB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvdmx2X2RzaS5jICB8ICA1ICsrLS0KIGlu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgfCAgMiArKwogNCBmaWxlcyBjaGFuZ2VkLCAz OSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwpp bmRleCBlMTc1ODZhYWE4MGYuLmM0YjAxYWRmOTI3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5j CkBAIC0xODk0LDMxICsxODk0LDIzIEBAIEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9zZXRf dnJyX2NhcGFibGVfcHJvcGVydHkpOwogICogZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVu dGF0aW9uX3Byb3BlcnR5IC0KICAqCWluaXRpYWxpemUgdGhlIGNvbm5lY3RlcnMgcGFuZWxfb3Jp ZW50YXRpb24gcHJvcGVydHkKICAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciBmb3Igd2hpY2ggdG8g aW5pdCB0aGUgcGFuZWwtb3JpZW50YXRpb24gcHJvcGVydHkuCi0gKiBAd2lkdGg6IHdpZHRoIGlu IHBpeGVscyBvZiB0aGUgcGFuZWwsIHVzZWQgZm9yIHBhbmVsIHF1aXJrIGRldGVjdGlvbgotICog QGhlaWdodDogaGVpZ2h0IGluIHBpeGVscyBvZiB0aGUgcGFuZWwsIHVzZWQgZm9yIHBhbmVsIHF1 aXJrIGRldGVjdGlvbgogICoKICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgY2FsbGVk IGZvciBidWlsdC1pbiBwYW5lbHMsIGFmdGVyIHNldHRpbmcKICAqIGNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLnBhbmVsX29yaWVudGF0aW9uIGZpcnN0IChpZiBrbm93bikuCiAgKgotICogVGhpcyBm dW5jdGlvbiB3aWxsIGNoZWNrIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyAoZS5nLiBETUkgYmFzZWQp IHF1aXJrcwotICogb3ZlcnJpZGluZyBkaXNwbGF5X2luZm8ucGFuZWxfb3JpZW50YXRpb24gZmly c3QsIHRoZW4gaWYgcGFuZWxfb3JpZW50YXRpb24KLSAqIGlzIG5vdCBEUk1fTU9ERV9QQU5FTF9P UklFTlRBVElPTl9VTktOT1dOIGl0IHdpbGwgYXR0YWNoIHRoZQotICogInBhbmVsIG9yaWVudGF0 aW9uIiBwcm9wZXJ0eSB0byB0aGUgY29ubmVjdG9yLgorICogVGhpcyBmdW5jdGlvbiB3aWxsIGNo ZWNrIGlmIHRoZSBwYW5lbF9vcmllbnRhdGlvbiBpcyBub3QKKyAqIERSTV9NT0RFX1BBTkVMX09S SUVOVEFUSU9OX1VOS05PV04uIElmIG5vdCwgaXQgd2lsbCBhdHRhY2ggdGhlICJwYW5lbAorICog b3JpZW50YXRpb24iIHByb3BlcnR5IHRvIHRoZSBjb25uZWN0b3IuCiAgKgogICogUmV0dXJuczoK ICAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KICAqLwogaW50 IGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSgKLQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCisJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y29ubmVjdG9yLT5kZXY7CiAJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVj dG9yLT5kaXNwbGF5X2luZm87CiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKLQlpbnQgb3Jp ZW50YXRpb25fcXVpcms7Ci0KLQlvcmllbnRhdGlvbl9xdWlyayA9IGRybV9nZXRfcGFuZWxfb3Jp ZW50YXRpb25fcXVpcmsod2lkdGgsIGhlaWdodCk7Ci0JaWYgKG9yaWVudGF0aW9uX3F1aXJrICE9 IERSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9OX1VOS05PV04pCi0JCWluZm8tPnBhbmVsX29yaWVu dGF0aW9uID0gb3JpZW50YXRpb25fcXVpcms7CiAKIAlpZiAoaW5mby0+cGFuZWxfb3JpZW50YXRp b24gPT0gRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05fVU5LTk9XTikKIAkJcmV0dXJuIDA7CkBA IC0xOTQxLDYgKzE5MzMsMzUgQEAgaW50IGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRh dGlvbl9wcm9wZXJ0eSgKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVs X29yaWVudGF0aW9uX3Byb3BlcnR5KTsKIAorLyoqCisgKiBkcm1fY29ubmVjdG9yX2luaXRfcGFu ZWxfb3JpZW50YXRpb25fcHJvcGVydHlfcXVpcmsgLQorICoJaW5pdGlhbGl6ZSB0aGUgY29ubmVj dGVycyBwYW5lbF9vcmllbnRhdGlvbiBwcm9wZXJ0eSB3aXRoIGEgcXVpcmsKKyAqCW92ZXJyaWRl CisgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgZm9yIHdoaWNoIHRvIGluaXQgdGhlIHBhbmVsLW9y aWVudGF0aW9uIHByb3BlcnR5LgorICogQHdpZHRoOiB3aWR0aCBpbiBwaXhlbHMgb2YgdGhlIHBh bmVsLCB1c2VkIGZvciBwYW5lbCBxdWlyayBkZXRlY3Rpb24KKyAqIEBoZWlnaHQ6IGhlaWdodCBp biBwaXhlbHMgb2YgdGhlIHBhbmVsLCB1c2VkIGZvciBwYW5lbCBxdWlyayBkZXRlY3Rpb24KKyAq CisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgY2hlY2sgZm9yIHBsYXRmb3JtIHNwZWNpZmljIChlLmcu IERNSSBiYXNlZCkgcXVpcmtzCisgKiBvdmVycmlkaW5nIGRpc3BsYXlfaW5mby5wYW5lbF9vcmll bnRhdGlvbiBmaXJzdCwgdGhlbiBpZiBwYW5lbF9vcmllbnRhdGlvbgorICogaXMgbm90IERSTV9N T0RFX1BBTkVMX09SSUVOVEFUSU9OX1VOS05PV04gaXQgd2lsbCBhdHRhY2ggdGhlCisgKiAicGFu ZWwgb3JpZW50YXRpb24iIHByb3BlcnR5IHRvIHRoZSBjb25uZWN0b3IuCisgKgorICogUmV0dXJu czoKKyAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KKyAqLwor aW50IGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eV9xdWlyaygK KwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBpbnQgd2lkdGgsIGludCBoZWlnaHQp Cit7CisJaW50IG9yaWVudGF0aW9uX3F1aXJrOworCisJb3JpZW50YXRpb25fcXVpcmsgPSBkcm1f Z2V0X3BhbmVsX29yaWVudGF0aW9uX3F1aXJrKHdpZHRoLCBoZWlnaHQpOworCWlmIChvcmllbnRh dGlvbl9xdWlyayAhPSBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9VTktOT1dOKQorCQljb25u ZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uX3F1aXJr OworCisJcmV0dXJuIGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0 eShjb25uZWN0b3IpOworfQorRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxf b3JpZW50YXRpb25fcHJvcGVydHlfcXVpcmspOworCiBpbnQgZHJtX2Nvbm5lY3Rvcl9zZXRfb2Jq X3Byb3Aoc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAogCQkJCSAgICBzdHJ1Y3QgZHJtX3By b3BlcnR5ICpwcm9wZXJ0eSwKIAkJCQkgICAgdWludDY0X3QgdmFsdWUpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwppbmRleCBiMDk5YTlkYzI4ZmQuLjdkNGU2MWNmNTQ2MyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCkBAIC03MjgyLDggKzcyODIsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5p dF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlpbnRlbF9wYW5lbF9zZXR1 cF9iYWNrbGlnaHQoY29ubmVjdG9yLCBwaXBlKTsKIAogCWlmIChmaXhlZF9tb2RlKQotCQlkcm1f Y29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkoCi0JCQljb25uZWN0b3Is IGZpeGVkX21vZGUtPmhkaXNwbGF5LCBmaXhlZF9tb2RlLT52ZGlzcGxheSk7CisJCWRybV9jb25u ZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eV9xdWlyayhjb25uZWN0b3IsCisJ CQkJZml4ZWRfbW9kZS0+aGRpc3BsYXksIGZpeGVkX21vZGUtPnZkaXNwbGF5KTsKIAogCXJldHVy biB0cnVlOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpLmMKaW5kZXggYmZlMjg5MWVhYzM3Li5mYTk4MzNk YmUzNTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zsdl9kc2kuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpLmMKQEAgLTE2NTAsNiArMTY1MCw3IEBAIHN0YXRp YyB2b2lkIGludGVsX2RzaV9hZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCiAKIAlpZiAoY29ubmVjdG9yLT5wYW5lbC5maXhlZF9tb2RlKSB7CiAJCXUzMiBh bGxvd2VkX3NjYWxlcnM7CisJCWludCBvcmllbnRhdGlvbjsKIAogCQlhbGxvd2VkX3NjYWxlcnMg PSBCSVQoRFJNX01PREVfU0NBTEVfQVNQRUNUKSB8IEJJVChEUk1fTU9ERV9TQ0FMRV9GVUxMU0NS RUVOKTsKIAkJaWYgKCFIQVNfR01DSChkZXZfcHJpdikpCkBAIC0xNjYwLDkgKzE2NjEsNyBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kc2lfYWRkX3Byb3BlcnRpZXMoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQogCiAJCWNvbm5lY3Rvci0+YmFzZS5zdGF0ZS0+c2NhbGluZ19tb2RlID0g RFJNX01PREVfU0NBTEVfQVNQRUNUOwogCi0JCWNvbm5lY3Rvci0+YmFzZS5kaXNwbGF5X2luZm8u cGFuZWxfb3JpZW50YXRpb24gPQotCQkJdmx2X2RzaV9nZXRfcGFuZWxfb3JpZW50YXRpb24oY29u bmVjdG9yKTsKLQkJZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5 KAorCQlkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHlfcXVpcmso CiAJCQkJJmNvbm5lY3Rvci0+YmFzZSwKIAkJCQljb25uZWN0b3ItPnBhbmVsLmZpeGVkX21vZGUt PmhkaXNwbGF5LAogCQkJCWNvbm5lY3Rvci0+cGFuZWwuZml4ZWRfbW9kZS0+dmRpc3BsYXkpOwpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJt X2Nvbm5lY3Rvci5oCmluZGV4IDQ3ZTc0OWI3NGU1Zi4uMDQ2OGZkOWE0NDE4IDEwMDY0NAotLS0g YS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oCkBAIC0xMzcwLDYgKzEzNzAsOCBAQCB2b2lkIGRybV9jb25uZWN0b3Jfc2V0X2xpbmtf c3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiB2b2lkIGRy bV9jb25uZWN0b3Jfc2V0X3Zycl9jYXBhYmxlX3Byb3BlcnR5KAogCQlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLCBib29sIGNhcGFibGUpOwogaW50IGRybV9jb25uZWN0b3JfaW5pdF9w YW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSgKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKTsKK2ludCBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHlf cXVpcmsoCiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgaW50IHdpZHRoLCBpbnQg aGVpZ2h0KTsKIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCSAgaW50IG1pbiwgaW50IG1heCk7Ci0t IAoyLjIyLjAuNDEwLmdkOGZkYmUyMWI1LWdvb2cKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeA==