From mboxrd@z Thu Jan 1 00:00:00 1970 From: Derek Basehore Subject: [PATCH v7 3/4] drm/connector: Split out orientation quirk detection Date: Tue, 9 Jul 2019 19:16:58 -0700 Message-ID: <20190710021659.177950-4-dbasehore@chromium.org> References: <20190710021659.177950-1-dbasehore@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190710021659.177950-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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgICAgIHwgNDUg KysrKysrKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kcC5jIHwgIDQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2ku YyAgfCAgMiArLQogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgICAgIHwgIDIg KysKIDQgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY29ubmVjdG9yLmMKaW5kZXggYjNmMmNmN2VhZTljLi41Mjc3N2Q2NDc0OTQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYwpAQCAtMTg5MiwzMSArMTg5MiwyMyBAQCBFWFBPUlRfU1lN Qk9MKGRybV9jb25uZWN0b3Jfc2V0X3Zycl9jYXBhYmxlX3Byb3BlcnR5KTsKICAqIGRybV9jb25u ZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSAtCiAgKglpbml0aWFsaXplIHRo ZSBjb25uZWN0ZXJzIHBhbmVsX29yaWVudGF0aW9uIHByb3BlcnR5CiAgKiBAY29ubmVjdG9yOiBj b25uZWN0b3IgZm9yIHdoaWNoIHRvIGluaXQgdGhlIHBhbmVsLW9yaWVudGF0aW9uIHByb3BlcnR5 LgotICogQHdpZHRoOiB3aWR0aCBpbiBwaXhlbHMgb2YgdGhlIHBhbmVsLCB1c2VkIGZvciBwYW5l bCBxdWlyayBkZXRlY3Rpb24KLSAqIEBoZWlnaHQ6IGhlaWdodCBpbiBwaXhlbHMgb2YgdGhlIHBh bmVsLCB1c2VkIGZvciBwYW5lbCBxdWlyayBkZXRlY3Rpb24KICAqCiAgKiBUaGlzIGZ1bmN0aW9u IHNob3VsZCBvbmx5IGJlIGNhbGxlZCBmb3IgYnVpbHQtaW4gcGFuZWxzLCBhZnRlciBzZXR0aW5n CiAgKiBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbiBmaXJzdCAoaWYg a25vd24pLgogICoKLSAqIFRoaXMgZnVuY3Rpb24gd2lsbCBjaGVjayBmb3IgcGxhdGZvcm0gc3Bl Y2lmaWMgKGUuZy4gRE1JIGJhc2VkKSBxdWlya3MKLSAqIG92ZXJyaWRpbmcgZGlzcGxheV9pbmZv LnBhbmVsX29yaWVudGF0aW9uIGZpcnN0LCB0aGVuIGlmIHBhbmVsX29yaWVudGF0aW9uCi0gKiBp cyBub3QgRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05fVU5LTk9XTiBpdCB3aWxsIGF0dGFjaCB0 aGUKLSAqICJwYW5lbCBvcmllbnRhdGlvbiIgcHJvcGVydHkgdG8gdGhlIGNvbm5lY3Rvci4KKyAq IFRoaXMgZnVuY3Rpb24gd2lsbCBjaGVjayBpZiB0aGUgcGFuZWxfb3JpZW50YXRpb24gaXMgbm90 CisgKiBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9VTktOT1dOLiBJZiBub3QsIGl0IHdpbGwg YXR0YWNoIHRoZSAicGFuZWwKKyAqIG9yaWVudGF0aW9uIiBwcm9wZXJ0eSB0byB0aGUgY29ubmVj dG9yLgogICoKICAqIFJldHVybnM6CiAgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5v IG9uIGZhaWx1cmUuCiAgKi8KIGludCBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRp b25fcHJvcGVydHkoCi0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgaW50IHdpZHRo LCBpbnQgaGVpZ2h0KQorCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2OwogCXN0cnVjdCBkcm1fZGlzcGxh eV9pbmZvICppbmZvID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvOwogCXN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3A7Ci0JaW50IG9yaWVudGF0aW9uX3F1aXJrOwotCi0Jb3JpZW50YXRpb25fcXVp cmsgPSBkcm1fZ2V0X3BhbmVsX29yaWVudGF0aW9uX3F1aXJrKHdpZHRoLCBoZWlnaHQpOwotCWlm IChvcmllbnRhdGlvbl9xdWlyayAhPSBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9VTktOT1dO KQotCQlpbmZvLT5wYW5lbF9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uX3F1aXJrOwogCiAJaWYg KGluZm8tPnBhbmVsX29yaWVudGF0aW9uID09IERSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9OX1VO S05PV04pCiAJCXJldHVybiAwOwpAQCAtMTkzOSw2ICsxOTMxLDM1IEBAIGludCBkcm1fY29ubmVj dG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkoCiB9CiBFWFBPUlRfU1lNQk9MKGRy bV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSk7CiAKKy8qKgorICog ZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5X3F1aXJrIC0KKyAq CWluaXRpYWxpemUgdGhlIGNvbm5lY3RlcnMgcGFuZWxfb3JpZW50YXRpb24gcHJvcGVydHkgd2l0 aCBhIHF1aXJrCisgKglvdmVycmlkZQorICogQGNvbm5lY3RvcjogY29ubmVjdG9yIGZvciB3aGlj aCB0byBpbml0IHRoZSBwYW5lbC1vcmllbnRhdGlvbiBwcm9wZXJ0eS4KKyAqIEB3aWR0aDogd2lk dGggaW4gcGl4ZWxzIG9mIHRoZSBwYW5lbCwgdXNlZCBmb3IgcGFuZWwgcXVpcmsgZGV0ZWN0aW9u CisgKiBAaGVpZ2h0OiBoZWlnaHQgaW4gcGl4ZWxzIG9mIHRoZSBwYW5lbCwgdXNlZCBmb3IgcGFu ZWwgcXVpcmsgZGV0ZWN0aW9uCisgKgorICogVGhpcyBmdW5jdGlvbiB3aWxsIGNoZWNrIGZvciBw bGF0Zm9ybSBzcGVjaWZpYyAoZS5nLiBETUkgYmFzZWQpIHF1aXJrcworICogb3ZlcnJpZGluZyBk aXNwbGF5X2luZm8ucGFuZWxfb3JpZW50YXRpb24gZmlyc3QsIHRoZW4gaWYgcGFuZWxfb3JpZW50 YXRpb24KKyAqIGlzIG5vdCBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9VTktOT1dOIGl0IHdp bGwgYXR0YWNoIHRoZQorICogInBhbmVsIG9yaWVudGF0aW9uIiBwcm9wZXJ0eSB0byB0aGUgY29u bmVjdG9yLgorICoKKyAqIFJldHVybnM6CisgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVy cm5vIG9uIGZhaWx1cmUuCisgKi8KK2ludCBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50 YXRpb25fcHJvcGVydHlfcXVpcmsoCisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvciwg aW50IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworCWludCBvcmllbnRhdGlvbl9xdWlyazsKKworCW9y aWVudGF0aW9uX3F1aXJrID0gZHJtX2dldF9wYW5lbF9vcmllbnRhdGlvbl9xdWlyayh3aWR0aCwg aGVpZ2h0KTsKKwlpZiAob3JpZW50YXRpb25fcXVpcmsgIT0gRFJNX01PREVfUEFORUxfT1JJRU5U QVRJT05fVU5LTk9XTikKKwkJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ucGFuZWxfb3JpZW50YXRp b24gPSBvcmllbnRhdGlvbl9xdWlyazsKKworCXJldHVybiBkcm1fY29ubmVjdG9yX2luaXRfcGFu ZWxfb3JpZW50YXRpb25fcHJvcGVydHkoY29ubmVjdG9yKTsKK30KK0VYUE9SVF9TWU1CT0woZHJt X2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5X3F1aXJrKTsKKwogaW50 IGRybV9jb25uZWN0b3Jfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwK IAkJCQkgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCiAJCQkJICAgIHVpbnQ2NF90 IHZhbHVlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCmluZGV4IDBiZGI3 ZWNjNWE4MS4uOTc1MTk2Yzg2ZTUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcC5jCkBAIC03MDYzLDggKzcwNjMsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5pdF9j b25uZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlpbnRlbF9wYW5lbF9zZXR1cF9i YWNrbGlnaHQoY29ubmVjdG9yLCBwaXBlKTsKIAogCWlmIChmaXhlZF9tb2RlKQotCQlkcm1fY29u bmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkoCi0JCQljb25uZWN0b3IsIGZp eGVkX21vZGUtPmhkaXNwbGF5LCBmaXhlZF9tb2RlLT52ZGlzcGxheSk7CisJCWRybV9jb25uZWN0 b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eV9xdWlyayhjb25uZWN0b3IsCisJCQkJ Zml4ZWRfbW9kZS0+aGRpc3BsYXksIGZpeGVkX21vZGUtPnZkaXNwbGF5KTsKIAogCXJldHVybiB0 cnVlOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2ku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvdmx2X2RzaS5jCmluZGV4IGUyNzJkODI2 MjEwYS4uZGQ3ZmE4MDZmOTVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L3Zsdl9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2ku YwpAQCAtMTY2Miw3ICsxNjYyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX2FkZF9wcm9wZXJ0 aWVzKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogCQljb25uZWN0b3ItPmJh c2UuZGlzcGxheV9pbmZvLnBhbmVsX29yaWVudGF0aW9uID0KIAkJCXZsdl9kc2lfZ2V0X3BhbmVs X29yaWVudGF0aW9uKGNvbm5lY3Rvcik7Ci0JCWRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmll bnRhdGlvbl9wcm9wZXJ0eSgKKwkJZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9u X3Byb3BlcnR5X3F1aXJrKAogCQkJCSZjb25uZWN0b3ItPmJhc2UsCiAJCQkJY29ubmVjdG9yLT5w YW5lbC5maXhlZF9tb2RlLT5oZGlzcGxheSwKIAkJCQljb25uZWN0b3ItPnBhbmVsLmZpeGVkX21v ZGUtPnZkaXNwbGF5KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBi L2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCBjYTc0NWQ5ZmVhZjUuLjk0MDI1NGIw Njc2NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCisrKyBiL2luY2x1 ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAtMTUxMiw2ICsxNTEyLDggQEAgdm9pZCBkcm1fY29u bmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAogdm9pZCBkcm1fY29ubmVjdG9yX3NldF92cnJfY2FwYWJsZV9wcm9wZXJ0eSgKIAkJ c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBjYXBhYmxlKTsKIGludCBkcm1f Y29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkoCisJc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3Rvcik7CitpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVu dGF0aW9uX3Byb3BlcnR5X3F1aXJrKAogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is IGludCB3aWR0aCwgaW50IGhlaWdodCk7CiBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfbWF4X2Jw Y19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCQkgIGludCBt aW4sIGludCBtYXgpOwotLSAKMi4yMi4wLjQxMC5nZDhmZGJlMjFiNS1nb29nCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=