From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v3 4/4] drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT Date: Wed, 04 May 2016 19:20:58 +0530 Message-ID: <5729FE42.3070804@intel.com> References: <1462216105-20881-5-git-send-email-ville.syrjala@linux.intel.com> <1462362322-31278-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1462362322-31278-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: ville.syrjala@linux.intel.com, dri-devel@lists.freedesktop.org Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Tore Anderson , Paulo Zanoni , stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org UmV2aWV3ZWQtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4K ClJlZ2FyZHMKU2hhc2hhbmsKT24gNS80LzIwMTYgNToxNSBQTSwgdmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KPgo+IERQIGR1YWwgbW9kZSB0eXBlIDEgRFZJIGFkYXB0b3JzIGFy ZW4ndCByZXF1aXJlZCB0byBpbXBsZW1lbnQgYW55Cj4gcmVnaXN0ZXJzLCBzbyBpdCdzIGEgYml0 IGhhcmQgdG8gZGV0ZWN0IHRoZW0uIFRoZSBiZXN0IHdheSB3b3VsZAo+IGJlIHRvIGNoZWNrIHRo ZSBzdGF0ZSBvZiB0aGUgQ09ORklHMSBwaW4sIGJ1dCB3ZSBoYXZlIG5vIHdheSB0bwo+IGRvIHRo YXQuIFNvIGFzIGEgbGFzdCByZXNvcnQsIGNoZWNrIHRoZSBWQlQgdG8gc2VlIGlmIHRoZSBIRE1J Cj4gcG9ydCBpcyBpbiBmYWN0IGEgZHVhbCBtb2RlIGNhcGFibGUgRFAgcG9ydC4KPgo+IHYyOiBE ZWFsIHdpdGggVkJUIGNvZGUgcmVvcmdhbml6YXRpb24KPiAgICAgIERlYWwgd2l0aCBEUk1fRFBf RFVBTF9NT0RFX1VOS05PV04KPiAgICAgIFJlZHVjZSBERVZJQ0VfVFlQRV9EUF9EVUFMX01PREVf QklUUyBhIGJpdAo+ICAgICAgQWNjZXB0IGJvdGggRFAgYW5kIEhETUkgZHZvX3BvcnQgaW4gVkJU IGFzIG15IEJTVwo+ICAgICAgYXQgbGVhc3QgZGVjbGFyZSBpdHMgRFAgcG9ydCBhcyBIRE1JIDoo Cj4gdjM6IElnbm9yZSBERVZJQ0VfVFlQRV9OT1RfSERNSV9PVVRQVVQgKFNoYXNoYW5sKQo+Cj4g Q2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogVG9yZSBBbmRlcnNvbiA8dG9yZUBmdWQu bm8+Cj4gUmVwb3J0ZWQtYnk6IFRvcmUgQW5kZXJzb24gPHRvcmVAZnVkLm5vPgo+IEZpeGVzOiA3 YTBiYWE2MjM0NDYgKCJSZXZlcnQgImRybS9pOTE1OiBEaXNhYmxlIDEyYnBjIGhkbWkgZm9yIG5v dyIiKQo+IENjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGludGVsLmNvbT4KPiBDYzog U2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+IENjOiBEYW5pZWwg VmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYmlvcy5jICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgIHwgMzAgKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3ZidF9kZWZzLmggfCAxMiArKysrKysrKysrKysKPiAgIDQgZmlsZXMgY2hhbmdlZCwgNzUgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGlu ZGV4IGZmNmFhZjBjNGUxZS4uYWJlNDM5MjJhMDhmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gQEAgLTM0ODksNiArMzQ4OSw3IEBAIGJvb2wgaW50ZWxfYmlvc19pc192YWxpZF92YnQo Y29uc3Qgdm9pZCAqYnVmLCBzaXplX3Qgc2l6ZSk7Cj4gICBib29sIGludGVsX2Jpb3NfaXNfdHZf cHJlc2VudChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAgYm9vbCBpbnRl bF9iaW9zX2lzX2x2ZHNfcHJlc2VudChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IHU4ICppMmNfcGluKTsKPiAgIGJvb2wgaW50ZWxfYmlvc19pc19wb3J0X2VkcChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KTsKPiArYm9vbCBpbnRlbF9i aW9zX2lzX3BvcnRfZHBfZHVhbF9tb2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgZW51bSBwb3J0IHBvcnQpOwo+ICAgYm9vbCBpbnRlbF9iaW9zX2lzX2RzaV9wcmVzZW50KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0ICpwb3J0KTsKPiAgIGJv b2wgaW50ZWxfYmlvc19pc19wb3J0X2hwZF9pbnZlcnRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgICBlbnVtIHBvcnQgcG9ydCk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Jpb3MuYwo+IGluZGV4IDgxNTE4MTE2ZTAwZC4uOGI2OGM0ODgyZmJhIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+IEBAIC0xNTk3LDYgKzE1OTcsNDIgQEAgYm9vbCBp bnRlbF9iaW9zX2lzX3BvcnRfZWRwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg ZW51bSBwb3J0IHBvcnQpCj4gICAJcmV0dXJuIGZhbHNlOwo+ICAgfQo+Cj4gK2Jvb2wgaW50ZWxf Ymlvc19pc19wb3J0X2RwX2R1YWxfbW9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGVudW0gcG9ydCBwb3J0KQo+ICt7Cj4gKwlzdGF0aWMgY29uc3Qgc3RydWN0IHsKPiArCQl1 MTYgZHAsIGhkbWk7Cj4gKwl9IHBvcnRfbWFwcGluZ1tdID0gewo+ICsJCS8qCj4gKwkJICogQnVn Z3kgVkJUcyBtYXkgZGVjbGFyZSBEUCBwb3J0cyBhcyBoYXZpbmcKPiArCQkgKiBIRE1JIHR5cGUg ZHZvX3BvcnQgOiggU28gbGV0J3MgY2hlY2sgYm90aC4KPiArCQkgKi8KPiArCQlbUE9SVF9CXSA9 IHsgRFZPX1BPUlRfRFBCLCBEVk9fUE9SVF9IRE1JQiwgfSwKPiArCQlbUE9SVF9DXSA9IHsgRFZP X1BPUlRfRFBDLCBEVk9fUE9SVF9IRE1JQywgfSwKPiArCQlbUE9SVF9EXSA9IHsgRFZPX1BPUlRf RFBELCBEVk9fUE9SVF9IRE1JRCwgfSwKPiArCQlbUE9SVF9FXSA9IHsgRFZPX1BPUlRfRFBFLCBE Vk9fUE9SVF9IRE1JRSwgfSwKPiArCX07Cj4gKwlpbnQgaTsKPiArCj4gKwlpZiAocG9ydCA9PSBQ T1JUX0EgfHwgcG9ydCA+PSBBUlJBWV9TSVpFKHBvcnRfbWFwcGluZykpCj4gKwkJcmV0dXJuIGZh bHNlOwo+ICsKPiArCWlmICghZGV2X3ByaXYtPnZidC5jaGlsZF9kZXZfbnVtKQo+ICsJCXJldHVy biBmYWxzZTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgZGV2X3ByaXYtPnZidC5jaGlsZF9kZXZf bnVtOyBpKyspIHsKPiArCQljb25zdCB1bmlvbiBjaGlsZF9kZXZpY2VfY29uZmlnICpwX2NoaWxk ID0KPiArCQkJJmRldl9wcml2LT52YnQuY2hpbGRfZGV2W2ldOwo+ICsKPiArCQlpZiAoKHBfY2hp bGQtPmNvbW1vbi5kdm9fcG9ydCA9PSBwb3J0X21hcHBpbmdbcG9ydF0uZHAgfHwKPiArCQkgICAg IHBfY2hpbGQtPmNvbW1vbi5kdm9fcG9ydCA9PSBwb3J0X21hcHBpbmdbcG9ydF0uaGRtaSkgJiYK PiArCQkgICAgKHBfY2hpbGQtPmNvbW1vbi5kZXZpY2VfdHlwZSAmIERFVklDRV9UWVBFX0RQX0RV QUxfTU9ERV9CSVRTKSA9PQo+ICsJCSAgICAoREVWSUNFX1RZUEVfRFBfRFVBTF9NT0RFICYgREVW SUNFX1RZUEVfRFBfRFVBTF9NT0RFX0JJVFMpKQo+ICsJCQlyZXR1cm4gdHJ1ZTsKPiArCX0KPiAr Cj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gICAvKioKPiAgICAqIGludGVsX2Jpb3NfaXNf ZHNpX3ByZXNlbnQgLSBpcyBEU0kgcHJlc2VudCBpbiBWQlQKPiAgICAqIEBkZXZfcHJpdjoJaTkx NSBkZXZpY2UgaW5zdGFuY2UKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggYzRk OTNlNmI0YmVkLi42YjUyYzZhY2NmNmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j Cj4gQEAgLTEzOTYsMTYgKzEzOTYsMzggQEAgaW50ZWxfaGRtaV91bnNldF9lZGlkKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gICB9Cj4KPiAgIHN0YXRpYyB2b2lkCj4gLWludGVs X2hkbWlfZHBfZHVhbF9tb2RlX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+ICtpbnRlbF9oZG1pX2RwX2R1YWxfbW9kZV9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwgYm9vbCBoYXNfZWRpZCkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsKPiAgIAlzdHJ1Y3QgaW50 ZWxfaGRtaSAqaGRtaSA9IGludGVsX2F0dGFjaGVkX2hkbWkoY29ubmVjdG9yKTsKPiArCWVudW0g cG9ydCBwb3J0ID0gaGRtaV90b19kaWdfcG9ydChoZG1pKS0+cG9ydDsKPiAgIAlzdHJ1Y3QgaTJj X2FkYXB0ZXIgKmFkYXB0ZXIgPQo+ICAgCQlpbnRlbF9nbWJ1c19nZXRfYWRhcHRlcihkZXZfcHJp diwgaGRtaS0+ZGRjX2J1cyk7Cj4gICAJZW51bSBkcm1fZHBfZHVhbF9tb2RlX3R5cGUgdHlwZSA9 IGRybV9kcF9kdWFsX21vZGVfZGV0ZWN0KGFkYXB0ZXIpOwo+Cj4gLQlpZiAodHlwZSA9PSBEUk1f RFBfRFVBTF9NT0RFX05PTkUgfHwKPiAtCSAgICB0eXBlID09IERSTV9EUF9EVUFMX01PREVfVU5L Tk9XTikKPiArCS8qCj4gKwkgKiBUeXBlIDEgRFZJIGFkYXB0b3JzIGFyZSBub3QgcmVxdWlyZWQg dG8gaW1wbGVtZW50IGFueQo+ICsJICogcmVnaXN0ZXJzLCBzbyB3ZSBjYW4ndCBhbHdheXMgZGV0 ZWN0IHRoZWlyIHByZXNlbmNlLgo+ICsJICogSWRlYWxseSB3ZSBzaG91bGQgYmUgYWJsZSB0byBj aGVjayB0aGUgc3RhdGUgb2YgdGhlCj4gKwkgKiBDT05GSUcxIHBpbiwgYnV0IG5vIHN1Y2ggbHVj ayBvbiBvdXIgaGFyZHdhcmUuCj4gKwkgKgo+ICsJICogVGhlIG9ubHkgbWV0aG9kIGxlZnQgdG8g dXMgaXMgdG8gY2hlY2sgdGhlIFZCVCB0byBzZWUKPiArCSAqIGlmIHRoZSBwb3J0IGlzIGEgZHVh bCBtb2RlIGNhcGFibGUgRFAgcG9ydC4gQnV0IGxldCdzCj4gKwkgKiBvbmx5IGRvIHRoYXQgd2hl biB3ZSBzdWNlc2Z1bGx5IHJlYWQgdGhlIEVESUQsIHRvIGF2b2lkCj4gKwkgKiBjb25mdXNpbmcg bG9nIG1lc3NhZ2VzIGFib3V0IERQIGR1YWwgbW9kZSBhZGFwdG9ycyB3aGVuCj4gKwkgKiB0aGVy ZSdzIG5vdGhpbmcgY29ubmVjdGVkIHRvIHRoZSBwb3J0Lgo+ICsJICovCj4gKwlpZiAodHlwZSA9 PSBEUk1fRFBfRFVBTF9NT0RFX1VOS05PV04pIHsKPiArCQlpZiAoaGFzX2VkaWQgJiYKPiArCQkg ICAgaW50ZWxfYmlvc19pc19wb3J0X2RwX2R1YWxfbW9kZShkZXZfcHJpdiwgcG9ydCkpIHsKPiAr CQkJRFJNX0RFQlVHX0tNUygiQXNzdW1pbmcgRFAgZHVhbCBtb2RlIGFkYXB0b3IgcHJlc2VuY2Ug YmFzZWQgb24gVkJUXG4iKTsKPiArCQkJdHlwZSA9IERSTV9EUF9EVUFMX01PREVfVFlQRTFfRFZJ Owo+ICsJCX0gZWxzZSB7Cj4gKwkJCXR5cGUgPSBEUk1fRFBfRFVBTF9NT0RFX05PTkU7Cj4gKwkJ fQo+ICsJfQo+ICsKPiArCWlmICh0eXBlID09IERSTV9EUF9EVUFMX01PREVfTk9ORSkKPiAgIAkJ cmV0dXJuOwo+Cj4gICAJaGRtaS0+ZHBfZHVhbF9tb2RlLnR5cGUgPSB0eXBlOwo+IEBAIC0xNDMy LDcgKzE0NTQsNyBAQCBpbnRlbF9oZG1pX3NldF9lZGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsIGJvb2wgZm9yY2UpCj4gICAJCQkJICAgIGludGVsX2dtYnVzX2dldF9hZGFwdGVy KGRldl9wcml2LAo+ICAgCQkJCSAgICBpbnRlbF9oZG1pLT5kZGNfYnVzKSk7Cj4KPiAtCQlpbnRl bF9oZG1pX2RwX2R1YWxfbW9kZV9kZXRlY3QoY29ubmVjdG9yKTsKPiArCQlpbnRlbF9oZG1pX2Rw X2R1YWxfbW9kZV9kZXRlY3QoY29ubmVjdG9yLCBlZGlkICE9IE5VTEwpOwo+Cj4gICAJCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fR01CVVMpOwo+ICAgCX0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmJ0X2RlZnMuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3ZidF9kZWZzLmgKPiBpbmRleCBhNGE0MmYyNTRjMzUu LjRmOTc5OWYwMjVhOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF92 YnRfZGVmcy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmJ0X2RlZnMuaAo+ IEBAIC03NDYsNiArNzQ2LDcgQEAgc3RydWN0IGJkYl9wc3Igewo+ICAgI2RlZmluZQkgREVWSUNF X1RZUEVfSU5UX1RWCTB4MTAwOQo+ICAgI2RlZmluZQkgREVWSUNFX1RZUEVfSERNSQkweDYwRDIK PiAgICNkZWZpbmUJIERFVklDRV9UWVBFX0RQCQkweDY4QzYKPiArI2RlZmluZQkgREVWSUNFX1RZ UEVfRFBfRFVBTF9NT0RFCTB4NjBENgo+ICAgI2RlZmluZQkgREVWSUNFX1RZUEVfZURQCTB4NzhD Ngo+Cj4gICAjZGVmaW5lICBERVZJQ0VfVFlQRV9DTEFTU19FWFRFTlNJT04JKDEgPDwgMTUpCj4g QEAgLTc4MCw2ICs3ODEsMTcgQEAgc3RydWN0IGJkYl9wc3Igewo+ICAgCSBERVZJQ0VfVFlQRV9E SVNQTEFZUE9SVF9PVVRQVVQgfCBcCj4gICAJIERFVklDRV9UWVBFX0FOQUxPR19PVVRQVVQpCj4K PiArI2RlZmluZSBERVZJQ0VfVFlQRV9EUF9EVUFMX01PREVfQklUUyBcCj4gKwkoREVWSUNFX1RZ UEVfSU5URVJOQUxfQ09OTkVDVE9SIHwgXAo+ICsJIERFVklDRV9UWVBFX01JUElfT1VUUFVUIHwg XAo+ICsJIERFVklDRV9UWVBFX0NPTVBPU0lURV9PVVRQVVQgfCBcCj4gKwkgREVWSUNFX1RZUEVf TFZEU19TSU5HQUxJTkcgfCBcCj4gKwkgREVWSUNFX1RZUEVfVE1EU19EVklfU0lHTkFMSU5HIHwg XAo+ICsJIERFVklDRV9UWVBFX1ZJREVPX1NJR05BTElORyB8IFwKPiArCSBERVZJQ0VfVFlQRV9E SVNQTEFZUE9SVF9PVVRQVVQgfCBcCj4gKwkgREVWSUNFX1RZUEVfRElHSVRBTF9PVVRQVVQgfCBc Cj4gKwkgREVWSUNFX1RZUEVfQU5BTE9HX09VVFBVVCkKPiArCj4gICAvKiBkZWZpbmUgdGhlIERW TyBwb3J0IGZvciBIRE1JIG91dHB1dCB0eXBlICovCj4gICAjZGVmaW5lCQlEVk9fQgkJMQo+ICAg I2RlZmluZQkJRFZPX0MJCTIKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK