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: Tue, 1 Dec 2015 17:24:45 +0200 Message-ID: <20151201152445.GF4437@intel.com> References: <1448983014-26551-1-git-send-email-jani.nikula@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 C054E6E02F for ; Tue, 1 Dec 2015 07:24:48 -0800 (PST) Content-Disposition: inline In-Reply-To: <1448983014-26551-1-git-send-email-jani.nikula@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 T24gVHVlLCBEZWMgMDEsIDIwMTUgYXQgMDU6MTY6NTRQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gQWRkIGEgZHVtbXkgZW50cnkgdG8gQ0VBL0hETUkgbW9kZSB0YWJsZXMgc28gdGhleSBj YW4gYmUgaW5kZXhlZAo+IGRpcmVjdGx5IHVzaW5nIHRoZSBWSUMsIGF2b2lkaW5nIGEgKzEvLTEg ZGFuY2UgaGVyZSBhbmQgdGhlcmUuIFRoaXMgYWRkcwo+IGNsYXJpdHkgdG8gdGhlIGVycm9yIGNo ZWNraW5nIGZvciB2YXJpb3VzIGZ1bmN0aW9ucyB0aGF0IHJldHVybiB0aGUgVklDCj4gb24gc3Vj Y2VzcyBhbmQgemVybyBvbiBmYWlsdXJlOyB3ZSBub3cgZXhwbGljaXRseSBjaGVjayBmb3IgMCBp bnN0ZWFkIG9mCj4ganVzdCBzdWJ0cmFjdGluZyBvbmUgZnJvbSBhbiB1bnNpZ25lZCB0eXBlLgo+ IAo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gCj4g LS0tCj4gCj4gVGhpcyBpcyBvbiB0b3Agb2YKPiAKPiBjb21taXQgNGM2YmNmNDQ1NDk5MDdjYjUw YjY3Zjk4ZWIxMzcxN2E0YWRjNmIzMwo+IEF1dGhvcjogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBEYXRlOiAgIE1vbiBOb3YgMTYgMjE6MDU6MTIgMjAx NSArMDIwMAo+IAo+ICAgICBkcm0vZWRpZDogTWFrZSB0aGUgZGV0YWlsZWQgdGltaW5nIENFQS9I RE1JIG1vZGUgZml4dXAgYWNjZXB0IHVwIHRvIDVrSHogY2xvY2sgZGlmZmVyZW5jZQo+IAo+IGlu IGRybS1pbnRlbC90b3BpYy9kcm0tbWlzYwo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Vk aWQuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiAgMSBmaWxlIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jCj4gaW5kZXggYzIxNGYxMjQ2Y2I0Li5hZWEwOWVhZTQwN2UgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2VkaWQuYwo8c25pcD4KPiBAQCAtMjcxMywxNiArMjcxNiwxNiBAQCBhZGRfYWx0ZXJuYXRl X2NlYV9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZWRpZCAq ZWRpZCkKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnkobW9kZSwgJmNvbm5lY3Rvci0+cHJvYmVkX21v ZGVzLCBoZWFkKSB7Cj4gIAkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmNlYV9tb2Rl ID0gTlVMTDsKPiAgCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbmV3bW9kZTsKPiAtCQl1OCBt b2RlX2lkeCA9IGRybV9tYXRjaF9jZWFfbW9kZShtb2RlKSAtIDE7Cj4gKwkJdTggdmljID0gZHJt X21hdGNoX2NlYV9tb2RlKG1vZGUpOwo+ICAJCXVuc2lnbmVkIGludCBjbG9jazEsIGNsb2NrMjsK PiAgCj4gLQkJaWYgKG1vZGVfaWR4IDwgQVJSQVlfU0laRShlZGlkX2NlYV9tb2RlcykpIHsKPiAt CQkJY2VhX21vZGUgPSAmZWRpZF9jZWFfbW9kZXNbbW9kZV9pZHhdOwo+ICsJCWlmICh2aWMgPiAw ICYmIHZpYyA8IEFSUkFZX1NJWkUoZWRpZF9jZWFfbW9kZXMpKSB7CgpNYXliZSBhZGQgc29tZSBz b3J0IG9mIHZpY19pc192YWxpZCgpIGhlbHBlcnMgdG8gYXZvaWQgZHVwbGljYXRpbmcKdGhlc2Ug aW4gc28gbWFueSBwbGFjZXM/CgpPdGhlcndpc2UgSSBsaWtlIGl0LgoKPiArCQkJY2VhX21vZGUg PSAmZWRpZF9jZWFfbW9kZXNbdmljXTsKPiAgCQkJY2xvY2syID0gY2VhX21vZGVfYWx0ZXJuYXRl X2Nsb2NrKGNlYV9tb2RlKTsKPiAgCQl9IGVsc2Ugewo+IC0JCQltb2RlX2lkeCA9IGRybV9tYXRj aF9oZG1pX21vZGUobW9kZSkgLSAxOwo+IC0JCQlpZiAobW9kZV9pZHggPCBBUlJBWV9TSVpFKGVk aWRfNGtfbW9kZXMpKSB7Cj4gLQkJCQljZWFfbW9kZSA9ICZlZGlkXzRrX21vZGVzW21vZGVfaWR4 XTsKPiArCQkJdmljID0gZHJtX21hdGNoX2hkbWlfbW9kZShtb2RlKTsKPiArCQkJaWYgKHZpYyA+ IDAgJiYgdmljIDwgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKSkgewo+ICsJCQkJY2VhX21vZGUg PSAmZWRpZF80a19tb2Rlc1t2aWNdOwo+ICAJCQkJY2xvY2syID0gaGRtaV9tb2RlX2FsdGVybmF0 ZV9jbG9jayhjZWFfbW9kZSk7Cj4gIAkJCX0KPiAgCQl9Cj4gQEAgLTI3NzMsMTcgKzI3NzYsMTcg QEAgZHJtX2Rpc3BsYXlfbW9kZV9mcm9tX3ZpY19pbmRleChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5k ZXY7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbmV3bW9kZTsKPiAtCXU4IGNlYV9tb2Rl Owo+ICsJdTggdmljOwo+ICAKPiAgCWlmICh2aWRlb19kYiA9PSBOVUxMIHx8IHZpZGVvX2luZGV4 ID49IHZpZGVvX2xlbikKPiAgCQlyZXR1cm4gTlVMTDsKPiAgCj4gIAkvKiBDRUEgbW9kZXMgYXJl IG51bWJlcmVkIDEuLjEyNyAqLwo+IC0JY2VhX21vZGUgPSAodmlkZW9fZGJbdmlkZW9faW5kZXhd ICYgMTI3KSAtIDE7Cj4gLQlpZiAoY2VhX21vZGUgPj0gQVJSQVlfU0laRShlZGlkX2NlYV9tb2Rl cykpCj4gKwl2aWMgPSAodmlkZW9fZGJbdmlkZW9faW5kZXhdICYgMTI3KTsKPiArCWlmICh2aWMg PT0gMCB8fCB2aWMgPj0gQVJSQVlfU0laRShlZGlkX2NlYV9tb2RlcykpCj4gIAkJcmV0dXJuIE5V TEw7Cj4gIAo+IC0JbmV3bW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsICZlZGlkX2NlYV9t b2Rlc1tjZWFfbW9kZV0pOwo+ICsJbmV3bW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsICZl ZGlkX2NlYV9tb2Rlc1t2aWNdKTsKPiAgCWlmICghbmV3bW9kZSkKPiAgCQlyZXR1cm4gTlVMTDsK PiAgCj4gQEAgLTI4NzgsOCArMjg4MSw3IEBAIHN0YXRpYyBpbnQgYWRkX2hkbWlfbW9kZShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1OCB2aWMpCj4gIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbmV3 bW9kZTsKPiAgCj4gLQl2aWMtLTsgLyogVklDcyBzdGFydCBhdCAxICovCj4gLQlpZiAodmljID49 IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPiArCWlmICh2aWMgPT0gMCB8fCB2aWMgPj0g QVJSQVlfU0laRShlZGlkXzRrX21vZGVzKSkgewo+ICAJCURSTV9FUlJPUigiVW5rbm93biBIRE1J IFZJQzogJWRcbiIsIHZpYyk7Cj4gIAkJcmV0dXJuIDA7Cj4gIAl9Cj4gQEAgLTMxNzAsMjQgKzMx NzIsMjQgQEAgc3RhdGljIHZvaWQgZml4dXBfZGV0YWlsZWRfY2VhX21vZGVfY2xvY2soc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICpjZWFfbW9kZTsKPiAgCWludCBjbG9jazEsIGNsb2NrMiwgY2xvY2s7Cj4gLQl1OCBt b2RlX2lkeDsKPiArCXU4IHZpYzsKPiAgCWNvbnN0IGNoYXIgKnR5cGU7Cj4gIAo+ICAJLyoKPiAg CSAqIGFsbG93IDVrSHogY2xvY2sgZGlmZmVyZW5jZSBlaXRoZXIgd2F5IHRvIGFjY291bnQgZm9y Cj4gIAkgKiB0aGUgMTBrSHogY2xvY2sgcmVzb2x1dGlvbiBsaW1pdCBvZiBkZXRhaWxlZCB0aW1p bmdzLgo+ICAJICovCj4gLQltb2RlX2lkeCA9IGRybV9tYXRjaF9jZWFfbW9kZV9jbG9ja190b2xl cmFuY2UobW9kZSwgNSkgLSAxOwo+IC0JaWYgKG1vZGVfaWR4IDwgQVJSQVlfU0laRShlZGlkX2Nl YV9tb2RlcykpIHsKPiArCXZpYyA9IGRybV9tYXRjaF9jZWFfbW9kZV9jbG9ja190b2xlcmFuY2Uo bW9kZSwgNSk7Cj4gKwlpZiAodmljID4gMCAmJiB2aWMgPCBBUlJBWV9TSVpFKGVkaWRfY2VhX21v ZGVzKSkgewo+ICAJCXR5cGUgPSAiQ0VBIjsKPiAtCQljZWFfbW9kZSA9ICZlZGlkX2NlYV9tb2Rl c1ttb2RlX2lkeF07Cj4gKwkJY2VhX21vZGUgPSAmZWRpZF9jZWFfbW9kZXNbdmljXTsKPiAgCQlj bG9jazEgPSBjZWFfbW9kZS0+Y2xvY2s7Cj4gIAkJY2xvY2syID0gY2VhX21vZGVfYWx0ZXJuYXRl X2Nsb2NrKGNlYV9tb2RlKTsKPiAgCX0gZWxzZSB7Cj4gLQkJbW9kZV9pZHggPSBkcm1fbWF0Y2hf aGRtaV9tb2RlX2Nsb2NrX3RvbGVyYW5jZShtb2RlLCA1KSAtIDE7Cj4gLQkJaWYgKG1vZGVfaWR4 IDwgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKSkgewo+ICsJCXZpYyA9IGRybV9tYXRjaF9oZG1p X21vZGVfY2xvY2tfdG9sZXJhbmNlKG1vZGUsIDUpOwo+ICsJCWlmICh2aWMgPiAwICYmIHZpYyA8 IEFSUkFZX1NJWkUoZWRpZF80a19tb2RlcykpIHsKPiAgCQkJdHlwZSA9ICJIRE1JIjsKPiAtCQkJ Y2VhX21vZGUgPSAmZWRpZF80a19tb2Rlc1ttb2RlX2lkeF07Cj4gKwkJCWNlYV9tb2RlID0gJmVk aWRfNGtfbW9kZXNbdmljXTsKPiAgCQkJY2xvY2sxID0gY2VhX21vZGUtPmNsb2NrOwo+ICAJCQlj bG9jazIgPSBoZG1pX21vZGVfYWx0ZXJuYXRlX2Nsb2NrKGNlYV9tb2RlKTsKPiAgCQl9IGVsc2Ug ewo+IEBAIC0zMjA1LDcgKzMyMDcsNyBAQCBzdGF0aWMgdm9pZCBmaXh1cF9kZXRhaWxlZF9jZWFf bW9kZV9jbG9jayhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgCQlyZXR1cm47Cj4g IAo+ICAJRFJNX0RFQlVHKCJkZXRhaWxlZCBtb2RlIG1hdGNoZXMgJXMgVklDICVkLCBhZGp1c3Rp bmcgY2xvY2sgJWQgLT4gJWRcbiIsCj4gLQkJICB0eXBlLCBtb2RlX2lkeCArIDEsIG1vZGUtPmNs b2NrLCBjbG9jayk7Cj4gKwkJICB0eXBlLCB2aWMsIG1vZGUtPmNsb2NrLCBjbG9jayk7Cj4gIAlt b2RlLT5jbG9jayA9IGNsb2NrOwo+ICB9Cj4gIAo+IC0tIAo+IDIuMS40CgotLSAKVmlsbGUgU3ly asOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=