From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm: Try loading builtin EDIDs first Date: Fri, 4 Oct 2013 10:21:44 +0100 Message-ID: <1380878504-6803-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from relay.fireflyinternet.com (relay1.fireflyinternet.com [217.160.24.105]) by gabe.freedesktop.org (Postfix) with ESMTP id 45F47E5C84 for ; Fri, 4 Oct 2013 02:22:04 -0700 (PDT) Received: from fireflyinternet.com (unverified [87.106.93.118]) by relay.fireflyinternet.com (Firefly Internet (R2)) with ESMTP id 29270-2000100 for ; Fri, 04 Oct 2013 10:22:26 +0100 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: Dave Airlie List-Id: dri-devel@lists.freedesktop.org SWYgdGhlIGZpcm13YXJlIGlzIGJ1aWx0aW4gYW5kIHVzZXJzcGFjZSBpcyBub3QgeWV0IHJ1bm5p bmcsIHdlIGNhbgpzdGFsbCB0aGUgYm9vdCBwcm9jZXNzIGZvciBhIG1pbnV0ZSB3aGlsc3QgdGhl IGZpcm13YXJlIGxvYWRlciB0aW1lcwpvdXQgcHJvYmluZyBmb3IgYSBub24tZXhpc3RlbnQgY29u bmVjdG9yIEVESUQuIFRoaXMgaXMgY29udHJhcnkgdG8gdGhlCmV4cGVjdGF0aW9ucyBvZiBwcm92 aWRpbmcgYSBidWlsdGluIEVESUQhCgpJbiB0aGUgcHJvY2Vzcywgd2UgY2FuIHJlYXJyYW5nZSB0 aGUgY29kZSB0byBtYWtlIHRoZSBlcnJvciBoYW5kbGluZwptb3JlIHJlc2lsaWVudCBhbmQgcHJl dmVudCBnY2Mgd2FybmluZyBhYm91dCB1bml0aWFsaXNlZCB2YXJpYWJsZXMgYWxvbmcKdGhlIGVy cm9yIHBhdGhzLgoKdjI6IExvYWQgYnVpbHRpbnMgZmlyc3QsIGZpeCBnY2Mgc2Vjb25kIChKYW5p KSBhbmQgY29zbWV0aWNzIChWaWxsZSkuCnYzOiBWZXJpZnkgdGhhdCB3ZSBkbyBub3QgcmVhZCBi ZXlvbmQgdGhlIGVuZCBvZiB0aGUgZndkYXRhIChWaWxsZSkKdjQ6IFJlc3RvcmUgdGhlIGxvc3Qg cGFyZW50aGVzaXMgKEphbmkpCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29t PgpSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWRfbG9hZC5jIHwgMTA4ICsrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNlcnRpb25z KCspLCA1NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Vk aWRfbG9hZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkX2xvYWQuYwppbmRleCAyNzFiNDJi YmZiNzIuLjc1ZjIwNGJiYjg4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlk X2xvYWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWRfbG9hZC5jCkBAIC0zMiw3ICsz Miw3IEBAIE1PRFVMRV9QQVJNX0RFU0MoZWRpZF9maXJtd2FyZSwgIkRvIG5vdCBwcm9iZSBtb25p dG9yLCB1c2Ugc3BlY2lmaWVkIEVESUQgYmxvYiAiCiAJImZyb20gYnVpbHQtaW4gZGF0YSBvciAv bGliL2Zpcm13YXJlIGluc3RlYWQuICIpOwogCiAjZGVmaW5lIEdFTkVSSUNfRURJRFMgNQotc3Rh dGljIGNoYXIgKmdlbmVyaWNfZWRpZF9uYW1lW0dFTkVSSUNfRURJRFNdID0geworc3RhdGljIGNv bnN0IGNoYXIgKmdlbmVyaWNfZWRpZF9uYW1lW0dFTkVSSUNfRURJRFNdID0gewogCSJlZGlkLzEw MjR4NzY4LmJpbiIsCiAJImVkaWQvMTI4MHgxMDI0LmJpbiIsCiAJImVkaWQvMTYwMHgxMjAwLmJp biIsCkBAIC00MCw3ICs0MCw3IEBAIHN0YXRpYyBjaGFyICpnZW5lcmljX2VkaWRfbmFtZVtHRU5F UklDX0VESURTXSA9IHsKIAkiZWRpZC8xOTIweDEwODAuYmluIiwKIH07CiAKLXN0YXRpYyB1OCBn ZW5lcmljX2VkaWRbR0VORVJJQ19FRElEU11bMTI4XSA9IHsKK3N0YXRpYyBjb25zdCB1OCBnZW5l cmljX2VkaWRbR0VORVJJQ19FRElEU11bMTI4XSA9IHsKIAl7CiAJMHgwMCwgMHhmZiwgMHhmZiwg MHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwKIAkweDMxLCAweGQ4LCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLApAQCAtMTMzLDYzICsxMzMsNjggQEAgc3RhdGljIHU4IGdl bmVyaWNfZWRpZFtHRU5FUklDX0VESURTXVsxMjhdID0gewogCX0sCiB9OwogCitzdGF0aWMgaW50 IGVkaWRfc2l6ZShjb25zdCB1OCAqZWRpZCwgaW50IGRhdGFfc2l6ZSkKK3sKKwlpZiAoZGF0YV9z aXplIDwgRURJRF9MRU5HVEgpCisJCXJldHVybiAwOworCisJcmV0dXJuIChlZGlkWzB4N2VdICsg MSkgKiBFRElEX0xFTkdUSDsKK30KKwogc3RhdGljIHU4ICplZGlkX2xvYWQoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgY2hhciAqbmFtZSwKIAkJCWNvbnN0IGNoYXIgKmNv bm5lY3Rvcl9uYW1lKQogewotCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7Ci0Jc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldjsKLQl1OCAqZndkYXRhID0gTlVMTCwgKmVkaWQsICpuZXdfZWRp ZDsKLQlpbnQgZndzaXplLCBleHBlY3RlZDsKLQlpbnQgYnVpbHRpbiA9IDAsIGVyciA9IDA7CisJ Y29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7CisJY29uc3QgdTggKmZ3ZGF0YTsKKwl1 OCAqZWRpZDsKKwlpbnQgZndzaXplLCBidWlsdGluOwogCWludCBpLCB2YWxpZF9leHRlbnNpb25z ID0gMDsKIAlib29sIHByaW50X2JhZF9lZGlkID0gIWNvbm5lY3Rvci0+YmFkX2VkaWRfY291bnRl ciB8fCAoZHJtX2RlYnVnICYgRFJNX1VUX0tNUyk7CiAKLQlwZGV2ID0gcGxhdGZvcm1fZGV2aWNl X3JlZ2lzdGVyX3NpbXBsZShjb25uZWN0b3JfbmFtZSwgLTEsIE5VTEwsIDApOwotCWlmIChJU19F UlIocGRldikpIHsKLQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVnaXN0ZXIgRURJRCBmaXJtd2Fy ZSBwbGF0Zm9ybSBkZXZpY2UgIgotCQkgICAgImZvciBjb25uZWN0b3IgXCIlc1wiXG4iLCBjb25u ZWN0b3JfbmFtZSk7Ci0JCWVyciA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWVyciA9 IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBuYW1lLCAmcGRldi0+ZGV2KTsKLQlwbGF0Zm9ybV9kZXZp Y2VfdW5yZWdpc3RlcihwZGV2KTsKLQotCWlmIChlcnIpIHsKLQkJaSA9IDA7Ci0JCXdoaWxlIChp IDwgR0VORVJJQ19FRElEUyAmJiBzdHJjbXAobmFtZSwgZ2VuZXJpY19lZGlkX25hbWVbaV0pKQot CQkJaSsrOwotCQlpZiAoaSA8IEdFTkVSSUNfRURJRFMpIHsKLQkJCWVyciA9IDA7Ci0JCQlidWls dGluID0gMTsKKwlidWlsdGluID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgR0VORVJJQ19FRElEUzsg aSsrKSB7CisJCWlmIChzdHJjbXAobmFtZSwgZ2VuZXJpY19lZGlkX25hbWVbaV0pID09IDApIHsK IAkJCWZ3ZGF0YSA9IGdlbmVyaWNfZWRpZFtpXTsKIAkJCWZ3c2l6ZSA9IHNpemVvZihnZW5lcmlj X2VkaWRbaV0pOworCQkJYnVpbHRpbiA9IDE7CisJCQlicmVhazsKIAkJfQogCX0KKwlpZiAoIWJ1 aWx0aW4pIHsKKwkJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKwkJaW50IGVycjsKIAot CWlmIChlcnIpIHsKLQkJRFJNX0VSUk9SKCJSZXF1ZXN0aW5nIEVESUQgZmlybXdhcmUgXCIlc1wi IGZhaWxlZCAoZXJyPSVkKVxuIiwKLQkJICAgIG5hbWUsIGVycik7Ci0JCWdvdG8gb3V0OwotCX0K KwkJcGRldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoY29ubmVjdG9yX25hbWUs IC0xLCBOVUxMLCAwKTsKKwkJaWYgKElTX0VSUihwZGV2KSkgeworCQkJRFJNX0VSUk9SKCJGYWls ZWQgdG8gcmVnaXN0ZXIgRURJRCBmaXJtd2FyZSBwbGF0Zm9ybSBkZXZpY2UgIgorCQkJCSAgImZv ciBjb25uZWN0b3IgXCIlc1wiXG4iLCBjb25uZWN0b3JfbmFtZSk7CisJCQlyZXR1cm4gRVJSX0NB U1QocGRldik7CisJCX0KKworCQllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgbmFtZSwgJnBk ZXYtPmRldik7CisJCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKHBkZXYpOworCQlpZiAoZXJy KSB7CisJCQlEUk1fRVJST1IoIlJlcXVlc3RpbmcgRURJRCBmaXJtd2FyZSBcIiVzXCIgZmFpbGVk IChlcnI9JWQpXG4iLAorCQkJCSAgbmFtZSwgZXJyKTsKKwkJCXJldHVybiBFUlJfUFRSKGVycik7 CisJCX0KIAotCWlmIChmd2RhdGEgPT0gTlVMTCkgewotCQlmd2RhdGEgPSAodTggKikgZnctPmRh dGE7CisJCWZ3ZGF0YSA9IGZ3LT5kYXRhOwogCQlmd3NpemUgPSBmdy0+c2l6ZTsKIAl9CiAKLQll eHBlY3RlZCA9IChmd2RhdGFbMHg3ZV0gKyAxKSAqIEVESURfTEVOR1RIOwotCWlmIChleHBlY3Rl ZCAhPSBmd3NpemUpIHsKKwlpZiAoZWRpZF9zaXplKGZ3ZGF0YSwgZndzaXplKSAhPSBmd3NpemUp IHsKIAkJRFJNX0VSUk9SKCJTaXplIG9mIEVESUQgZmlybXdhcmUgXCIlc1wiIGlzIGludmFsaWQg IgotCQkgICAgIihleHBlY3RlZCAlZCwgZ290ICVkKVxuIiwgbmFtZSwgZXhwZWN0ZWQsIChpbnQp IGZ3c2l6ZSk7Ci0JCWVyciA9IC1FSU5WQUw7Ci0JCWdvdG8gcmVsZndfb3V0OworCQkJICAiKGV4 cGVjdGVkICVkLCBnb3QgJWQpXG4iLCBuYW1lLAorCQkJICBlZGlkX3NpemUoZndkYXRhLCBmd3Np emUpLCAoaW50KWZ3c2l6ZSk7CisJCWVkaWQgPSBFUlJfUFRSKC1FSU5WQUwpOworCQlnb3RvIG91 dDsKIAl9CiAKIAllZGlkID0ga21lbWR1cChmd2RhdGEsIGZ3c2l6ZSwgR0ZQX0tFUk5FTCk7CiAJ aWYgKGVkaWQgPT0gTlVMTCkgewotCQllcnIgPSAtRU5PTUVNOwotCQlnb3RvIHJlbGZ3X291dDsK KwkJZWRpZCA9IEVSUl9QVFIoLUVOT01FTSk7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmICghZHJt X2VkaWRfYmxvY2tfdmFsaWQoZWRpZCwgMCwgcHJpbnRfYmFkX2VkaWQpKSB7CkBAIC0xOTcsOCAr MjAyLDggQEAgc3RhdGljIHU4ICplZGlkX2xvYWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwgY29uc3QgY2hhciAqbmFtZSwKIAkJRFJNX0VSUk9SKCJCYXNlIGJsb2NrIG9mIEVESUQg ZmlybXdhcmUgXCIlc1wiIGlzIGludmFsaWQgIiwKIAkJICAgIG5hbWUpOwogCQlrZnJlZShlZGlk KTsKLQkJZXJyID0gLUVJTlZBTDsKLQkJZ290byByZWxmd19vdXQ7CisJCWVkaWQgPSBFUlJfUFRS KC1FSU5WQUwpOworCQlnb3RvIG91dDsKIAl9CiAKIAlmb3IgKGkgPSAxOyBpIDw9IGVkaWRbMHg3 ZV07IGkrKykgewpAQCAtMjEwLDE5ICsyMTUsMTggQEAgc3RhdGljIHU4ICplZGlkX2xvYWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgY2hhciAqbmFtZSwKIAl9CiAKIAlp ZiAodmFsaWRfZXh0ZW5zaW9ucyAhPSBlZGlkWzB4N2VdKSB7CisJCXU4ICpuZXdfZWRpZDsKKwog CQllZGlkW0VESURfTEVOR1RILTFdICs9IGVkaWRbMHg3ZV0gLSB2YWxpZF9leHRlbnNpb25zOwog CQlEUk1fSU5GTygiRm91bmQgJWQgdmFsaWQgZXh0ZW5zaW9ucyBpbnN0ZWFkIG9mICVkIGluIEVE SUQgZGF0YSAiCiAJCSAgICAiXCIlc1wiIGZvciBjb25uZWN0b3IgXCIlc1wiXG4iLCB2YWxpZF9l eHRlbnNpb25zLAogCQkgICAgZWRpZFsweDdlXSwgbmFtZSwgY29ubmVjdG9yX25hbWUpOwogCQll ZGlkWzB4N2VdID0gdmFsaWRfZXh0ZW5zaW9uczsKKwogCQluZXdfZWRpZCA9IGtyZWFsbG9jKGVk aWQsICh2YWxpZF9leHRlbnNpb25zICsgMSkgKiBFRElEX0xFTkdUSCwKLQkJICAgIEdGUF9LRVJO RUwpOwotCQlpZiAobmV3X2VkaWQgPT0gTlVMTCkgewotCQkJZXJyID0gLUVOT01FTTsKLQkJCWtm cmVlKGVkaWQpOwotCQkJZ290byByZWxmd19vdXQ7Ci0JCX0KLQkJZWRpZCA9IG5ld19lZGlkOwor CQkJCSAgICBHRlBfS0VSTkVMKTsKKwkJaWYgKG5ld19lZGlkKQorCQkJZWRpZCA9IG5ld19lZGlk OwogCX0KIAogCURSTV9JTkZPKCJHb3QgJXMgRURJRCBiYXNlIGJsb2NrIGFuZCAlZCBleHRlbnNp b24lcyBmcm9tICIKQEAgLTIzMCwxMyArMjM0LDkgQEAgc3RhdGljIHU4ICplZGlkX2xvYWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgY2hhciAqbmFtZSwKIAkgICAgImV4 dGVybmFsIiwgdmFsaWRfZXh0ZW5zaW9ucywgdmFsaWRfZXh0ZW5zaW9ucyA9PSAxID8gIiIgOiAi cyIsCiAJICAgIG5hbWUsIGNvbm5lY3Rvcl9uYW1lKTsKIAotcmVsZndfb3V0OgotCXJlbGVhc2Vf ZmlybXdhcmUoZncpOwotCiBvdXQ6Ci0JaWYgKGVycikKLQkJcmV0dXJuIEVSUl9QVFIoZXJyKTsK LQorCWlmIChmdykKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJcmV0dXJuIGVkaWQ7CiB9CiAK LS0gCjEuOC40LnJjMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK