From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: [PATCH 4/9] drm/i915: Add check for corrupt raw EDID header for Displayport compliance testing Date: Tue, 31 Mar 2015 10:15:01 -0700 Message-ID: <1427822106-29617-5-git-send-email-tprevite@gmail.com> References: <1427822106-29617-1-git-send-email-tprevite@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1427822106-29617-1-git-send-email-tprevite@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RGlzcGxheXBvcnQgY29tcGxpYW5jZSB0ZXN0IDQuMi4yLjYgcmVxdWlyZXMgdGhhdCBhIHNvdXJj ZSBkZXZpY2UgYmUgY2FwYWJsZSBvZiBkZXRlY3RpbmcKYSBjb3JydXB0IEVESUQuIFRvIGRvIHRo aXMsIHRoZSB0ZXN0IHNldHMgdXAgYW4gaW52YWxpZCBFRElEIGhlYWRlciB0byBiZSByZWFkIGJ5 IHRoZSBzb3VyY2UKZGV2aWNlLiBVbmZvcnR1bmF0ZWx5LCB0aGUgRFJNIEVESUQgcmVhZGluZyBh bmQgcGFyc2luZyBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IHRvbyBnb29kIGluCnRoaXMgY2FzZSBh bmQgcHJldmVudCB0aGUgc291cmNlIGZyb20gcmVhZGluZyB0aGUgY29ycnVwdGVkIEVESUQuIFRo ZSByZXN1bHQgaXMgYSBmYWlsZWQKY29tcGxpYW5jZSB0ZXN0LgoKSW4gb3JkZXIgdG8gc3VjY2Vz c2Z1bGx5IHBhc3MgdGhlIHRlc3QsIHRoZSByYXcgRURJRCBoZWFkZXIgbXVzdCBiZSBjaGVja2Vk IG9uIGVhY2ggcmVhZAp0byBzZWUgaWYgaGFzIGJlZW4gImNvcnJ1cHRlZCIuIElmIGFuIGludmFs aWQgcmF3IGhlYWRlciBpcyBkZXRlY3RlZCwgYSBmbGFnIGlzIHNldCB0aGF0CmFsbG93cyB0aGUg Y29tcGxpYW5jZSB0ZXN0aW5nIGNvZGUgdG8gYWNrbm93bGVkZ2UgdGhhdCBmYWN0IGFuZCByZWFj dCBhcHByb3ByaWF0ZWx5LiBUaGUKZmxhZyBpcyBhdXRvbWF0aWNhbGx5IGNsZWFyZWQgb24gcmVh ZC4KClRoaXMgY29kZSBpcyBkZXNpZ25lZCB0byBleHByZXNzbHkgd29yayBmb3IgY29tcGxpYW5j ZSB0ZXN0aW5nIHdpdGhvdXQgZGlzcnVwdGluZyBub3JtYWwKb3BlcmF0aW9ucyBmb3IgRURJRCBy ZWFkaW5nIGFuZCBwYXJzaW5nLgoKU2lnbmVkLW9mZi1ieTogVG9kZCBQcmV2aXRlIDx0cHJldml0 ZUBnbWFpbC5jb20+CkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCi0tLQogZHJp dmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgfCAzMyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgIHwgMTcgKysrKysr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgIDEgKwogaW5j bHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICAgfCAgNSArKysrKwogNCBmaWxlcyBjaGFuZ2Vk LCA1NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlk LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwppbmRleCA1M2JjN2E2Li4zZDRmNDczIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2VkaWQuYwpAQCAtOTkwLDYgKzk5MCwzMiBAQCBzdGF0aWMgY29uc3QgdTggZWRpZF9o ZWFkZXJbXSA9IHsKIAkweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAw eDAwCiB9OwogCisKKy8qIEZsYWcgZm9yIEVESUQgY29ycnVwdGlvbiB0ZXN0aW5nCisgKiBEaXNw bGF5cG9ydCBMaW5rIENUUyBDb3JlIDEuMiByZXYxLjEgLSA0LjIuMi42CisgKi8KK3N0YXRpYyBi b29sIHJhd19lZGlkX2hlYWRlcl9jb3JydXB0ZWQ7CisKKy8qKgorICogZHJtX3Jhd19lZGlkX2hl YWRlcl92YWxpZCAtIGNoZWNrIHRvIHNlZSBpZiB0aGUgcmF3IGhlYWRlciBpcworICogY29ycnVw dCBvciBub3QuIFVzZWQgc29sZWx5IGZvciBEaXNwbGF5cG9ydCBjb21wbGlhbmNlCisgKiB0ZXN0 aW5nIGFuZCByZXF1aXJlZCBieSBMaW5rIENUUyBDb3JlIDEuMiByZXYxLjEgNC4yLjIuNi4KKyAq IEByYXdfZWRpZDogcG9pbnRlciB0byByYXcgYmFzZSBFRElEIGJsb2NrCisgKgorICogSW5kaWNh dGVzIHdoZXRoZXIgdGhlIG9yaWdpbmFsIEVESUQgaGVhZGVyIGFzIHJlYWQgZnJvbSB0aGUKKyAq IGRldmljZSB3YXMgY29ycnVwdCBvciBub3QuIENsZWFycyBvbiByZWFkLgorICoKKyAqIFJldHVy bjogdHJ1ZSBpZiB0aGUgcmF3IGhlYWRlciB3YXMgY29ycnVwdCwgb3RoZXJ3aXNlIGZhbHNlCisg Ki8KK2Jvb2wgZHJtX3Jhd19lZGlkX2hlYWRlcl9jb3JydXB0KHZvaWQpCit7CisJYm9vbCBjb3Jy dXB0ZWQgPSByYXdfZWRpZF9oZWFkZXJfY29ycnVwdGVkOworCisJcmF3X2VkaWRfaGVhZGVyX2Nv cnJ1cHRlZCA9IDA7CisJcmV0dXJuIGNvcnJ1cHRlZDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3Jh d19lZGlkX2hlYWRlcl9jb3JydXB0KTsKKwogLyoqCiAgKiBkcm1fZWRpZF9oZWFkZXJfaXNfdmFs aWQgLSBzYW5pdHkgY2hlY2sgdGhlIGhlYWRlciBvZiB0aGUgYmFzZSBFRElEIGJsb2NrCiAgKiBA cmF3X2VkaWQ6IHBvaW50ZXIgdG8gcmF3IGJhc2UgRURJRCBibG9jawpAQCAtMTAwNiw2ICsxMDMy LDEzIEBAIGludCBkcm1fZWRpZF9oZWFkZXJfaXNfdmFsaWQoY29uc3QgdTggKnJhd19lZGlkKQog CQlpZiAocmF3X2VkaWRbaV0gPT0gZWRpZF9oZWFkZXJbaV0pCiAJCQlzY29yZSsrOwogCisJaWYg KHNjb3JlICE9IDgpIHsKKwkJLyogTG9nIGFuZCBzZXQgZmxhZyBoZXJlIGZvciBFRElEIGNvcnJ1 cHRpb24gdGVzdGluZworCQkgKiBEaXNwbGF5cG9ydCBMaW5rIENUUyBDb3JlIDEuMiByZXYxLjEg LSA0LjIuMi42CisJCSAqLworCQlEUk1fREVCVUdfRFJJVkVSKCJSYXcgRURJRCBoZWFkZXIgaW52 YWxpZFxuIik7CisJCXJhd19lZGlkX2hlYWRlcl9jb3JydXB0ZWQgPSAxOworCX0KIAlyZXR1cm4g c2NvcmU7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9lZGlkX2hlYWRlcl9pc192YWxpZCk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYwppbmRleCBkYzg3Mjc2Li41N2Y4ZTQzIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKQEAgLTM4MjQsNiArMzgyNCw5IEBAIHVwZGF0ZV9zdGF0dXM6CiAJCQkJICAgJnJl c3BvbnNlLCAxKTsKIAlpZiAoc3RhdHVzIDw9IDApCiAJCURSTV9ERUJVR19LTVMoIkNvdWxkIG5v dCB3cml0ZSB0ZXN0IHJlc3BvbnNlIHRvIHNpbmtcbiIpOworCisJLyogQ2xlYXIgZmxhZyBoZXJl LCBhZnRlciB0ZXN0aW5nIGlzIGNvbXBsZXRlKi8KKwlpbnRlbF9kcC0+Y29tcGxpYW5jZV9lZGlk X2ludmFsaWQgPSAwOwogfQogCiBzdGF0aWMgaW50CkBAIC0zODk2LDYgKzM4OTksMTAgQEAgaW50 ZWxfZHBfY2hlY2tfbGlua19zdGF0dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKIAlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9ICZkcF90b19kaWdfcG9ydChpbnRlbF9k cCktPmJhc2U7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZpbnRlbF9kcC0+ YXR0YWNoZWRfY29ubmVjdG9yLT5iYXNlOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9 ICZpbnRlbF9kcC0+YXV4LmRkYzsKKwlzdHJ1Y3QgZWRpZCAqZWRpZF9yZWFkID0gTlVMTDsKKwog CXU4IHNpbmtfaXJxX3ZlY3RvcjsKIAl1OCBsaW5rX3N0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpF XTsKIApAQCAtMzkxMiw2ICszOTE5LDE2IEBAIGludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCXJldHVybjsKIAl9CiAKKwkvKiBDb21wbGlhbmNl IHRlc3RpbmcgcmVxdWlyZXMgYW4gRURJRCByZWFkIGZvciBhbGwgSFBEIGV2ZW50cworCSAqIExp bmsgQ1RTIENvcmUgMS4yIHJldiAxLjE6IFRlc3QgNC4yLjIuMQorCSAqIEZsYWcgc2V0IGhlcmUg d2lsbCBiZSBoYW5kbGVkIGluIHRoZSBFRElEIHRlc3QgZnVuY3Rpb24KKwkgKi8KKwllZGlkX3Jl YWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCBhZGFwdGVyKTsKKwlpZiAoIWVkaWRfcmVhZCB8 fCBkcm1fcmF3X2VkaWRfaGVhZGVyX2NvcnJ1cHQoKSA9PSAxKSB7CisJCURSTV9ERUJVR19EUklW RVIoIkVESUQgaW52YWxpZCwgc2V0dGluZyBmbGFnXG4iKTsKKwkJaW50ZWxfZHAtPmNvbXBsaWFu Y2VfZWRpZF9pbnZhbGlkID0gMTsKKwl9CisKIAkvKiBUcnkgdG8gcmVhZCB0aGUgc291cmNlIG9m IHRoZSBpbnRlcnJ1cHQgKi8KIAlpZiAoaW50ZWxfZHAtPmRwY2RbRFBfRFBDRF9SRVZdID49IDB4 MTEgJiYKIAkgICAgaW50ZWxfZHBfZ2V0X3NpbmtfaXJxKGludGVsX2RwLCAmc2lua19pcnFfdmVj dG9yKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBlN2I2MmJlLi40MmU0MjUxIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNjUxLDYgKzY1MSw3IEBAIHN0cnVjdCBpbnRl bF9kcCB7CiAJLyogRGlzcGxheXBvcnQgY29tcGxpYW5jZSB0ZXN0aW5nICovCiAJdW5zaWduZWQg bG9uZyBjb21wbGlhbmNlX3Rlc3RfdHlwZTsKIAlib29sIGNvbXBsaWFuY2VfdGVzdGluZ19hY3Rp dmU7CisJYm9vbCBjb21wbGlhbmNlX2VkaWRfaW52YWxpZDsKIH07CiAKIHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCBiL2luY2x1 ZGUvZHJtL2RybV9lZGlkLmgKaW5kZXggODdkODVlOC4uOGE3ZWIyMiAxMDA2NDQKLS0tIGEvaW5j bHVkZS9kcm0vZHJtX2VkaWQuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCkBAIC0zODgs NCArMzg4LDkgQEAgc3RydWN0IGVkaWQgKmRybV9kb19nZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAogCQkJICAgICAgc2l6ZV90IGxlbiksCiAJdm9pZCAqZGF0YSk7CiAK Ky8qIENoZWNrIGZvciBjb3JydXB0aW9uIGluIHJhdyBFRElEIGhlYWRlciAtIERpc3BsYXlwb3J0 IGNvbXBsaWFuY2UKKyAgKiBEaXNwbGF5cG9ydCBMaW5rIENUUyBDb3JlIDEuMiByZXYxLjEgLSA0 LjIuMi42CisgKi8KK2Jvb2wgZHJtX3Jhd19lZGlkX2hlYWRlcl9jb3JydXB0KHZvaWQpOworCiAj ZW5kaWYgLyogX19EUk1fRURJRF9IX18gKi8KLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=