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 14:57:39 +0200 Message-ID: <87h9k12ekc.fsf@intel.com> References: <1448983014-26551-1-git-send-email-jani.nikula@intel.com> <20151201152445.GF4437@intel.com> <87si3l2hun.fsf@intel.com> <20151202122422.GX4437@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 421AF6E052 for ; Wed, 2 Dec 2015 04:53:33 -0800 (PST) In-Reply-To: <20151202122422.GX4437@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 T24gV2VkLCAwMiBEZWMgMjAxNSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gV2VkLCBEZWMgMDIsIDIwMTUgYXQgMDE6NDY6NDBQTSAr MDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IE9uIFR1ZSwgMDEgRGVjIDIwMTUsIFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+PiA+IE9uIFR1 ZSwgRGVjIDAxLCAyMDE1IGF0IDA1OjE2OjU0UE0gKzAyMDAsIEphbmkgTmlrdWxhIHdyb3RlOgo+ PiA+PiBBZGQgYSBkdW1teSBlbnRyeSB0byBDRUEvSERNSSBtb2RlIHRhYmxlcyBzbyB0aGV5IGNh biBiZSBpbmRleGVkCj4+ID4+IGRpcmVjdGx5IHVzaW5nIHRoZSBWSUMsIGF2b2lkaW5nIGEgKzEv LTEgZGFuY2UgaGVyZSBhbmQgdGhlcmUuIFRoaXMgYWRkcwo+PiA+PiBjbGFyaXR5IHRvIHRoZSBl cnJvciBjaGVja2luZyBmb3IgdmFyaW91cyBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdGhlIFZJQwo+ PiA+PiBvbiBzdWNjZXNzIGFuZCB6ZXJvIG9uIGZhaWx1cmU7IHdlIG5vdyBleHBsaWNpdGx5IGNo ZWNrIGZvciAwIGluc3RlYWQgb2YKPj4gPj4ganVzdCBzdWJ0cmFjdGluZyBvbmUgZnJvbSBhbiB1 bnNpZ25lZCB0eXBlLgo+PiA+PiAKPj4gPj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4+ID4+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxq YW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+ID4+IAo+PiA+PiAtLS0KPj4gPj4gCj4+ID4+IFRoaXMg aXMgb24gdG9wIG9mCj4+ID4+IAo+PiA+PiBjb21taXQgNGM2YmNmNDQ1NDk5MDdjYjUwYjY3Zjk4 ZWIxMzcxN2E0YWRjNmIzMwo+PiA+PiBBdXRob3I6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4+ID4+IERhdGU6ICAgTW9uIE5vdiAxNiAyMTowNToxMiAy MDE1ICswMjAwCj4+ID4+IAo+PiA+PiAgICAgZHJtL2VkaWQ6IE1ha2UgdGhlIGRldGFpbGVkIHRp bWluZyBDRUEvSERNSSBtb2RlIGZpeHVwIGFjY2VwdCB1cCB0byA1a0h6IGNsb2NrIGRpZmZlcmVu Y2UKPj4gPj4gCj4+ID4+IGluIGRybS1pbnRlbC90b3BpYy9kcm0tbWlzYwo+PiA+PiAtLS0KPj4g Pj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIHwgODQgKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiA+PiAgMSBmaWxlIGNoYW5nZWQsIDQzIGluc2Vy dGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQo+PiA+PiAKPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPj4gPj4g aW5kZXggYzIxNGYxMjQ2Y2I0Li5hZWEwOWVhZTQwN2UgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRp ZC5jCj4+ID4gPHNuaXA+Cj4+ID4+IEBAIC0yNzEzLDE2ICsyNzE2LDE2IEBAIGFkZF9hbHRlcm5h dGVfY2VhX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHN0cnVjdCBlZGlk ICplZGlkKQo+PiA+PiAgCWxpc3RfZm9yX2VhY2hfZW50cnkobW9kZSwgJmNvbm5lY3Rvci0+cHJv YmVkX21vZGVzLCBoZWFkKSB7Cj4+ID4+ICAJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICpjZWFfbW9kZSA9IE5VTEw7Cj4+ID4+ICAJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpuZXdt b2RlOwo+PiA+PiAtCQl1OCBtb2RlX2lkeCA9IGRybV9tYXRjaF9jZWFfbW9kZShtb2RlKSAtIDE7 Cj4+ID4+ICsJCXU4IHZpYyA9IGRybV9tYXRjaF9jZWFfbW9kZShtb2RlKTsKPj4gPj4gIAkJdW5z aWduZWQgaW50IGNsb2NrMSwgY2xvY2syOwo+PiA+PiAgCj4+ID4+IC0JCWlmIChtb2RlX2lkeCA8 IEFSUkFZX1NJWkUoZWRpZF9jZWFfbW9kZXMpKSB7Cj4+ID4+IC0JCQljZWFfbW9kZSA9ICZlZGlk X2NlYV9tb2Rlc1ttb2RlX2lkeF07Cj4+ID4+ICsJCWlmICh2aWMgPiAwICYmIHZpYyA8IEFSUkFZ X1NJWkUoZWRpZF9jZWFfbW9kZXMpKSB7Cj4+ID4KPj4gPiBNYXliZSBhZGQgc29tZSBzb3J0IG9m IHZpY19pc192YWxpZCgpIGhlbHBlcnMgdG8gYXZvaWQgZHVwbGljYXRpbmcKPj4gPiB0aGVzZSBp biBzbyBtYW55IHBsYWNlcz8KPj4gCj4+IEFueSB0aG91Z2h0cyBvbiBob3cgdGhhdCBzaG91bGQg aGFuZGxlIENFQSB2cy4gSERNSSBWSUNzLCBjb21wYXJpbmcKPj4gYWdhaW5zdCBBUlJBWV9TSVpF KGVkaWRfY2VhX21vZGVzKSBhbmQgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKT8KPgo+IEkgd2Fz IHRoaW5raW5nIG9uZSBmdW5jdGlvbiBmb3IgZWFjaCB0eXBlLCBhbmQgeWVhaCBqdXN0Cj4KPiBy ZXR1cm4gdmljICE9IDAgJiYgdmljIDwgQVJSQVlfU0laRSh3aGF0ZXZlcl9tb2Rlcyk7Cj4KPiBv ciBzb21ldGhpbmcgYWxvbmcgdGhvc2UgbGluZXMuCj4KPj4gCj4+IEFkZCB2ZXJzaW9ucyBvZiBk cm1fbWF0Y2hfKl9tb2RlKigpIHRoYXQgcmV0dXJuIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlCj4+ ICogb3IgTlVMTCBvbiBlcnJvcnM/Cj4KPiBTb21lIHRpbWUgYWdvIEkgd2FzIHJlYWRpbiB0aGUg RFAgc3BlYywgYW5kIGVuZGVkIHVwIHNrZXRjaGluZyBvdXQKPiBzb21lIGZ1bmN0aW9ucyB0aGF0 IG1pZ2h0IGhlbHAgZGVhbCB3aXRoIEVESURsZXNzIERQIGJyYW5jaCBkZXZpY2VzLgo+IEZvciB0 aGF0IEkgY29va2VkIHVwIGEgZnVuY3Rpb24gdG8gcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgYXBw cm9wcmlhdGUKPiBDRUEgbW9kZSBiYXNlZCBvbiB0aGUgdmljIChvciBOVUxMIGZvciBiYWQgdmlj cykuIFNvIEkgZ3Vlc3MgaWYgeW91IGRpZAo+IHNvbWV0aGluZyBsaWtlIHRoYXQgKyB0YWtlIHRo ZSBhbHJlYWR5IGV4aXN0aW5nIG1hdGNoIGZ1bmN0aW9uLCB5b3UKPiBjb3VsZCB3cmFwIHRoZW0g aW4gYSBuZWF0IHBhY2thZ2UgdGhhdCByZXR1cm5zIHRoZSBtYXRjaGluZyBjZWEgbW9kZQo+IGZv ciB3aGF0ZXZlciBtb2RlIGlzIHBhc3NlZCBpbi4KCk1tbWgsIHNvIGhvdyBhYm91dCBqdXN0IHRh a2luZyB0aGlzIHBhdGNoIGFzLWlzIGZvciBub3cuLi4/CgpCUiwKSmFuaS4KCgo+Cj4+IAo+PiBC UiwKPj4gSmFuaS4KPj4gCj4+IAo+PiA+Cj4+ID4gT3RoZXJ3aXNlIEkgbGlrZSBpdC4KPj4gPgo+ PiA+PiArCQkJY2VhX21vZGUgPSAmZWRpZF9jZWFfbW9kZXNbdmljXTsKPj4gPj4gIAkJCWNsb2Nr MiA9IGNlYV9tb2RlX2FsdGVybmF0ZV9jbG9jayhjZWFfbW9kZSk7Cj4+ID4+ICAJCX0gZWxzZSB7 Cj4+ID4+IC0JCQltb2RlX2lkeCA9IGRybV9tYXRjaF9oZG1pX21vZGUobW9kZSkgLSAxOwo+PiA+ PiAtCQkJaWYgKG1vZGVfaWR4IDwgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKSkgewo+PiA+PiAt CQkJCWNlYV9tb2RlID0gJmVkaWRfNGtfbW9kZXNbbW9kZV9pZHhdOwo+PiA+PiArCQkJdmljID0g ZHJtX21hdGNoX2hkbWlfbW9kZShtb2RlKTsKPj4gPj4gKwkJCWlmICh2aWMgPiAwICYmIHZpYyA8 IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPj4gPj4gKwkJCQljZWFfbW9kZSA9ICZlZGlk XzRrX21vZGVzW3ZpY107Cj4+ID4+ICAJCQkJY2xvY2syID0gaGRtaV9tb2RlX2FsdGVybmF0ZV9j bG9jayhjZWFfbW9kZSk7Cj4+ID4+ICAJCQl9Cj4+ID4+ICAJCX0KPj4gPj4gQEAgLTI3NzMsMTcg KzI3NzYsMTcgQEAgZHJtX2Rpc3BsYXlfbW9kZV9mcm9tX3ZpY19pbmRleChzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+PiA+PiAgewo+PiA+PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjb25uZWN0b3ItPmRldjsKPj4gPj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbmV3 bW9kZTsKPj4gPj4gLQl1OCBjZWFfbW9kZTsKPj4gPj4gKwl1OCB2aWM7Cj4+ID4+ICAKPj4gPj4g IAlpZiAodmlkZW9fZGIgPT0gTlVMTCB8fCB2aWRlb19pbmRleCA+PSB2aWRlb19sZW4pCj4+ID4+ ICAJCXJldHVybiBOVUxMOwo+PiA+PiAgCj4+ID4+ICAJLyogQ0VBIG1vZGVzIGFyZSBudW1iZXJl ZCAxLi4xMjcgKi8KPj4gPj4gLQljZWFfbW9kZSA9ICh2aWRlb19kYlt2aWRlb19pbmRleF0gJiAx MjcpIC0gMTsKPj4gPj4gLQlpZiAoY2VhX21vZGUgPj0gQVJSQVlfU0laRShlZGlkX2NlYV9tb2Rl cykpCj4+ID4+ICsJdmljID0gKHZpZGVvX2RiW3ZpZGVvX2luZGV4XSAmIDEyNyk7Cj4+ID4+ICsJ aWYgKHZpYyA9PSAwIHx8IHZpYyA+PSBBUlJBWV9TSVpFKGVkaWRfY2VhX21vZGVzKSkKPj4gPj4g IAkJcmV0dXJuIE5VTEw7Cj4+ID4+ICAKPj4gPj4gLQluZXdtb2RlID0gZHJtX21vZGVfZHVwbGlj YXRlKGRldiwgJmVkaWRfY2VhX21vZGVzW2NlYV9tb2RlXSk7Cj4+ID4+ICsJbmV3bW9kZSA9IGRy bV9tb2RlX2R1cGxpY2F0ZShkZXYsICZlZGlkX2NlYV9tb2Rlc1t2aWNdKTsKPj4gPj4gIAlpZiAo IW5ld21vZGUpCj4+ID4+ICAJCXJldHVybiBOVUxMOwo+PiA+PiAgCj4+ID4+IEBAIC0yODc4LDgg KzI4ODEsNyBAQCBzdGF0aWMgaW50IGFkZF9oZG1pX21vZGUoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwgdTggdmljKQo+PiA+PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25u ZWN0b3ItPmRldjsKPj4gPj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbmV3bW9kZTsKPj4g Pj4gIAo+PiA+PiAtCXZpYy0tOyAvKiBWSUNzIHN0YXJ0IGF0IDEgKi8KPj4gPj4gLQlpZiAodmlj ID49IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPj4gPj4gKwlpZiAodmljID09IDAgfHwg dmljID49IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPj4gPj4gIAkJRFJNX0VSUk9SKCJV bmtub3duIEhETUkgVklDOiAlZFxuIiwgdmljKTsKPj4gPj4gIAkJcmV0dXJuIDA7Cj4+ID4+ICAJ fQo+PiA+PiBAQCAtMzE3MCwyNCArMzE3MiwyNCBAQCBzdGF0aWMgdm9pZCBmaXh1cF9kZXRhaWxl ZF9jZWFfbW9kZV9jbG9jayhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPj4gPj4gIHsK Pj4gPj4gIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqY2VhX21vZGU7Cj4+ID4+ICAJ aW50IGNsb2NrMSwgY2xvY2syLCBjbG9jazsKPj4gPj4gLQl1OCBtb2RlX2lkeDsKPj4gPj4gKwl1 OCB2aWM7Cj4+ID4+ICAJY29uc3QgY2hhciAqdHlwZTsKPj4gPj4gIAo+PiA+PiAgCS8qCj4+ID4+ ICAJICogYWxsb3cgNWtIeiBjbG9jayBkaWZmZXJlbmNlIGVpdGhlciB3YXkgdG8gYWNjb3VudCBm b3IKPj4gPj4gIAkgKiB0aGUgMTBrSHogY2xvY2sgcmVzb2x1dGlvbiBsaW1pdCBvZiBkZXRhaWxl ZCB0aW1pbmdzLgo+PiA+PiAgCSAqLwo+PiA+PiAtCW1vZGVfaWR4ID0gZHJtX21hdGNoX2NlYV9t b2RlX2Nsb2NrX3RvbGVyYW5jZShtb2RlLCA1KSAtIDE7Cj4+ID4+IC0JaWYgKG1vZGVfaWR4IDwg QVJSQVlfU0laRShlZGlkX2NlYV9tb2RlcykpIHsKPj4gPj4gKwl2aWMgPSBkcm1fbWF0Y2hfY2Vh X21vZGVfY2xvY2tfdG9sZXJhbmNlKG1vZGUsIDUpOwo+PiA+PiArCWlmICh2aWMgPiAwICYmIHZp YyA8IEFSUkFZX1NJWkUoZWRpZF9jZWFfbW9kZXMpKSB7Cj4+ID4+ICAJCXR5cGUgPSAiQ0VBIjsK Pj4gPj4gLQkJY2VhX21vZGUgPSAmZWRpZF9jZWFfbW9kZXNbbW9kZV9pZHhdOwo+PiA+PiArCQlj ZWFfbW9kZSA9ICZlZGlkX2NlYV9tb2Rlc1t2aWNdOwo+PiA+PiAgCQljbG9jazEgPSBjZWFfbW9k ZS0+Y2xvY2s7Cj4+ID4+ICAJCWNsb2NrMiA9IGNlYV9tb2RlX2FsdGVybmF0ZV9jbG9jayhjZWFf bW9kZSk7Cj4+ID4+ICAJfSBlbHNlIHsKPj4gPj4gLQkJbW9kZV9pZHggPSBkcm1fbWF0Y2hfaGRt aV9tb2RlX2Nsb2NrX3RvbGVyYW5jZShtb2RlLCA1KSAtIDE7Cj4+ID4+IC0JCWlmIChtb2RlX2lk eCA8IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPj4gPj4gKwkJdmljID0gZHJtX21hdGNo X2hkbWlfbW9kZV9jbG9ja190b2xlcmFuY2UobW9kZSwgNSk7Cj4+ID4+ICsJCWlmICh2aWMgPiAw ICYmIHZpYyA8IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPj4gPj4gIAkJCXR5cGUgPSAi SERNSSI7Cj4+ID4+IC0JCQljZWFfbW9kZSA9ICZlZGlkXzRrX21vZGVzW21vZGVfaWR4XTsKPj4g Pj4gKwkJCWNlYV9tb2RlID0gJmVkaWRfNGtfbW9kZXNbdmljXTsKPj4gPj4gIAkJCWNsb2NrMSA9 IGNlYV9tb2RlLT5jbG9jazsKPj4gPj4gIAkJCWNsb2NrMiA9IGhkbWlfbW9kZV9hbHRlcm5hdGVf Y2xvY2soY2VhX21vZGUpOwo+PiA+PiAgCQl9IGVsc2Ugewo+PiA+PiBAQCAtMzIwNSw3ICszMjA3 LDcgQEAgc3RhdGljIHZvaWQgZml4dXBfZGV0YWlsZWRfY2VhX21vZGVfY2xvY2soc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4+ID4+ICAJCXJldHVybjsKPj4gPj4gIAo+PiA+PiAgCURS TV9ERUJVRygiZGV0YWlsZWQgbW9kZSBtYXRjaGVzICVzIFZJQyAlZCwgYWRqdXN0aW5nIGNsb2Nr ICVkIC0+ICVkXG4iLAo+PiA+PiAtCQkgIHR5cGUsIG1vZGVfaWR4ICsgMSwgbW9kZS0+Y2xvY2ss IGNsb2NrKTsKPj4gPj4gKwkJICB0eXBlLCB2aWMsIG1vZGUtPmNsb2NrLCBjbG9jayk7Cj4+ID4+ ICAJbW9kZS0+Y2xvY2sgPSBjbG9jazsKPj4gPj4gIH0KPj4gPj4gIAo+PiA+PiAtLSAKPj4gPj4g Mi4xLjQKPj4gCj4+IC0tIAo+PiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5v bG9neSBDZW50ZXIKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9n eSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK