From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v2] drm/i915/ehl: Allow combo PHY A to drive a third external display Date: Mon, 17 Jun 2019 16:48:10 -0700 Message-ID: <20190617234810.25874-1-matthew.d.roper@intel.com> References: <20190614183232.GF5942@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 11A486E0B7 for ; Mon, 17 Jun 2019 23:48:15 +0000 (UTC) In-Reply-To: <20190614183232.GF5942@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 RUhMIGhhcyBhIG11eCBvbiBjb21ibyBQSFkgQSB0aGF0IGFsbG93cyBpdCB0byBiZSBkcml2ZW4g ZWl0aGVyIGJ5IGFuCmludGVybmFsIGRpc3BsYXkgKERESS1BIG9yIERTSSBEUEhZKSBvciBieSBh biBleHRlcm5hbCBkaXNwbGF5IChEREktRCkuClRoaXMgaXMgYSBtb3RoZXJib2FyZCBkZXNpZ24g ZGVjaXNpb24gdGhhdCBjYW4gbm90IGJlIGNoYW5nZWQgb24gdGhlCmZseS4gIFVuZm9ydHVuYXRl bHkgdGhlcmUgYXJlIG5vIHN0cmFwIHJlZ2lzdGVycyB0aGF0IGFsbG93IHVzIHRvIGRldGVjdAp0 aGUgYm9hcmQgY29uZmlndXJhdGlvbiBkaXJlY3RseSwgc28gbGV0J3MgdXNlIHRoZSBWQlQgdG8g dHJ5IHRvIGZpZ3VyZQppdCBvdXQgYW5kIHByb2dyYW0gdGhlIG11eCBhY2NvcmRpbmdseS4KCnYy OgogLSBDb25maXJtZWQgdGhhdCBWQlQncyBkdm8gcG9ydCByZWZlcnMgdG8gdGhlIERESSBhbmQg bm90IHRoZSBQSFkuCiAgIFRodXMgd2UgY2FuIGNoZWNrIG1vcmUgZXhwbGljaXRseSBmb3IgKGRk aV9kICYmICEoZGRpX2EgfHwgZHNpKSkuICBJZgogICBhIGJhZCBWQlQgY29udHJhZGljdHMgaXRz ZWxmLCBsZXQgaW50ZXJuYWwgZGlzcGxheSB3aW4uICAoVmlsbGUpCgpDYzogQ2xpbnQgVGF5bG9y IDxDbGludG9uLkEuVGF5bG9yQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRo ZXcuZC5yb3BlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9iaW9zLmMgICAgIHwgIDMgKysKIC4uLi9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9j b21ib19waHkuYyAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggICAgICAgICAgICAgICB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgNDAg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMK aW5kZXggYzQ3MTA4ODljYjMyLi4wYzk4MDgxMzJkNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCkBAIC0xNjY4LDYgKzE2NjgsOSBAQCBwYXJzZV9nZW5lcmFs X2RlZmluaXRpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJaWYgKCFj aGlsZC0+ZGV2aWNlX3R5cGUpCiAJCQljb250aW51ZTsKIAorCQlEUk1fREVCVUdfS01TKCJGb3Vu ZCBWQlQgY2hpbGQgZGV2aWNlIHdpdGggdHlwZSAweCV4XG4iLAorCQkJICAgICAgY2hpbGQtPmRl dmljZV90eXBlKTsKKwogCQkvKgogCQkgKiBDb3B5IGFzIG11Y2ggYXMgd2Uga25vdyAoc2l6ZW9m KSBhbmQgaXMgYXZhaWxhYmxlCiAJCSAqIChjaGlsZF9kZXZfc2l6ZSkgb2YgdGhlIGNoaWxkIGRl dmljZS4gQWNjZXNzaW5nIHRoZSBkYXRhIG11c3QKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29tYm9fcGh5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2NvbWJvX3BoeS5jCmluZGV4IDg0MTcwOGRhNWE1Ni4uYzE4MDc5YTA5YTJl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbWJvX3Bo eS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29tYm9fcGh5LmMK QEAgLTI2MCw2ICsyNjAsMzIgQEAgdm9pZCBpbnRlbF9jb21ib19waHlfcG93ZXJfdXBfbGFuZXMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCUk5MTVfV1JJVEUoSUNMX1BPUlRf Q0xfRFcxMChwb3J0KSwgdmFsKTsKIH0KIAorc3RhdGljIHUzMiBlaGxfY29tYm9fcGh5X2FfbXV4 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1MzIgdmFsKQoreworCWJvb2wgZGRpX2Ff cHJlc2VudCA9IGk5MTUtPnZidC5kZGlfcG9ydF9pbmZvW1BPUlRfQV0uY2hpbGQgIT0gTlVMTDsK Kwlib29sIGRkaV9kX3ByZXNlbnQgPSBpOTE1LT52YnQuZGRpX3BvcnRfaW5mb1tQT1JUX0RdLmNo aWxkICE9IE5VTEw7CisJYm9vbCBkc2lfcHJlc2VudCA9IGludGVsX2Jpb3NfaXNfZHNpX3ByZXNl bnQoaTkxNSwgTlVMTCk7CisKKwkvKgorCSAqIFZCVCdzICdkdm8gcG9ydCcgZmllbGQgZm9yIGNo aWxkIGRldmljZXMgcmVmZXJlbmNlcyB0aGUgRERJLCBub3QKKwkgKiB0aGUgUEhZLiAgU28gaWYg Y29tYm8gUEhZIEEgaXMgd2lyZWQgdXAgdG8gZHJpdmUgYW4gZXh0ZXJuYWwKKwkgKiBkaXNwbGF5 LCB3ZSBzaG91bGQgc2VlIGEgY2hpbGQgZGV2aWNlIHByZXNlbnQgb24gUE9SVF9EIGFuZAorCSAq IG5vdGhpbmcgb24gUE9SVF9BIGFuZCBubyBEU0kuCisJICovCisJaWYgKGRkaV9kX3ByZXNlbnQg JiYgIWRkaV9hX3ByZXNlbnQgJiYgIWRzaV9wcmVzZW50KQorCQlyZXR1cm4gdmFsIHwgSUNMX1BI WV9NSVNDX01VWF9ERElEOworCisJLyoKKwkgKiBJZiB3ZSBlbmNvdW50ZXIgYSBWQlQgdGhhdCBj bGFpbXMgdG8gaGF2ZSBhbiBleHRlcm5hbCBkaXNwbGF5IG9uCisJICogRERJLUQgX2FuZF8gYW4g aW50ZXJuYWwgZGlzcGxheSBvbiBEREktQS9EU0kgbGVhdmUgYW4gZXJyb3IgbWVzc2FnZQorCSAq IGluIHRoZSBsb2cgYW5kIGxldCB0aGUgaW50ZXJuYWwgZGlzcGxheSB3aW4uCisJICovCisJaWYg KGRkaV9kX3ByZXNlbnQpCisJCURSTV9FUlJPUigiVkJUIGNsYWltcyB0byBoYXZlIGJvdGggaW50 ZXJuYWwgYW5kIGV4dGVybmFsIGRpc3BsYXlzIG9uIFBIWSBBLiAgQ29uZmlndXJpbmcgZm9yIGlu dGVybmFsLlxuIik7CisKKwlyZXR1cm4gdmFsICYgfklDTF9QSFlfTUlTQ19NVVhfRERJRDsKK30K Kwogc3RhdGljIHZvaWQgaWNsX2NvbWJvX3BoeXNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiB7CiAJZW51bSBwb3J0IHBvcnQ7CkBAIC0yNzMsNyArMjk5LDE3IEBAIHN0 YXRpYyB2b2lkIGljbF9jb21ib19waHlzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCQkJY29udGludWU7CiAJCX0KIAorCQkvKgorCQkgKiBFSEwncyBjb21ibyBQSFkg QSBjYW4gYmUgaG9va2VkIHVwIHRvIGVpdGhlciBhbiBleHRlcm5hbAorCQkgKiBkaXNwbGF5ICh2 aWEgRERJLUQpIG9yIGFuIGludGVybmFsIGRpc3BsYXkgKHZpYSBEREktQSBvcgorCQkgKiB0aGUg RFNJIERQSFkpLiAgVGhpcyBpcyBhIG1vdGhlcmJvYXJkIGRlc2lnbiBkZWNpc2lvbiB0aGF0CisJ CSAqIGNhbid0IGJlIGNoYW5nZWQgb24gdGhlIGZseSwgc28gaW5pdGlhbGl6ZSB0aGUgUEhZJ3Mg bXV4CisJCSAqIGJhc2VkIG9uIHdoZXRoZXIgb3VyIFZCVCBpbmRpY2F0ZXMgdGhlIHByZXNlbmNl IG9mIGFueQorCQkgKiAiaW50ZXJuYWwiIGNoaWxkIGRldmljZXMuCisJCSAqLwogCQl2YWwgPSBJ OTE1X1JFQUQoSUNMX1BIWV9NSVNDKHBvcnQpKTsKKwkJaWYgKCFJU19JQ0VMQUtFKGRldl9wcml2 KSAmJiBwb3J0ID09IFBPUlRfQSkKKwkJCXZhbCA9IGVobF9jb21ib19waHlfYV9tdXgoZGV2X3By aXYsIHZhbCk7CiAJCXZhbCAmPSB+SUNMX1BIWV9NSVNDX0RFX0lPX0NPTVBfUFdSX0RPV047CiAJ CUk5MTVfV1JJVEUoSUNMX1BIWV9NSVNDKHBvcnQpLCB2YWwpOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAppbmRleCAxYWUzNmI5ZWZjODUuLjY4YWZhZmFmZDMxMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCkBAIC0xMTEzOCw2ICsxMTEzOCw3IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewogI2Rl ZmluZSBfSUNMX1BIWV9NSVNDX0IJCTB4NjRDMDQKICNkZWZpbmUgSUNMX1BIWV9NSVNDKHBvcnQp CV9NTUlPX1BPUlQocG9ydCwgX0lDTF9QSFlfTUlTQ19BLCBcCiAJCQkJCQkgX0lDTF9QSFlfTUlT Q19CKQorI2RlZmluZSAgSUNMX1BIWV9NSVNDX01VWF9ERElECQkJKDEgPDwgMjgpCiAjZGVmaW5l ICBJQ0xfUEhZX01JU0NfREVfSU9fQ09NUF9QV1JfRE9XTgkoMSA8PCAyMykKIAogLyogSWNlbGFr ZSBEaXNwbGF5IFN0cmVhbSBDb21wcmVzc2lvbiBSZWdpc3RlcnMgKi8KLS0gCjIuMTcuMgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4