From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC PATCH] drm/edid: index CEA/HDMI mode tables using the VIC Date: Wed, 02 Dec 2015 13:46:40 +0200 Message-ID: <87si3l2hun.fsf@intel.com> References: <1448983014-26551-1-git-send-email-jani.nikula@intel.com> <20151201152445.GF4437@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id B94F06E977 for ; Wed, 2 Dec 2015 03:42:31 -0800 (PST) In-Reply-To: <20151201152445.GF4437@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAwMSBEZWMgMjAxNSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gVHVlLCBEZWMgMDEsIDIwMTUgYXQgMDU6MTY6NTRQTSAr MDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IEFkZCBhIGR1bW15IGVudHJ5IHRvIENFQS9IRE1J IG1vZGUgdGFibGVzIHNvIHRoZXkgY2FuIGJlIGluZGV4ZWQKPj4gZGlyZWN0bHkgdXNpbmcgdGhl IFZJQywgYXZvaWRpbmcgYSArMS8tMSBkYW5jZSBoZXJlIGFuZCB0aGVyZS4gVGhpcyBhZGRzCj4+ IGNsYXJpdHkgdG8gdGhlIGVycm9yIGNoZWNraW5nIGZvciB2YXJpb3VzIGZ1bmN0aW9ucyB0aGF0 IHJldHVybiB0aGUgVklDCj4+IG9uIHN1Y2Nlc3MgYW5kIHplcm8gb24gZmFpbHVyZTsgd2Ugbm93 IGV4cGxpY2l0bHkgY2hlY2sgZm9yIDAgaW5zdGVhZCBvZgo+PiBqdXN0IHN1YnRyYWN0aW5nIG9u ZSBmcm9tIGFuIHVuc2lnbmVkIHR5cGUuCj4+IAo+PiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGludGVsLmNvbT4KPj4gCj4+IC0tLQo+PiAKPj4gVGhpcyBpcyBvbiB0b3Ag b2YKPj4gCj4+IGNvbW1pdCA0YzZiY2Y0NDU0OTkwN2NiNTBiNjdmOThlYjEzNzE3YTRhZGM2YjMz Cj4+IEF1dGhvcjogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KPj4gRGF0ZTogICBNb24gTm92IDE2IDIxOjA1OjEyIDIwMTUgKzAyMDAKPj4gCj4+ICAgICBk cm0vZWRpZDogTWFrZSB0aGUgZGV0YWlsZWQgdGltaW5nIENFQS9IRE1JIG1vZGUgZml4dXAgYWNj ZXB0IHVwIHRvIDVrSHogY2xvY2sgZGlmZmVyZW5jZQo+PiAKPj4gaW4gZHJtLWludGVsL3RvcGlj L2RybS1taXNjCj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgfCA4NCArKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAxIGZpbGUgY2hh bmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQu Ywo+PiBpbmRleCBjMjE0ZjEyNDZjYjQuLmFlYTA5ZWFlNDA3ZSAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlk LmMKPiA8c25pcD4KPj4gQEAgLTI3MTMsMTYgKzI3MTYsMTYgQEAgYWRkX2FsdGVybmF0ZV9jZWFf bW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvciwgc3RydWN0IGVkaWQgKmVkaWQp Cj4+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeShtb2RlLCAmY29ubmVjdG9yLT5wcm9iZWRfbW9kZXMs IGhlYWQpIHsKPj4gIAkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmNlYV9tb2RlID0g TlVMTDsKPj4gIAkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm5ld21vZGU7Cj4+IC0JCXU4IG1v ZGVfaWR4ID0gZHJtX21hdGNoX2NlYV9tb2RlKG1vZGUpIC0gMTsKPj4gKwkJdTggdmljID0gZHJt X21hdGNoX2NlYV9tb2RlKG1vZGUpOwo+PiAgCQl1bnNpZ25lZCBpbnQgY2xvY2sxLCBjbG9jazI7 Cj4+ICAKPj4gLQkJaWYgKG1vZGVfaWR4IDwgQVJSQVlfU0laRShlZGlkX2NlYV9tb2RlcykpIHsK Pj4gLQkJCWNlYV9tb2RlID0gJmVkaWRfY2VhX21vZGVzW21vZGVfaWR4XTsKPj4gKwkJaWYgKHZp YyA+IDAgJiYgdmljIDwgQVJSQVlfU0laRShlZGlkX2NlYV9tb2RlcykpIHsKPgo+IE1heWJlIGFk ZCBzb21lIHNvcnQgb2YgdmljX2lzX3ZhbGlkKCkgaGVscGVycyB0byBhdm9pZCBkdXBsaWNhdGlu Zwo+IHRoZXNlIGluIHNvIG1hbnkgcGxhY2VzPwoKQW55IHRob3VnaHRzIG9uIGhvdyB0aGF0IHNo b3VsZCBoYW5kbGUgQ0VBIHZzLiBIRE1JIFZJQ3MsIGNvbXBhcmluZwphZ2FpbnN0IEFSUkFZX1NJ WkUoZWRpZF9jZWFfbW9kZXMpIGFuZCBBUlJBWV9TSVpFKGVkaWRfNGtfbW9kZXMpPwoKQWRkIHZl cnNpb25zIG9mIGRybV9tYXRjaF8qX21vZGUqKCkgdGhhdCByZXR1cm4gc3RydWN0IGRybV9kaXNw bGF5X21vZGUKKiBvciBOVUxMIG9uIGVycm9ycz8KCkJSLApKYW5pLgoKCj4KPiBPdGhlcndpc2Ug SSBsaWtlIGl0Lgo+Cj4+ICsJCQljZWFfbW9kZSA9ICZlZGlkX2NlYV9tb2Rlc1t2aWNdOwo+PiAg CQkJY2xvY2syID0gY2VhX21vZGVfYWx0ZXJuYXRlX2Nsb2NrKGNlYV9tb2RlKTsKPj4gIAkJfSBl bHNlIHsKPj4gLQkJCW1vZGVfaWR4ID0gZHJtX21hdGNoX2hkbWlfbW9kZShtb2RlKSAtIDE7Cj4+ IC0JCQlpZiAobW9kZV9pZHggPCBBUlJBWV9TSVpFKGVkaWRfNGtfbW9kZXMpKSB7Cj4+IC0JCQkJ Y2VhX21vZGUgPSAmZWRpZF80a19tb2Rlc1ttb2RlX2lkeF07Cj4+ICsJCQl2aWMgPSBkcm1fbWF0 Y2hfaGRtaV9tb2RlKG1vZGUpOwo+PiArCQkJaWYgKHZpYyA+IDAgJiYgdmljIDwgQVJSQVlfU0la RShlZGlkXzRrX21vZGVzKSkgewo+PiArCQkJCWNlYV9tb2RlID0gJmVkaWRfNGtfbW9kZXNbdmlj XTsKPj4gIAkJCQljbG9jazIgPSBoZG1pX21vZGVfYWx0ZXJuYXRlX2Nsb2NrKGNlYV9tb2RlKTsK Pj4gIAkJCX0KPj4gIAkJfQo+PiBAQCAtMjc3MywxNyArMjc3NiwxNyBAQCBkcm1fZGlzcGxheV9t b2RlX2Zyb21fdmljX2luZGV4KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICB7 Cj4+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+PiAgCXN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICpuZXdtb2RlOwo+PiAtCXU4IGNlYV9tb2RlOwo+PiArCXU4IHZp YzsKPj4gIAo+PiAgCWlmICh2aWRlb19kYiA9PSBOVUxMIHx8IHZpZGVvX2luZGV4ID49IHZpZGVv X2xlbikKPj4gIAkJcmV0dXJuIE5VTEw7Cj4+ICAKPj4gIAkvKiBDRUEgbW9kZXMgYXJlIG51bWJl cmVkIDEuLjEyNyAqLwo+PiAtCWNlYV9tb2RlID0gKHZpZGVvX2RiW3ZpZGVvX2luZGV4XSAmIDEy NykgLSAxOwo+PiAtCWlmIChjZWFfbW9kZSA+PSBBUlJBWV9TSVpFKGVkaWRfY2VhX21vZGVzKSkK Pj4gKwl2aWMgPSAodmlkZW9fZGJbdmlkZW9faW5kZXhdICYgMTI3KTsKPj4gKwlpZiAodmljID09 IDAgfHwgdmljID49IEFSUkFZX1NJWkUoZWRpZF9jZWFfbW9kZXMpKQo+PiAgCQlyZXR1cm4gTlVM TDsKPj4gIAo+PiAtCW5ld21vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUoZGV2LCAmZWRpZF9jZWFf bW9kZXNbY2VhX21vZGVdKTsKPj4gKwluZXdtb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGRldiwg JmVkaWRfY2VhX21vZGVzW3ZpY10pOwo+PiAgCWlmICghbmV3bW9kZSkKPj4gIAkJcmV0dXJuIE5V TEw7Cj4+ICAKPj4gQEAgLTI4NzgsOCArMjg4MSw3IEBAIHN0YXRpYyBpbnQgYWRkX2hkbWlfbW9k ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1OCB2aWMpCj4+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+PiAgCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICpuZXdtb2RlOwo+PiAgCj4+IC0JdmljLS07IC8qIFZJQ3Mgc3RhcnQgYXQgMSAqLwo+PiAt CWlmICh2aWMgPj0gQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKSkgewo+PiArCWlmICh2aWMgPT0g MCB8fCB2aWMgPj0gQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKSkgewo+PiAgCQlEUk1fRVJST1Io IlVua25vd24gSERNSSBWSUM6ICVkXG4iLCB2aWMpOwo+PiAgCQlyZXR1cm4gMDsKPj4gIAl9Cj4+ IEBAIC0zMTcwLDI0ICszMTcyLDI0IEBAIHN0YXRpYyB2b2lkIGZpeHVwX2RldGFpbGVkX2NlYV9t b2RlX2Nsb2NrKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+PiAgewo+PiAgCWNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpjZWFfbW9kZTsKPj4gIAlpbnQgY2xvY2sxLCBjbG9j azIsIGNsb2NrOwo+PiAtCXU4IG1vZGVfaWR4Owo+PiArCXU4IHZpYzsKPj4gIAljb25zdCBjaGFy ICp0eXBlOwo+PiAgCj4+ICAJLyoKPj4gIAkgKiBhbGxvdyA1a0h6IGNsb2NrIGRpZmZlcmVuY2Ug ZWl0aGVyIHdheSB0byBhY2NvdW50IGZvcgo+PiAgCSAqIHRoZSAxMGtIeiBjbG9jayByZXNvbHV0 aW9uIGxpbWl0IG9mIGRldGFpbGVkIHRpbWluZ3MuCj4+ICAJICovCj4+IC0JbW9kZV9pZHggPSBk cm1fbWF0Y2hfY2VhX21vZGVfY2xvY2tfdG9sZXJhbmNlKG1vZGUsIDUpIC0gMTsKPj4gLQlpZiAo bW9kZV9pZHggPCBBUlJBWV9TSVpFKGVkaWRfY2VhX21vZGVzKSkgewo+PiArCXZpYyA9IGRybV9t YXRjaF9jZWFfbW9kZV9jbG9ja190b2xlcmFuY2UobW9kZSwgNSk7Cj4+ICsJaWYgKHZpYyA+IDAg JiYgdmljIDwgQVJSQVlfU0laRShlZGlkX2NlYV9tb2RlcykpIHsKPj4gIAkJdHlwZSA9ICJDRUEi Owo+PiAtCQljZWFfbW9kZSA9ICZlZGlkX2NlYV9tb2Rlc1ttb2RlX2lkeF07Cj4+ICsJCWNlYV9t b2RlID0gJmVkaWRfY2VhX21vZGVzW3ZpY107Cj4+ICAJCWNsb2NrMSA9IGNlYV9tb2RlLT5jbG9j azsKPj4gIAkJY2xvY2syID0gY2VhX21vZGVfYWx0ZXJuYXRlX2Nsb2NrKGNlYV9tb2RlKTsKPj4g IAl9IGVsc2Ugewo+PiAtCQltb2RlX2lkeCA9IGRybV9tYXRjaF9oZG1pX21vZGVfY2xvY2tfdG9s ZXJhbmNlKG1vZGUsIDUpIC0gMTsKPj4gLQkJaWYgKG1vZGVfaWR4IDwgQVJSQVlfU0laRShlZGlk XzRrX21vZGVzKSkgewo+PiArCQl2aWMgPSBkcm1fbWF0Y2hfaGRtaV9tb2RlX2Nsb2NrX3RvbGVy YW5jZShtb2RlLCA1KTsKPj4gKwkJaWYgKHZpYyA+IDAgJiYgdmljIDwgQVJSQVlfU0laRShlZGlk XzRrX21vZGVzKSkgewo+PiAgCQkJdHlwZSA9ICJIRE1JIjsKPj4gLQkJCWNlYV9tb2RlID0gJmVk aWRfNGtfbW9kZXNbbW9kZV9pZHhdOwo+PiArCQkJY2VhX21vZGUgPSAmZWRpZF80a19tb2Rlc1t2 aWNdOwo+PiAgCQkJY2xvY2sxID0gY2VhX21vZGUtPmNsb2NrOwo+PiAgCQkJY2xvY2syID0gaGRt aV9tb2RlX2FsdGVybmF0ZV9jbG9jayhjZWFfbW9kZSk7Cj4+ICAJCX0gZWxzZSB7Cj4+IEBAIC0z MjA1LDcgKzMyMDcsNyBAQCBzdGF0aWMgdm9pZCBmaXh1cF9kZXRhaWxlZF9jZWFfbW9kZV9jbG9j ayhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPj4gIAkJcmV0dXJuOwo+PiAgCj4+ICAJ RFJNX0RFQlVHKCJkZXRhaWxlZCBtb2RlIG1hdGNoZXMgJXMgVklDICVkLCBhZGp1c3RpbmcgY2xv Y2sgJWQgLT4gJWRcbiIsCj4+IC0JCSAgdHlwZSwgbW9kZV9pZHggKyAxLCBtb2RlLT5jbG9jaywg Y2xvY2spOwo+PiArCQkgIHR5cGUsIHZpYywgbW9kZS0+Y2xvY2ssIGNsb2NrKTsKPj4gIAltb2Rl LT5jbG9jayA9IGNsb2NrOwo+PiAgfQo+PiAgCj4+IC0tIAo+PiAyLjEuNAoKLS0gCkphbmkgTmlr dWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=