From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC PATCH] drm/edid: index CEA/HDMI mode tables using the VIC Date: Wed, 2 Dec 2015 14:24:22 +0200 Message-ID: <20151202122422.GX4437@intel.com> References: <1448983014-26551-1-git-send-email-jani.nikula@intel.com> <20151201152445.GF4437@intel.com> <87si3l2hun.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 0662F6E99E for ; Wed, 2 Dec 2015 04:24:25 -0800 (PST) Content-Disposition: inline In-Reply-To: <87si3l2hun.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jani Nikula Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBEZWMgMDIsIDIwMTUgYXQgMDE6NDY6NDBQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gVHVlLCAwMSBEZWMgMjAxNSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiBUdWUsIERlYyAwMSwgMjAxNSBhdCAwNTox Njo1NFBNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+PiBBZGQgYSBkdW1teSBlbnRyeSB0 byBDRUEvSERNSSBtb2RlIHRhYmxlcyBzbyB0aGV5IGNhbiBiZSBpbmRleGVkCj4gPj4gZGlyZWN0 bHkgdXNpbmcgdGhlIFZJQywgYXZvaWRpbmcgYSArMS8tMSBkYW5jZSBoZXJlIGFuZCB0aGVyZS4g VGhpcyBhZGRzCj4gPj4gY2xhcml0eSB0byB0aGUgZXJyb3IgY2hlY2tpbmcgZm9yIHZhcmlvdXMg ZnVuY3Rpb25zIHRoYXQgcmV0dXJuIHRoZSBWSUMKPiA+PiBvbiBzdWNjZXNzIGFuZCB6ZXJvIG9u IGZhaWx1cmU7IHdlIG5vdyBleHBsaWNpdGx5IGNoZWNrIGZvciAwIGluc3RlYWQgb2YKPiA+PiBq dXN0IHN1YnRyYWN0aW5nIG9uZSBmcm9tIGFuIHVuc2lnbmVkIHR5cGUuCj4gPj4gCj4gPj4gQ2M6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4gU2ln bmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiA+PiAKPiA+ PiAtLS0KPiA+PiAKPiA+PiBUaGlzIGlzIG9uIHRvcCBvZgo+ID4+IAo+ID4+IGNvbW1pdCA0YzZi Y2Y0NDU0OTkwN2NiNTBiNjdmOThlYjEzNzE3YTRhZGM2YjMzCj4gPj4gQXV0aG9yOiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4+IERhdGU6ICAgTW9u IE5vdiAxNiAyMTowNToxMiAyMDE1ICswMjAwCj4gPj4gCj4gPj4gICAgIGRybS9lZGlkOiBNYWtl IHRoZSBkZXRhaWxlZCB0aW1pbmcgQ0VBL0hETUkgbW9kZSBmaXh1cCBhY2NlcHQgdXAgdG8gNWtI eiBjbG9jayBkaWZmZXJlbmNlCj4gPj4gCj4gPj4gaW4gZHJtLWludGVsL3RvcGljL2RybS1taXNj Cj4gPj4gLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIHwgODQgKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4+ICAxIGZpbGUgY2hhbmdl ZCwgNDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCj4gPj4gCj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlk LmMKPiA+PiBpbmRleCBjMjE0ZjEyNDZjYjQuLmFlYTA5ZWFlNDA3ZSAxMDA2NDQKPiA+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZWRpZC5jCj4gPiA8c25pcD4KPiA+PiBAQCAtMjcxMywxNiArMjcxNiwxNiBAQCBhZGRfYWx0 ZXJuYXRlX2NlYV9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3Qg ZWRpZCAqZWRpZCkKPiA+PiAgCWxpc3RfZm9yX2VhY2hfZW50cnkobW9kZSwgJmNvbm5lY3Rvci0+ cHJvYmVkX21vZGVzLCBoZWFkKSB7Cj4gPj4gIAkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmNlYV9tb2RlID0gTlVMTDsKPiA+PiAgCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbmV3 bW9kZTsKPiA+PiAtCQl1OCBtb2RlX2lkeCA9IGRybV9tYXRjaF9jZWFfbW9kZShtb2RlKSAtIDE7 Cj4gPj4gKwkJdTggdmljID0gZHJtX21hdGNoX2NlYV9tb2RlKG1vZGUpOwo+ID4+ICAJCXVuc2ln bmVkIGludCBjbG9jazEsIGNsb2NrMjsKPiA+PiAgCj4gPj4gLQkJaWYgKG1vZGVfaWR4IDwgQVJS QVlfU0laRShlZGlkX2NlYV9tb2RlcykpIHsKPiA+PiAtCQkJY2VhX21vZGUgPSAmZWRpZF9jZWFf bW9kZXNbbW9kZV9pZHhdOwo+ID4+ICsJCWlmICh2aWMgPiAwICYmIHZpYyA8IEFSUkFZX1NJWkUo ZWRpZF9jZWFfbW9kZXMpKSB7Cj4gPgo+ID4gTWF5YmUgYWRkIHNvbWUgc29ydCBvZiB2aWNfaXNf dmFsaWQoKSBoZWxwZXJzIHRvIGF2b2lkIGR1cGxpY2F0aW5nCj4gPiB0aGVzZSBpbiBzbyBtYW55 IHBsYWNlcz8KPiAKPiBBbnkgdGhvdWdodHMgb24gaG93IHRoYXQgc2hvdWxkIGhhbmRsZSBDRUEg dnMuIEhETUkgVklDcywgY29tcGFyaW5nCj4gYWdhaW5zdCBBUlJBWV9TSVpFKGVkaWRfY2VhX21v ZGVzKSBhbmQgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKT8KCkkgd2FzIHRoaW5raW5nIG9uZSBm dW5jdGlvbiBmb3IgZWFjaCB0eXBlLCBhbmQgeWVhaCBqdXN0CgpyZXR1cm4gdmljICE9IDAgJiYg dmljIDwgQVJSQVlfU0laRSh3aGF0ZXZlcl9tb2Rlcyk7CgpvciBzb21ldGhpbmcgYWxvbmcgdGhv c2UgbGluZXMuCgo+IAo+IEFkZCB2ZXJzaW9ucyBvZiBkcm1fbWF0Y2hfKl9tb2RlKigpIHRoYXQg cmV0dXJuIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlCj4gKiBvciBOVUxMIG9uIGVycm9ycz8KClNv bWUgdGltZSBhZ28gSSB3YXMgcmVhZGluIHRoZSBEUCBzcGVjLCBhbmQgZW5kZWQgdXAgc2tldGNo aW5nIG91dApzb21lIGZ1bmN0aW9ucyB0aGF0IG1pZ2h0IGhlbHAgZGVhbCB3aXRoIEVESURsZXNz IERQIGJyYW5jaCBkZXZpY2VzLgpGb3IgdGhhdCBJIGNvb2tlZCB1cCBhIGZ1bmN0aW9uIHRvIHJl dHVybiBhIHBvaW50ZXIgdG8gdGhlIGFwcHJvcHJpYXRlCkNFQSBtb2RlIGJhc2VkIG9uIHRoZSB2 aWMgKG9yIE5VTEwgZm9yIGJhZCB2aWNzKS4gU28gSSBndWVzcyBpZiB5b3UgZGlkCnNvbWV0aGlu ZyBsaWtlIHRoYXQgKyB0YWtlIHRoZSBhbHJlYWR5IGV4aXN0aW5nIG1hdGNoIGZ1bmN0aW9uLCB5 b3UKY291bGQgd3JhcCB0aGVtIGluIGEgbmVhdCBwYWNrYWdlIHRoYXQgcmV0dXJucyB0aGUgbWF0 Y2hpbmcgY2VhIG1vZGUKZm9yIHdoYXRldmVyIG1vZGUgaXMgcGFzc2VkIGluLgoKPiAKPiBCUiwK PiBKYW5pLgo+IAo+IAo+ID4KPiA+IE90aGVyd2lzZSBJIGxpa2UgaXQuCj4gPgo+ID4+ICsJCQlj ZWFfbW9kZSA9ICZlZGlkX2NlYV9tb2Rlc1t2aWNdOwo+ID4+ICAJCQljbG9jazIgPSBjZWFfbW9k ZV9hbHRlcm5hdGVfY2xvY2soY2VhX21vZGUpOwo+ID4+ICAJCX0gZWxzZSB7Cj4gPj4gLQkJCW1v ZGVfaWR4ID0gZHJtX21hdGNoX2hkbWlfbW9kZShtb2RlKSAtIDE7Cj4gPj4gLQkJCWlmIChtb2Rl X2lkeCA8IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPiA+PiAtCQkJCWNlYV9tb2RlID0g JmVkaWRfNGtfbW9kZXNbbW9kZV9pZHhdOwo+ID4+ICsJCQl2aWMgPSBkcm1fbWF0Y2hfaGRtaV9t b2RlKG1vZGUpOwo+ID4+ICsJCQlpZiAodmljID4gMCAmJiB2aWMgPCBBUlJBWV9TSVpFKGVkaWRf NGtfbW9kZXMpKSB7Cj4gPj4gKwkJCQljZWFfbW9kZSA9ICZlZGlkXzRrX21vZGVzW3ZpY107Cj4g Pj4gIAkJCQljbG9jazIgPSBoZG1pX21vZGVfYWx0ZXJuYXRlX2Nsb2NrKGNlYV9tb2RlKTsKPiA+ PiAgCQkJfQo+ID4+ICAJCX0KPiA+PiBAQCAtMjc3MywxNyArMjc3NiwxNyBAQCBkcm1fZGlzcGxh eV9tb2RlX2Zyb21fdmljX2luZGV4KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g Pj4gIHsKPiA+PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+ PiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpuZXdtb2RlOwo+ID4+IC0JdTggY2VhX21vZGU7 Cj4gPj4gKwl1OCB2aWM7Cj4gPj4gIAo+ID4+ICAJaWYgKHZpZGVvX2RiID09IE5VTEwgfHwgdmlk ZW9faW5kZXggPj0gdmlkZW9fbGVuKQo+ID4+ICAJCXJldHVybiBOVUxMOwo+ID4+ICAKPiA+PiAg CS8qIENFQSBtb2RlcyBhcmUgbnVtYmVyZWQgMS4uMTI3ICovCj4gPj4gLQljZWFfbW9kZSA9ICh2 aWRlb19kYlt2aWRlb19pbmRleF0gJiAxMjcpIC0gMTsKPiA+PiAtCWlmIChjZWFfbW9kZSA+PSBB UlJBWV9TSVpFKGVkaWRfY2VhX21vZGVzKSkKPiA+PiArCXZpYyA9ICh2aWRlb19kYlt2aWRlb19p bmRleF0gJiAxMjcpOwo+ID4+ICsJaWYgKHZpYyA9PSAwIHx8IHZpYyA+PSBBUlJBWV9TSVpFKGVk aWRfY2VhX21vZGVzKSkKPiA+PiAgCQlyZXR1cm4gTlVMTDsKPiA+PiAgCj4gPj4gLQluZXdtb2Rl ID0gZHJtX21vZGVfZHVwbGljYXRlKGRldiwgJmVkaWRfY2VhX21vZGVzW2NlYV9tb2RlXSk7Cj4g Pj4gKwluZXdtb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGRldiwgJmVkaWRfY2VhX21vZGVzW3Zp Y10pOwo+ID4+ICAJaWYgKCFuZXdtb2RlKQo+ID4+ICAJCXJldHVybiBOVUxMOwo+ID4+ICAKPiA+ PiBAQCAtMjg3OCw4ICsyODgxLDcgQEAgc3RhdGljIGludCBhZGRfaGRtaV9tb2RlKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHU4IHZpYykKPiA+PiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+PiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpu ZXdtb2RlOwo+ID4+ICAKPiA+PiAtCXZpYy0tOyAvKiBWSUNzIHN0YXJ0IGF0IDEgKi8KPiA+PiAt CWlmICh2aWMgPj0gQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKSkgewo+ID4+ICsJaWYgKHZpYyA9 PSAwIHx8IHZpYyA+PSBBUlJBWV9TSVpFKGVkaWRfNGtfbW9kZXMpKSB7Cj4gPj4gIAkJRFJNX0VS Uk9SKCJVbmtub3duIEhETUkgVklDOiAlZFxuIiwgdmljKTsKPiA+PiAgCQlyZXR1cm4gMDsKPiA+ PiAgCX0KPiA+PiBAQCAtMzE3MCwyNCArMzE3MiwyNCBAQCBzdGF0aWMgdm9pZCBmaXh1cF9kZXRh aWxlZF9jZWFfbW9kZV9jbG9jayhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+PiAg ewo+ID4+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmNlYV9tb2RlOwo+ID4+ICAJ aW50IGNsb2NrMSwgY2xvY2syLCBjbG9jazsKPiA+PiAtCXU4IG1vZGVfaWR4Owo+ID4+ICsJdTgg dmljOwo+ID4+ICAJY29uc3QgY2hhciAqdHlwZTsKPiA+PiAgCj4gPj4gIAkvKgo+ID4+ICAJICog YWxsb3cgNWtIeiBjbG9jayBkaWZmZXJlbmNlIGVpdGhlciB3YXkgdG8gYWNjb3VudCBmb3IKPiA+ PiAgCSAqIHRoZSAxMGtIeiBjbG9jayByZXNvbHV0aW9uIGxpbWl0IG9mIGRldGFpbGVkIHRpbWlu Z3MuCj4gPj4gIAkgKi8KPiA+PiAtCW1vZGVfaWR4ID0gZHJtX21hdGNoX2NlYV9tb2RlX2Nsb2Nr X3RvbGVyYW5jZShtb2RlLCA1KSAtIDE7Cj4gPj4gLQlpZiAobW9kZV9pZHggPCBBUlJBWV9TSVpF KGVkaWRfY2VhX21vZGVzKSkgewo+ID4+ICsJdmljID0gZHJtX21hdGNoX2NlYV9tb2RlX2Nsb2Nr X3RvbGVyYW5jZShtb2RlLCA1KTsKPiA+PiArCWlmICh2aWMgPiAwICYmIHZpYyA8IEFSUkFZX1NJ WkUoZWRpZF9jZWFfbW9kZXMpKSB7Cj4gPj4gIAkJdHlwZSA9ICJDRUEiOwo+ID4+IC0JCWNlYV9t b2RlID0gJmVkaWRfY2VhX21vZGVzW21vZGVfaWR4XTsKPiA+PiArCQljZWFfbW9kZSA9ICZlZGlk X2NlYV9tb2Rlc1t2aWNdOwo+ID4+ICAJCWNsb2NrMSA9IGNlYV9tb2RlLT5jbG9jazsKPiA+PiAg CQljbG9jazIgPSBjZWFfbW9kZV9hbHRlcm5hdGVfY2xvY2soY2VhX21vZGUpOwo+ID4+ICAJfSBl bHNlIHsKPiA+PiAtCQltb2RlX2lkeCA9IGRybV9tYXRjaF9oZG1pX21vZGVfY2xvY2tfdG9sZXJh bmNlKG1vZGUsIDUpIC0gMTsKPiA+PiAtCQlpZiAobW9kZV9pZHggPCBBUlJBWV9TSVpFKGVkaWRf NGtfbW9kZXMpKSB7Cj4gPj4gKwkJdmljID0gZHJtX21hdGNoX2hkbWlfbW9kZV9jbG9ja190b2xl cmFuY2UobW9kZSwgNSk7Cj4gPj4gKwkJaWYgKHZpYyA+IDAgJiYgdmljIDwgQVJSQVlfU0laRShl ZGlkXzRrX21vZGVzKSkgewo+ID4+ICAJCQl0eXBlID0gIkhETUkiOwo+ID4+IC0JCQljZWFfbW9k ZSA9ICZlZGlkXzRrX21vZGVzW21vZGVfaWR4XTsKPiA+PiArCQkJY2VhX21vZGUgPSAmZWRpZF80 a19tb2Rlc1t2aWNdOwo+ID4+ICAJCQljbG9jazEgPSBjZWFfbW9kZS0+Y2xvY2s7Cj4gPj4gIAkJ CWNsb2NrMiA9IGhkbWlfbW9kZV9hbHRlcm5hdGVfY2xvY2soY2VhX21vZGUpOwo+ID4+ICAJCX0g ZWxzZSB7Cj4gPj4gQEAgLTMyMDUsNyArMzIwNyw3IEBAIHN0YXRpYyB2b2lkIGZpeHVwX2RldGFp bGVkX2NlYV9tb2RlX2Nsb2NrKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4+ICAJ CXJldHVybjsKPiA+PiAgCj4gPj4gIAlEUk1fREVCVUcoImRldGFpbGVkIG1vZGUgbWF0Y2hlcyAl cyBWSUMgJWQsIGFkanVzdGluZyBjbG9jayAlZCAtPiAlZFxuIiwKPiA+PiAtCQkgIHR5cGUsIG1v ZGVfaWR4ICsgMSwgbW9kZS0+Y2xvY2ssIGNsb2NrKTsKPiA+PiArCQkgIHR5cGUsIHZpYywgbW9k ZS0+Y2xvY2ssIGNsb2NrKTsKPiA+PiAgCW1vZGUtPmNsb2NrID0gY2xvY2s7Cj4gPj4gIH0KPiA+ PiAgCj4gPj4gLS0gCj4gPj4gMi4xLjQKPiAKPiAtLSAKPiBKYW5pIE5pa3VsYSwgSW50ZWwgT3Bl biBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RD Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==