From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicholas Sielicki Subject: [PATCH] drm: disable deep color when EDID violates spec Date: Thu, 5 Jan 2017 17:45:23 -0600 Message-ID: <20170105234523.5899-1-nicholas.sielicki@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-it0-x242.google.com (mail-it0-x242.google.com [IPv6:2607:f8b0:4001:c0b::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C82D6E971 for ; Thu, 5 Jan 2017 23:45:42 +0000 (UTC) Received: by mail-it0-x242.google.com with SMTP id q186so529994itb.1 for ; Thu, 05 Jan 2017 15:45:42 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Nicholas Sielicki List-Id: dri-devel@lists.freedesktop.org QXMgcGVyIHRoZSBIRE1JIDEuMyBhbmQgMS40IHNwZWMsICJkZWVwIGNvbG9yIG1vZGVzIiBhcmUg Y29sb3IgZGVwdGhzCmdyZWF0ZXIgdGhhbiAyNCBiaXRzIHBlciBwaXhlbC4gVGhlIHNwZWMgZXhw bGljaXRseSBzdGF0ZXMsICJBbGwgRGVlcApDb2xvciBtb2RlcyBhcmUgb3B0aW9uYWwgdGhvdWdo IGlmIGFuIEhETUkgU291cmNlIG9yIFNpbmsgc3VwcG9ydHMgYW55CkRlZXAgQ29sb3IgbW9kZSwg aXQgc2hhbGwgc3VwcG9ydCAzNi1iaXQgbW9kZS4iICg2LjIuNCBDb2xvciBEZXB0aApSZXF1aXJl bWVudHMpLgoKSSBjYW1lIGFjcm9zcyBhIG1vbml0b3IgKEFjZXIgWDIzM0gpIHRoYXQgc3VwcGxp ZXMgYW4gaWxsZWdhbCBFRElEIHdoZXJlCkRDXzMwYml0IGlzIHNldCBhbmQgRENfMzZiaXQgaXMg bm90IHNldC4gVGhlIGVuZCByZXN1bHQgaXMgYmFkbHkgZ2FyYmxlZApvdXRwdXQgYmVjYXVzZSB0 aGUgZHJpdmVyIGlzIHNlbmRpbmcgMzZCUFAgd2hlbiB0aGUgbW9uaXRvciBjYW4ndCBoYW5kbGUK aXQuCgpNdWNoIG9mIHRoZSBpbnRlbCBoYXJkd2FyZSBpcyBpbmNhcGFibGUgb2Ygb3BlcmF0aW5n IGF0IGFueQpiaXQtcGVyLWNvbXBvbmVudCBzZXR0aW5nIG91dHNpZGUgb2YgOCBvciAxMiwgYW5k IHRoZSBzcGVjIHNlZW1zIHRvCmltcGx5IHRoYXQgaWYgYW55IGRlZXAgY29sb3Igc3VwcG9ydCBp cyBmb3VuZCwgdGhlbiBpdCBpcyBhIHNhZmUKYXNzdW1wdGlvbiB0byBvcGVyYXRlIGF0IDEyLgoK VGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQgdGhlIEVESUQgaXMgd2l0aGluIHRoZSBzcGVjIChzcGVj aWZpY2FsbHksIHRoYXQKRENfMzZiaXQgaXMgc2V0KSBiZWZvcmUgY29tbWl0dGluZyB0byBnb2lu ZyBmb3J3YXJkIHdpdGggYW55IGRlZXAKY29sb3JzLiAgVGhlcmUgd2FzIGFscmVhZHkgYSBjaGVj ayBmb3IgdGhpcyBFRElEIGluY29uc2lzdGVuY3ksIGJ1dCBpdApyZXN1bHRlZCBvbmx5IGluIGEg d2FybmluZyBhbmQgZGlkIG5vdCBmYWxsLWJhY2sgdG8gc2FmZXIgc2V0dGluZ3MuCgpDQzogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1i eTogTmljaG9sYXMgU2llbGlja2kgPG5pY2hvbGFzLnNpZWxpY2tpQGdtYWlsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2VkaWQuYwppbmRleCAzMzZiZTMxZmYzZGUuLjQyY2UzZjU0ZDJkYyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9lZGlkLmMKQEAgLTM3NzIsMzAgKzM3NzIsMzQgQEAgc3RhdGljIHZvaWQgZHJtX3BhcnNlX2hk bWlfZGVlcF9jb2xvcl9pbmZvKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiB7CiAJ c3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87 CiAJdW5zaWduZWQgaW50IGRjX2JwYyA9IDA7CisJdTggbW9kZXMgPSAwOwogCiAJLyogSERNSSBz dXBwb3J0cyBhdCBsZWFzdCA4IGJwYyAqLwogCWluZm8tPmJwYyA9IDg7CiAKKwkvKiBFbnN1cmUg YWxsIERDIG1vZGVzIGFyZSB1bnNldCBpZiB3ZSByZXR1cm4gZWFybHkgKi8KKwlpbmZvLT5lZGlk X2hkbWlfZGNfbW9kZXMgPSAwOworCiAJaWYgKGNlYV9kYl9wYXlsb2FkX2xlbihoZG1pKSA8IDYp CiAJCXJldHVybjsKIAogCWlmIChoZG1pWzZdICYgRFJNX0VESURfSERNSV9EQ18zMCkgewogCQlk Y19icGMgPSAxMDsKLQkJaW5mby0+ZWRpZF9oZG1pX2RjX21vZGVzIHw9IERSTV9FRElEX0hETUlf RENfMzA7CisJCW1vZGVzIHw9IERSTV9FRElEX0hETUlfRENfMzA7CiAJCURSTV9ERUJVRygiJXM6 IEhETUkgc2luayBkb2VzIGRlZXAgY29sb3IgMzAuXG4iLAogCQkJICBjb25uZWN0b3ItPm5hbWUp OwogCX0KIAogCWlmIChoZG1pWzZdICYgRFJNX0VESURfSERNSV9EQ18zNikgewogCQlkY19icGMg PSAxMjsKLQkJaW5mby0+ZWRpZF9oZG1pX2RjX21vZGVzIHw9IERSTV9FRElEX0hETUlfRENfMzY7 CisJCW1vZGVzIHw9IERSTV9FRElEX0hETUlfRENfMzY7CiAJCURSTV9ERUJVRygiJXM6IEhETUkg c2luayBkb2VzIGRlZXAgY29sb3IgMzYuXG4iLAogCQkJICBjb25uZWN0b3ItPm5hbWUpOwogCX0K IAogCWlmIChoZG1pWzZdICYgRFJNX0VESURfSERNSV9EQ180OCkgewogCQlkY19icGMgPSAxNjsK LQkJaW5mby0+ZWRpZF9oZG1pX2RjX21vZGVzIHw9IERSTV9FRElEX0hETUlfRENfNDg7CisJCW1v ZGVzIHw9IERSTV9FRElEX0hETUlfRENfNDg7CiAJCURSTV9ERUJVRygiJXM6IEhETUkgc2luayBk b2VzIGRlZXAgY29sb3IgNDguXG4iLAogCQkJICBjb25uZWN0b3ItPm5hbWUpOwogCX0KQEAgLTM4 MDYsOSArMzgxMCwyNCBAQCBzdGF0aWMgdm9pZCBkcm1fcGFyc2VfaGRtaV9kZWVwX2NvbG9yX2lu Zm8oc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJcmV0dXJuOwogCX0KIAorCS8q CisJICogQWxsIGRlZXAgY29sb3IgbW9kZXMgYXJlIG9wdGlvbmFsLCBidXQgaWYgYSBzaW5rIHN1 cHBvcnRzIGFueSBkZWVwCisJICogY29sb3IgbW9kZSwgaXQgbXVzdCBzdXBwb3J0IDM2LWJpdCBt b2RlLiBJZiB0aGlzIGlzIGZvdW5kIG5vdAorCSAqIHRvIGJlIHRoZSBjYXNlLCBzaW5rIGlzIGlu IHZpb2xhdGlvbiBvZiBIRE1JIDEuMyAvIDEuNCBzcGVjIGFuZCBpdAorCSAqIGlzIHBydWRlbnQg dG8gZGlzYWJsZSBhbGwgZGVlcCBjb2xvciBtb2Rlcy4gUmV0dXJuIGhlcmUgYmVmb3JlCisJICog Y29tbWl0dGluZyBicGMgYW5kIGVkaWRfaGRtaV9kY19tb2Rlcy4KKwkgKi8KKwlpZiAoIShtb2Rl cyAmIERSTV9FRElEX0hETUlfRENfMzYpKSB7CisJCURSTV9ERUJVRygiJXM6IEhETUkgc2luayBz aG91bGQgZG8gRENfMzYsIGJ1dCBkb2VzIG5vdCFcbiIsCisJCQkgIGNvbm5lY3Rvci0+bmFtZSk7 CisJCXJldHVybjsKKwl9CisKKwogCURSTV9ERUJVRygiJXM6IEFzc2lnbmluZyBIRE1JIHNpbmsg Y29sb3IgZGVwdGggYXMgJWQgYnBjLlxuIiwKIAkJICBjb25uZWN0b3ItPm5hbWUsIGRjX2JwYyk7 CiAJaW5mby0+YnBjID0gZGNfYnBjOworCWluZm8tPmVkaWRfaGRtaV9kY19tb2RlcyA9IG1vZGVz OwogCiAJLyoKIAkgKiBEZWVwIGNvbG9yIHN1cHBvcnQgbWFuZGF0ZXMgUkdCNDQ0IHN1cHBvcnQg Zm9yIGFsbCB2aWRlbwpAQCAtMzgyMywxNSArMzg0Miw2IEBAIHN0YXRpYyB2b2lkIGRybV9wYXJz ZV9oZG1pX2RlZXBfY29sb3JfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAog CQlEUk1fREVCVUcoIiVzOiBIRE1JIHNpbmsgZG9lcyBZQ1JDQjQ0NCBpbiBkZWVwIGNvbG9yLlxu IiwKIAkJCSAgY29ubmVjdG9yLT5uYW1lKTsKIAl9Ci0KLQkvKgotCSAqIFNwZWMgc2F5cyB0aGF0 IGlmIGFueSBkZWVwIGNvbG9yIG1vZGUgaXMgc3VwcG9ydGVkIGF0IGFsbCwKLQkgKiB0aGVuIGRl ZXAgY29sb3IgMzYgYml0IG11c3QgYmUgc3VwcG9ydGVkLgotCSAqLwotCWlmICghKGhkbWlbNl0g JiBEUk1fRURJRF9IRE1JX0RDXzM2KSkgewotCQlEUk1fREVCVUcoIiVzOiBIRE1JIHNpbmsgc2hv dWxkIGRvIERDXzM2LCBidXQgZG9lcyBub3QhXG4iLAotCQkJICBjb25uZWN0b3ItPm5hbWUpOwot CX0KIH0KIAogc3RhdGljIHZvaWQKQEAgLTM4OTUsNiArMzkwNSw3IEBAIHN0YXRpYyB2b2lkIGRy bV9hZGRfZGlzcGxheV9pbmZvKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJLyog ZHJpdmVyIGZpZ3VyZXMgaXQgb3V0IGluIHRoaXMgY2FzZSAqLwogCWluZm8tPmJwYyA9IDA7CiAJ aW5mby0+Y29sb3JfZm9ybWF0cyA9IDA7CisJaW5mby0+ZWRpZF9oZG1pX2RjX21vZGVzID0gMDsK IAlpbmZvLT5jZWFfcmV2ID0gMDsKIAlpbmZvLT5tYXhfdG1kc19jbG9jayA9IDA7CiAJaW5mby0+ ZHZpX2R1YWwgPSBmYWxzZTsKLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==