From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: [PATCH v3 3/4] drm/i915/edp: Allow alternate fixed mode for eDP if available. Date: Tue, 11 Jul 2017 15:19:55 -0700 Message-ID: <1499811596-14634-4-git-send-email-jim.bride@linux.intel.com> References: <1499811596-14634-1-git-send-email-jim.bride@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id D830D6E05C for ; Tue, 11 Jul 2017 22:22:26 +0000 (UTC) In-Reply-To: <1499811596-14634-1-git-send-email-jim.bride@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 Cc: Jani Nikula , Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org U29tZSBmaXhlZCByZXNvbHV0aW9uIHBhbmVscyBhY3R1YWxseSBzdXBwb3J0IG1vcmUgdGhhbiBv bmUgbW9kZSwKd2l0aCB0aGUgb25seSB0aGluZyBkaWZmZXJlbnQgYmVpbmcgdGhlIHJlZnJlc2gg cmF0ZS4gIEhhdmluZyB0aGlzCmFsdGVybmF0ZSBtb2RlIGF2YWlsYWJsZSB0byB1cyBpcyBkZXNp cmFibGUsIGJlY2F1c2UgaXQgYWxsb3dzIHVzIHRvCnRlc3QgUFNSIG9uIHBhbmVscyB3aG9zZSBz ZXR1cCB0aW1lIGF0IHRoZSBwcmVmZXJyZWQgbW9kZSBpcyB0b28gbG9uZy4KV2l0aCB0aGlzIHBh dGNoIHdlIGFsbG93IHRoZSB1c2Ugb2YgdGhlIGFsdGVybmF0ZSBtb2RlIGlmIGl0J3MKYXZhaWxh YmxlIGFuZCBpdCB3YXMgc3BlY2lmaWNhbGx5IHJlcXVlc3RlZC4KCnYyOiBSZWJhc2UKCkNjOiBS b2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+CkNjOiBQYXVsbyBaYW5vbmkgPHBh dWxvLnIuemFub25pQGludGVsLmNvbT4KQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IEppbSBCcmlkZSA8amltLmJyaWRlQGxpbnV4LmludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgIHwgMzQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHZkcy5jICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcGFuZWwuYyB8ICAyICsrCiA2IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDgg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggNjljODEzMGMuLmVlMmEz ZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtMTYwNiw2ICsxNjA2LDE5IEBAIHN0YXRp YyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAly ZXR1cm4gYnBwOwogfQogCitzdGF0aWMgYm9vbCBpbnRlbF9lZHBfY29tcGFyZV9hbHRfbW9kZShz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbTEsCisJCQkJICAgICAgIHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptMikKK3sKKwlyZXR1cm4gKG0xLT5oZGlzcGxheSA9PSBtMi0+aGRpc3BsYXkgJiYK KwkJbTEtPmhzeW5jX3N0YXJ0ID09IG0yLT5oc3luY19zdGFydCAmJgorCQltMS0+aHN5bmNfZW5k ID09IG0yLT5oc3luY19lbmQgJiYKKwkJbTEtPmh0b3RhbCA9PSBtMi0+aHRvdGFsICYmCisJCW0x LT52ZGlzcGxheSA9PSBtMi0+dmRpc3BsYXkgJiYKKwkJbTEtPnZzeW5jX3N0YXJ0ID09IG0yLT52 c3luY19zdGFydCAmJgorCQltMS0+dnN5bmNfZW5kID09IG0yLT52c3luY19lbmQgJiYKKwkJbTEt PnZ0b3RhbCA9PSBtMi0+dnRvdGFsKTsKK30KKwogYm9vbAogaW50ZWxfZHBfY29tcHV0ZV9jb25m aWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcsCkBAIC0xNjUyLDggKzE2NjUsMTYgQEAgaW50ZWxfZHBfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXBpcGVfY29uZmlnLT5o YXNfYXVkaW8gPSBpbnRlbF9jb25uX3N0YXRlLT5mb3JjZV9hdWRpbyA9PSBIRE1JX0FVRElPX09O OwogCiAJaWYgKGlzX2VkcChpbnRlbF9kcCkgJiYgaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXhl ZF9tb2RlKSB7Ci0JCWludGVsX2ZpeGVkX3BhbmVsX21vZGUoaW50ZWxfY29ubmVjdG9yLT5wYW5l bC5maXhlZF9tb2RlLAotCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlKTsKKwkJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKnBhbmVsX21vZGUgPQorCQkJaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5hbHRf Zml4ZWRfbW9kZTsKKwkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnJlcV9tb2RlID0gJnBpcGVf Y29uZmlnLT5iYXNlLm1vZGU7CisKKwkJaWYgKCFpbnRlbF9lZHBfY29tcGFyZV9hbHRfbW9kZShy ZXFfbW9kZSwgcGFuZWxfbW9kZSkpCisJCQlwYW5lbF9tb2RlID0gaW50ZWxfY29ubmVjdG9yLT5w YW5lbC5maXhlZF9tb2RlOworCisJCWRybV9tb2RlX2RlYnVnX3ByaW50bW9kZWxpbmUocGFuZWxf bW9kZSk7CisKKwkJaW50ZWxfZml4ZWRfcGFuZWxfbW9kZShwYW5lbF9tb2RlLCBhZGp1c3RlZF9t b2RlKTsKIAogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CiAJCQlpbnQgcmV0OwpA QCAtNTgxNCw2ICs1ODM1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZWRwX2luaXRfY29ubmVjdG9y KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGlu dGVsX2VuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9 IE5VTEw7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFsdF9maXhlZF9tb2RlID0gTlVMTDsK IAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUgPSBOVUxMOwogCWJvb2wg aGFzX2RwY2Q7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnNjYW47CkBAIC01ODY5LDEzICs1 ODkxLDE0IEBAIHN0YXRpYyBib29sIGludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwLAogCX0KIAlpbnRlbF9jb25uZWN0b3ItPmVkaWQgPSBlZGlkOwogCi0J LyogcHJlZmVyIGZpeGVkIG1vZGUgZnJvbSBFRElEIGlmIGF2YWlsYWJsZSAqLworCS8qIHByZWZl ciBmaXhlZCBtb2RlIGZyb20gRURJRCBpZiBhdmFpbGFibGUsIHNhdmUgYW4gYWx0IG1vZGUgYWxz byAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkoc2NhbiwgJmNvbm5lY3Rvci0+cHJvYmVkX21vZGVz LCBoZWFkKSB7CiAJCWlmICgoc2Nhbi0+dHlwZSAmIERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEKSkg ewogCQkJZml4ZWRfbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsIHNjYW4pOwogCQkJZG93 bmNsb2NrX21vZGUgPSBpbnRlbF9kcF9kcnJzX2luaXQoCiAJCQkJCQlpbnRlbF9jb25uZWN0b3Is IGZpeGVkX21vZGUpOwotCQkJYnJlYWs7CisJCX0gZWxzZSB7CisJCQlhbHRfZml4ZWRfbW9kZSA9 IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsIHNjYW4pOwogCQl9CiAJfQogCkBAIC01OTEyLDcgKzU5 MzUsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKIAkJCSAgICAgIHBpcGVfbmFtZShwaXBlKSk7CiAJfQogCi0JaW50ZWxf cGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwgZG93bmNsb2Nr X21vZGUpOworCWludGVsX3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsIGZpeGVk X21vZGUsIGFsdF9maXhlZF9tb2RlLAorCQkJIGRvd25jbG9ja19tb2RlKTsKIAlpbnRlbF9jb25u ZWN0b3ItPnBhbmVsLmJhY2tsaWdodC5wb3dlciA9IGludGVsX2VkcF9iYWNrbGlnaHRfcG93ZXI7 CiAJaW50ZWxfcGFuZWxfc2V0dXBfYmFja2xpZ2h0KGNvbm5lY3RvciwgcGlwZSk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZDE3YTMyNC4uMGMxNGIwNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKQEAgLTI2NSw2ICsyNjUsNyBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7CiAK IHN0cnVjdCBpbnRlbF9wYW5lbCB7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21v ZGU7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFsdF9maXhlZF9tb2RlOwogCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9kZTsKIAogCS8qIGJhY2tsaWdodCAqLwpAQCAt MTY5Niw2ICsxNjk3LDcgQEAgdm9pZCBpbnRlbF9vdmVybGF5X3Jlc2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7CiAvKiBpbnRlbF9wYW5lbC5jICovCiBpbnQgaW50ZWxfcGFu ZWxfaW5pdChzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsLAogCQkgICAgIHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICpmaXhlZF9tb2RlLAorCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICph bHRfZml4ZWRfbW9kZSwKIAkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2Nr X21vZGUpOwogdm9pZCBpbnRlbF9wYW5lbF9maW5pKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwp Owogdm9pZCBpbnRlbF9maXhlZF9wYW5lbF9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICpmaXhlZF9tb2RlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwppbmRleCA1MGVjODM2Li5k M2E2NjA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwpAQCAtMTg1MSw3ICsxODUxLDcgQEAg dm9pZCBpbnRlbF9kc2lfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBmaXhlZF9tb2RlLT53aWR0aF9tbTsK IAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBmaXhlZF9tb2RlLT5oZWlnaHRf bW07CiAKLQlpbnRlbF9wYW5lbF9pbml0KCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsLCBmaXhlZF9t b2RlLCBOVUxMKTsKKwlpbnRlbF9wYW5lbF9pbml0KCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsLCBm aXhlZF9tb2RlLCBOVUxMLCBOVUxMKTsKIAlpbnRlbF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoY29u bmVjdG9yLCBJTlZBTElEX1BJUEUpOwogCiAJaW50ZWxfZHNpX2FkZF9wcm9wZXJ0aWVzKGludGVs X2Nvbm5lY3Rvcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCmluZGV4IGMxNTQ0YTUuLjM5ZmQ0 ZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCkBAIC01NTQsNyArNTU0LDcgQEAgdm9pZCBp bnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQkgKi8K IAkJCWludGVsX3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsCiAJCQkJCSBpbnRl bF9kdm9fZ2V0X2N1cnJlbnRfbW9kZShjb25uZWN0b3IpLAotCQkJCQkgTlVMTCk7CisJCQkJCSBO VUxMLCBOVUxMKTsKIAkJCWludGVsX2R2by0+cGFuZWxfd2FudHNfZGl0aGVyID0gdHJ1ZTsKIAkJ fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKaW5kZXggNmZlNWQ3Yy4uYTk5NWNjYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwpAQCAtMTE0MCw3ICsxMTQwLDggQEAgdm9pZCBpbnRl bF9sdmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogb3V0OgogCW11 dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKLQlpbnRlbF9wYW5lbF9pbml0 KCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsLCBmaXhlZF9tb2RlLCBkb3duY2xvY2tfbW9kZSk7CisJ aW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwgTlVM TCwKKwkJCSBkb3duY2xvY2tfbW9kZSk7CiAJaW50ZWxfcGFuZWxfc2V0dXBfYmFja2xpZ2h0KGNv bm5lY3RvciwgSU5WQUxJRF9QSVBFKTsKIAogCWx2ZHNfZW5jb2Rlci0+aXNfZHVhbF9saW5rID0g Y29tcHV0ZV9pc19kdWFsX2xpbmtfbHZkcyhsdmRzX2VuY29kZXIpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BhbmVsLmMKaW5kZXggOTZjMmNiZC4uNGU3YmE5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wYW5lbC5jCkBAIC0xOTE5LDExICsxOTE5LDEzIEBAIGludGVsX3BhbmVsX2luaXRfYmFja2xp Z2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwpCiAKIGludCBpbnRlbF9wYW5lbF9p bml0KHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwsCiAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmZpeGVkX21vZGUsCisJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFsdF9m aXhlZF9tb2RlLAogCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9k ZSkKIHsKIAlpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhwYW5lbCk7CiAKIAlwYW5l bC0+Zml4ZWRfbW9kZSA9IGZpeGVkX21vZGU7CisJcGFuZWwtPmFsdF9maXhlZF9tb2RlID0gYWx0 X2ZpeGVkX21vZGU7CiAJcGFuZWwtPmRvd25jbG9ja19tb2RlID0gZG93bmNsb2NrX21vZGU7CiAK IAlyZXR1cm4gMDsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK