From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damien Lespiau Subject: [PATCH 05/22] drm/edid: Expose mandatory stereo modes for HDMI sinks Date: Wed, 25 Sep 2013 16:45:23 +0100 Message-ID: <1380123940-14340-6-git-send-email-damien.lespiau@intel.com> References: <1380123940-14340-1-git-send-email-damien.lespiau@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1380123940-14340-1-git-send-email-damien.lespiau@intel.com> 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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Rm9yIG5vdywgbGV0J3MganVzdCBsb29rIGF0IHRoZSAzRF9wcmVzZW50IGZsYWcgb2YgdGhlIENF QSBIRE1JIHZlbmRvcgpibG9jayB0byBkZXRlY3QgaWYgdGhlIHNpbmsgc3VwcG9ydHMgYSBzbWFs bCBsaXN0IG9mIHRoZW4gbWFuZGF0b3J5IDNECmZvcm1hdHMuCgpTZWUgdGhlIEhETUkgMS40YSAz RCBleHRyYWN0aW9uIGZvciBkZXRhaWw6CiAgaHR0cDovL3d3dy5oZG1pLm9yZy9tYW51ZmFjdHVy ZXIvc3BlY2lmaWNhdGlvbi5hc3B4Cgp2MjogUmVuYW1lIGZyZXEgdG8gdnJlZnJlc2gsIG1ha2Ug dGhlIG1hbmRhdG9yeSBzdHJ1Y3R1cmUgYSBiaXQgbW9yZQogICAgY29tcGFjdCwgZml4IHNvbWUg d2hpdGUgc3BhY2UgaXNzdWVzIGFuZCBhZGQgYSBjb3VwbGUgb2YgY29uc3QKICAgIChWaWxsZSBT eXJqw6Rsw6QpCgpSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNw aWF1QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyB8IDExMCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxMDMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCmluZGV4IDE2 ODhmZjUuLjUyZTYwODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC0yNTUzLDEzICsyNTUzLDk1IEBAIGRv X2NlYV9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBjb25zdCB1OCAqZGIs IHU4IGxlbikKIAlyZXR1cm4gbW9kZXM7CiB9CiAKK3N0cnVjdCBzdGVyZW9fbWFuZGF0b3J5X21v ZGUgeworCWludCB3aWR0aCwgaGVpZ2h0LCB2cmVmcmVzaDsKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7 Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHN0ZXJlb19tYW5kYXRvcnlfbW9kZSBzdGVyZW9f bWFuZGF0b3J5X21vZGVzW10gPSB7CisJeyAxOTIwLCAxMDgwLCAyNCwKKwkgIERSTV9NT0RFX0ZM QUdfM0RfVE9QX0FORF9CT1RUT00gfCBEUk1fTU9ERV9GTEFHXzNEX0ZSQU1FX1BBQ0tJTkcgfSwK Kwl7IDE5MjAsIDEwODAsIDUwLAorCSAgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UgfCBEUk1fTU9E RV9GTEFHXzNEX1NJREVfQllfU0lERV9IQUxGIH0sCisJeyAxOTIwLCAxMDgwLCA2MCwKKwkgIERS TV9NT0RFX0ZMQUdfSU5URVJMQUNFIHwgRFJNX01PREVfRkxBR18zRF9TSURFX0JZX1NJREVfSEFM RiB9LAorCXsgMTI4MCwgNzIwLCAgNTAsCisJICBEUk1fTU9ERV9GTEFHXzNEX1RPUF9BTkRfQk9U VE9NIHwgRFJNX01PREVfRkxBR18zRF9GUkFNRV9QQUNLSU5HIH0sCisJeyAxMjgwLCA3MjAsICA2 MCwKKwkgIERSTV9NT0RFX0ZMQUdfM0RfVE9QX0FORF9CT1RUT00gfCBEUk1fTU9ERV9GTEFHXzNE X0ZSQU1FX1BBQ0tJTkcgfQorfTsKKworc3RhdGljIGJvb2wKK3N0ZXJlb19tYXRjaF9tYW5kYXRv cnkoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCSAgICAgICBjb25zdCBz dHJ1Y3Qgc3RlcmVvX21hbmRhdG9yeV9tb2RlICpzdGVyZW9fbW9kZSkKK3sKKwl1bnNpZ25lZCBp bnQgaW50ZXJsYWNlZCA9IG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0U7CisK KwlyZXR1cm4gbW9kZS0+aGRpc3BsYXkgPT0gc3RlcmVvX21vZGUtPndpZHRoICYmCisJICAgICAg IG1vZGUtPnZkaXNwbGF5ID09IHN0ZXJlb19tb2RlLT5oZWlnaHQgJiYKKwkgICAgICAgaW50ZXJs YWNlZCA9PSAoc3RlcmVvX21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpICYm CisJICAgICAgIGRybV9tb2RlX3ZyZWZyZXNoKG1vZGUpID09IHN0ZXJlb19tb2RlLT52cmVmcmVz aDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBzdGVyZW9fbWFuZGF0b3J5X21vZGUgKgoraGRt aV9maW5kX3N0ZXJlb19tYW5kYXRvcnlfbW9kZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHN0ZXJl b19tYW5kYXRvcnlfbW9kZXMpOyBpKyspCisJCWlmIChzdGVyZW9fbWF0Y2hfbWFuZGF0b3J5KG1v ZGUsICZzdGVyZW9fbWFuZGF0b3J5X21vZGVzW2ldKSkKKwkJCXJldHVybiAmc3RlcmVvX21hbmRh dG9yeV9tb2Rlc1tpXTsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IGFkZF9oZG1p X21hbmRhdG9yeV9zdGVyZW9fbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK K3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7CisJY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7CisJc3RydWN0IGxpc3RfaGVhZCBzdGVyZW9fbW9k ZXM7CisJaW50IG1vZGVzID0gMDsKKworCUlOSVRfTElTVF9IRUFEKCZzdGVyZW9fbW9kZXMpOwor CisJbGlzdF9mb3JfZWFjaF9lbnRyeShtb2RlLCAmY29ubmVjdG9yLT5wcm9iZWRfbW9kZXMsIGhl YWQpIHsKKwkJY29uc3Qgc3RydWN0IHN0ZXJlb19tYW5kYXRvcnlfbW9kZSAqbWFuZGF0b3J5Owor CQl1MzIgc3RlcmVvX2xheW91dHMsIGxheW91dDsKKworCQltYW5kYXRvcnkgPSBoZG1pX2ZpbmRf c3RlcmVvX21hbmRhdG9yeV9tb2RlKG1vZGUpOworCQlpZiAoIW1hbmRhdG9yeSkKKwkJCWNvbnRp bnVlOworCisJCXN0ZXJlb19sYXlvdXRzID0gbWFuZGF0b3J5LT5mbGFncyAmIERSTV9NT0RFX0ZM QUdfM0RfTUFTSzsKKwkJZG8geworCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm5ld19tb2Rl OworCisJCQlsYXlvdXQgPSAxIDw8IChmZnMoc3RlcmVvX2xheW91dHMpIC0gMSk7CisJCQlzdGVy ZW9fbGF5b3V0cyAmPSB+bGF5b3V0OworCisJCQluZXdfbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0 ZShkZXYsIG1vZGUpOworCQkJaWYgKCFuZXdfbW9kZSkKKwkJCQljb250aW51ZTsKKworCQkJbmV3 X21vZGUtPmZsYWdzIHw9IGxheW91dDsKKwkJCWxpc3RfYWRkX3RhaWwoJm5ld19tb2RlLT5oZWFk LCAmc3RlcmVvX21vZGVzKTsKKwkJCW1vZGVzKys7CisJCX0gd2hpbGUgKHN0ZXJlb19sYXlvdXRz KTsKKwl9CisKKwlsaXN0X3NwbGljZV90YWlsKCZzdGVyZW9fbW9kZXMsICZjb25uZWN0b3ItPnBy b2JlZF9tb2Rlcyk7CisKKwlyZXR1cm4gbW9kZXM7Cit9CisKIC8qCiAgKiBkb19oZG1pX3ZzZGJf bW9kZXMgLSBQYXJzZSB0aGUgSERNSSBWZW5kb3IgU3BlY2lmaWMgZGF0YSBibG9jawogICogQGNv bm5lY3RvcjogY29ubmVjdG9yIGNvcnJlc3BvbmRpbmcgdG8gdGhlIEhETUkgc2luawogICogQGRi OiBzdGFydCBvZiB0aGUgQ0VBIHZlbmRvciBzcGVjaWZpYyBibG9jawogICogQGxlbjogbGVuZ3Ro IG9mIHRoZSBDRUEgYmxvY2sgcGF5bG9hZCwgaWUuIG9uZSBjYW4gYWNjZXNzIHVwIHRvIGRiW2xl bl0KICAqCi0gKiBQYXJzZXMgdGhlIEhETUkgVlNEQiBsb29raW5nIGZvciBtb2RlcyB0byBhZGQg dG8gQGNvbm5lY3Rvci4KKyAqIFBhcnNlcyB0aGUgSERNSSBWU0RCIGxvb2tpbmcgZm9yIG1vZGVz IHRvIGFkZCB0byBAY29ubmVjdG9yLiBUaGlzIGZ1bmN0aW9uCisgKiBhbHNvIGFkZHMgdGhlIHN0 ZXJlbyAzZCBtb2RlcyB3aGVuIGFwcGxpY2FibGUuCiAgKi8KIHN0YXRpYyBpbnQKIGRvX2hkbWlf dnNkYl9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBjb25zdCB1OCAqZGIs IHU4IGxlbikKQEAgLTI1ODUsMTAgKzI2NjcsMTUgQEAgZG9faGRtaV92c2RiX21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuKQogCiAJLyog dGhlIGRlY2xhcmVkIGxlbmd0aCBpcyBub3QgbG9uZyBlbm91Z2ggZm9yIHRoZSAyIGZpcnN0IGJ5 dGVzCiAJICogb2YgYWRkaXRpb25hbCB2aWRlbyBmb3JtYXQgY2FwYWJpbGl0aWVzICovCi0Jb2Zm c2V0ICs9IDI7Ci0JaWYgKGxlbiA8ICg4ICsgb2Zmc2V0KSkKKwlpZiAobGVuIDwgKDggKyBvZmZz ZXQgKyAyKSkKIAkJZ290byBvdXQ7CiAKKwkvKiAzRF9QcmVzZW50ICovCisJb2Zmc2V0Kys7CisJ aWYgKGRiWzggKyBvZmZzZXRdICYgKDEgPDwgNykpCisJCW1vZGVzICs9IGFkZF9oZG1pX21hbmRh dG9yeV9zdGVyZW9fbW9kZXMoY29ubmVjdG9yKTsKKworCW9mZnNldCsrOwogCXZpY19sZW4gPSBk Yls4ICsgb2Zmc2V0XSA+PiA1OwogCiAJZm9yIChpID0gMDsgaSA8IHZpY19sZW4gJiYgbGVuID49 ICg5ICsgb2Zmc2V0ICsgaSk7IGkrKykgewpAQCAtMjY2OCw4ICsyNzU1LDggQEAgc3RhdGljIGlu dAogYWRkX2NlYV9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3Qg ZWRpZCAqZWRpZCkKIHsKIAljb25zdCB1OCAqY2VhID0gZHJtX2ZpbmRfY2VhX2V4dGVuc2lvbihl ZGlkKTsKLQljb25zdCB1OCAqZGI7Ci0JdTggZGJsOworCWNvbnN0IHU4ICpkYiwgKmhkbWkgPSBO VUxMOworCXU4IGRibCwgaGRtaV9sZW47CiAJaW50IG1vZGVzID0gMDsKIAogCWlmIChjZWEgJiYg Y2VhX3JldmlzaW9uKGNlYSkgPj0gMykgewpAQCAtMjY4NCwxMSArMjc3MSwyMCBAQCBhZGRfY2Vh X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHN0cnVjdCBlZGlkICplZGlk KQogCiAJCQlpZiAoY2VhX2RiX3RhZyhkYikgPT0gVklERU9fQkxPQ0spCiAJCQkJbW9kZXMgKz0g ZG9fY2VhX21vZGVzKGNvbm5lY3RvciwgZGIgKyAxLCBkYmwpOwotCQkJZWxzZSBpZiAoY2VhX2Ri X2lzX2hkbWlfdnNkYihkYikpCi0JCQkJbW9kZXMgKz0gZG9faGRtaV92c2RiX21vZGVzKGNvbm5l Y3RvciwgZGIsIGRibCk7CisJCQllbHNlIGlmIChjZWFfZGJfaXNfaGRtaV92c2RiKGRiKSkgewor CQkJCWhkbWkgPSBkYjsKKwkJCQloZG1pX2xlbiA9IGRibDsKKwkJCX0KIAkJfQogCX0KIAorCS8q CisJICogV2UgcGFyc2UgdGhlIEhETUkgVlNEQiBhZnRlciBoYXZpbmcgYWRkZWQgdGhlIGNlYSBt b2RlcyBhcyB3ZSB3aWxsCisJICogYmUgcGF0Y2hpbmcgdGhlaXIgZmxhZ3Mgd2hlbiB0aGUgc2lu ayBzdXBwb3J0cyBzdGVyZW8gM0QuCisJICovCisJaWYgKGhkbWkpCisJCW1vZGVzICs9IGRvX2hk bWlfdnNkYl9tb2Rlcyhjb25uZWN0b3IsIGhkbWksIGhkbWlfbGVuKTsKKwogCXJldHVybiBtb2Rl czsKIH0KIAotLSAKMS44LjMuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK