From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Vlad Subject: [PATCH i-g-t 1/3] lib/igt_kms: Add helpers for injecting 4k HDMI EDID, and HDMI-capable audio. Date: Wed, 23 Mar 2016 19:09:36 +0200 Message-ID: <1458752978-18866-2-git-send-email-marius.c.vlad@intel.com> References: <1458752978-18866-1-git-send-email-marius.c.vlad@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 7CEF96E8CE for ; Wed, 23 Mar 2016 17:08:32 +0000 (UTC) In-Reply-To: <1458752978-18866-1-git-send-email-marius.c.vlad@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWFyaXVzIFZsYWQgPG1hcml1cy5jLnZsYWRAaW50ZWwuY29tPgotLS0K IGxpYi9pZ3Rfa21zLmMgfCAxODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF9rbXMuaCB8ICAgMiArCiAyIGZpbGVzIGNo YW5nZWQsIDE4NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuYyBiL2xp Yi9pZ3Rfa21zLmMKaW5kZXggODIyNTdhNi4uMTJkNTJmNSAxMDA2NDQKLS0tIGEvbGliL2lndF9r bXMuYworKysgYi9saWIvaWd0X2ttcy5jCkBAIC0xMDA1LDYgKzEwMDUsMTg4IEBAIHZvaWQga21z dGVzdF9lZGlkX2FkZF8zZChjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVuZ3Ro LAogfQogCiAvKioKKyAqIGttc3Rlc3RfZWRpZF9hZGRfNGs6CisgKiBAZWRpZDogYW4gZXhpc3Rp bmcgdmFsaWQgZWRpZCBibG9jaworICogQGxlbmd0aDogbGVuZ3RoIG9mIEBlZGlkCisgKiBAbmV3 X2VkaWRfcHRyOiBwb2ludGVyIHRvIHdoZXJlIHRoZSBuZXcgZWRpZCB3aWxsIGJlIHBsYWNlZAor ICogQG5ld19sZW5ndGg6IHBvaW50ZXIgdG8gdGhlIHNpemUgb2YgdGhlIG5ldyBlZGlkCisgKgor ICogTWFrZXMgYSBjb3B5IG9mIGFuIGV4aXN0aW5nIGVkaWQgYmxvY2sgYW5kIGFkZHMgYW4gZXh0 ZW5zaW9uIGluZGljYXRpbmcKKyAqIGEgSERNSSA0SyBtb2RlIGluIHZzZGIuCisgKi8KK3ZvaWQg a21zdGVzdF9lZGlkX2FkZF80ayhjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVu Z3RoLAorCQkJIHVuc2lnbmVkIGNoYXIgKm5ld19lZGlkX3B0cltdLCBzaXplX3QgKm5ld19sZW5n dGgpCit7CisJdW5zaWduZWQgY2hhciAqbmV3X2VkaWQ7CisJaW50IG5fZXh0ZW5zaW9uczsKKwlj aGFyIHN1bSA9IDA7CisJaW50IHBvczsKKwlpbnQgaTsKKwljaGFyIGNlYV9oZWFkZXJfbGVuID0g NCwgdmlkZW9fYmxvY2tfbGVuID0gNiwgdnNkYl9ibG9ja19sZW4gPSAxMjsKKworCWlndF9hc3Nl cnQobmV3X2VkaWRfcHRyICE9IE5VTEwgJiYgbmV3X2xlbmd0aCAhPSBOVUxMKTsKKworCSpuZXdf bGVuZ3RoID0gbGVuZ3RoICsgMTI4OworCisJbmV3X2VkaWQgPSBjYWxsb2MoKm5ld19sZW5ndGgs IHNpemVvZihjaGFyKSk7CisJbWVtY3B5KG5ld19lZGlkLCBlZGlkLCBsZW5ndGgpOworCSpuZXdf ZWRpZF9wdHIgPSBuZXdfZWRpZDsKKworCW5fZXh0ZW5zaW9ucyA9IG5ld19lZGlkWzEyNl07CisJ bl9leHRlbnNpb25zKys7CisJbmV3X2VkaWRbMTI2XSA9IG5fZXh0ZW5zaW9uczsKKworCS8qIHJl Y29tcHV0ZSBjaGVja3N1bSAqLworCWZvciAoaSA9IDA7IGkgPCAxMjc7IGkrKykgeworCQlzdW0g PSBzdW0gKyBuZXdfZWRpZFtpXTsKKwl9CisJbmV3X2VkaWRbMTI3XSA9IDI1NiAtIHN1bTsKKwor CS8qIGFkZCBhIGNlYS04NjEgZXh0ZW5zaW9uIGJsb2NrICovCisJcG9zID0gbGVuZ3RoOworCW5l d19lZGlkW3BvcysrXSA9IDB4MjsKKwluZXdfZWRpZFtwb3MrK10gPSAweDM7CisJbmV3X2VkaWRb cG9zKytdID0gY2VhX2hlYWRlcl9sZW4gKyB2aWRlb19ibG9ja19sZW4gKyB2c2RiX2Jsb2NrX2xl bjsKKwluZXdfZWRpZFtwb3MrK10gPSAweDA7CisKKwkvKiB2aWRlbyBibG9jayAoaWQgfCBsZW5n dGgpICovCisJbmV3X2VkaWRbcG9zKytdID0gMiA8PCA1IHwgKHZpZGVvX2Jsb2NrX2xlbiAtIDEp OworCW5ld19lZGlkW3BvcysrXSA9IDMyIHwgMHg4MDsgLyogMTA4MHAgQCAyNEh6IHwgKG5hdGl2 ZSkqLworCW5ld19lZGlkW3BvcysrXSA9IDU7ICAgICAgICAgLyogMTA4MGkgQCA2MEh6ICovCisJ bmV3X2VkaWRbcG9zKytdID0gMjA7ICAgICAgICAvKiAxMDgwaSBAIDUwSHogKi8KKwluZXdfZWRp ZFtwb3MrK10gPSA0OyAgICAgICAgIC8qIDcyMHAgQCA2MEh6Ki8KKwluZXdfZWRpZFtwb3MrK10g PSAxOTsgICAgICAgIC8qIDcyMHAgQCA1MEh6Ki8KKworCS8qIHZzZGIgYmxvY2sgKCBpZCB8IGxl bmd0aCApICovCisJbmV3X2VkaWRbcG9zKytdID0gMyA8PCA1IHwgKHZzZGJfYmxvY2tfbGVuIC0g MSk7CisJLyogcmVnaXN0cmF0aW9uIGlkICovCisJbmV3X2VkaWRbcG9zKytdID0gMHgzOworCW5l d19lZGlkW3BvcysrXSA9IDB4YzsKKwluZXdfZWRpZFtwb3MrK10gPSAweDA7CisJLyogc291cmNl IHBoeXNpY2FsIGFkZHJlc3MgKi8KKwluZXdfZWRpZFtwb3MrK10gPSAweDEwOworCW5ld19lZGlk W3BvcysrXSA9IDB4MDA7CisJLyogU3VwcG9ydHNfQUkgLi4uIGV0YyAqLworCW5ld19lZGlkW3Bv cysrXSA9IDB4MDA7CisJLyogTWF4IFRNRFMgQ2xvY2sgKi8KKwluZXdfZWRpZFtwb3MrK10gPSAw eDAwOworCS8qIExhdGVuY3kgcHJlc2VudCwgSERNSSBWaWRlbyBQcmVzZW50ICovCisJbmV3X2Vk aWRbcG9zKytdID0gMHgyMDsKKwkvKiBIRE1JIFZpZGVvICovCisJbmV3X2VkaWRbcG9zKytdID0g MHgwMDsgLyogM0QgcHJlc2VudCAqLworCisJLyogSERNSSBNT0RFIExFTiAtLSBob3cgbWFueSBl bnRyaWVzICovCisJbmV3X2VkaWRbcG9zKytdID0gMHgyMDsKKwkvKiAyMTYwcCwgc3BlY2lmaWVk IGFzIHNob3J0IGRlc2NyaXB0b3IgKi8KKwluZXdfZWRpZFtwb3MrK10gPSAweDAxOworCisKKwkv KiBjaGVja3N1bSAqLworCXN1bSA9IDA7CisJZm9yIChpID0gMDsgaSA8IDEyNzsgaSsrKSB7CisJ CXN1bSA9IHN1bSArIG5ld19lZGlkW2xlbmd0aCArIGldOworCX0KKwluZXdfZWRpZFtsZW5ndGgg KyAxMjddID0gMjU2IC0gc3VtOworfQorCisvKioKKyAqIGttc3Rlc3RfZWRpZF9hZGRfYXVkaW86 CisgKiBAZWRpZDogYW4gZXhpc3RpbmcgdmFsaWQgZWRpZCBibG9jaworICogQGxlbmd0aDogbGVu Z3RoIG9mIEBlZGlkCisgKiBAbmV3X2VkaWRfcHRyOiBwb2ludGVyIHRvIHdoZXJlIHRoZSBuZXcg ZWRpZCB3aWxsIGJlIHBsYWNlZAorICogQG5ld19sZW5ndGg6IHBvaW50ZXIgdG8gdGhlIHNpemUg b2YgdGhlIG5ldyBlZGlkCisgKgorICogTWFrZXMgYSBjb3B5IG9mIGFuIGV4aXN0aW5nIGVkaWQg YmxvY2sgYW5kIGFkZHMgYW4gZXh0ZW5zaW9uIGluZGljYXRpbmcKKyAqIGJhc2ljIGF1ZGlvIHN1 cHBvcnQgYW5kIHNwZWFrZXIgZGF0YSBibG9jay4KKyAqCisgKi8KK3ZvaWQga21zdGVzdF9lZGlk X2FkZF9hdWRpbyhjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVuZ3RoLAorCQkJ ICAgIHVuc2lnbmVkIGNoYXIgKm5ld19lZGlkX3B0cltdLCBzaXplX3QgKm5ld19sZW5ndGgpCit7 CisJdW5zaWduZWQgY2hhciAqbmV3X2VkaWQ7CisJaW50IG5fZXh0ZW5zaW9uczsKKwljaGFyIHN1 bSA9IDA7CisJaW50IHBvczsKKwlpbnQgaTsKKwljaGFyIGNlYV9oZWFkZXJfbGVuID0gNCwgdmlk ZW9fYmxvY2tfbGVuID0gNiwgdnNkYl9ibG9ja19sZW4gPSAxMDsKKwljaGFyIGF1ZGlvX2Jsb2Nr X2xlbiA9IDQsIHNwa3JfYmxvY2tfbGVuID0gNDsKKworCWlndF9hc3NlcnQobmV3X2VkaWRfcHRy ICE9IE5VTEwgJiYgbmV3X2xlbmd0aCAhPSBOVUxMKTsKKworCSpuZXdfbGVuZ3RoID0gbGVuZ3Ro ICsgMTI4OworCisJbmV3X2VkaWQgPSBjYWxsb2MoKm5ld19sZW5ndGgsIHNpemVvZihjaGFyKSk7 CisJbWVtY3B5KG5ld19lZGlkLCBlZGlkLCBsZW5ndGgpOworCSpuZXdfZWRpZF9wdHIgPSBuZXdf ZWRpZDsKKworCW5fZXh0ZW5zaW9ucyA9IG5ld19lZGlkWzEyNl07CisJbl9leHRlbnNpb25zKys7 CisJbmV3X2VkaWRbMTI2XSA9IG5fZXh0ZW5zaW9uczsKKworCS8qIHJlY29tcHV0ZSBjaGVja3N1 bSAqLworCWZvciAoaSA9IDA7IGkgPCAxMjc7IGkrKykgeworCQlzdW0gPSBzdW0gKyBuZXdfZWRp ZFtpXTsKKwl9CisJbmV3X2VkaWRbMTI3XSA9IDI1NiAtIHN1bTsKKworCS8qIGFkZCBhIGNlYS04 NjEgZXh0ZW5zaW9uIGJsb2NrICovCisJcG9zID0gbGVuZ3RoOworCW5ld19lZGlkW3BvcysrXSA9 IDB4MjsKKwluZXdfZWRpZFtwb3MrK10gPSAweDM7CisJbmV3X2VkaWRbcG9zKytdID0gY2VhX2hl YWRlcl9sZW4gKyBhdWRpb19ibG9ja19sZW4gKworCQkJICB2aWRlb19ibG9ja19sZW4gKyB2c2Ri X2Jsb2NrX2xlbiArIHNwa3JfYmxvY2tfbGVuOworCW5ld19lZGlkW3BvcysrXSA9ICgxIDw8IDYp OyAvKiBzdXBwb3J0IGJhc2ljIGF1ZGlvICovCisKKwkvKiBhdWRpbyBibG9jaywgc2hvcnQgYXVk aW8gYmxvY2sgZGVzY3JpcHRvcnMgICovCisJbmV3X2VkaWRbcG9zKytdID0gKDEgPDwgNSkgfCAo YXVkaW9fYmxvY2tfbGVuIC0gMSk7CisJbmV3X2VkaWRbcG9zKytdID0gMHgwOTsgLyogQXVkaW8g Rm9ybWF0LCBQQ00gKi8KKwluZXdfZWRpZFtwb3MrK10gPSAweDA3OyAvKiBGcmVxdWVuY3ksIDMy LCA0NC4xLCA0OGtIeiAgKi8KKwluZXdfZWRpZFtwb3MrK10gPSAweDA3OyAvKiBCaXQgUmF0ZSAx NiwgMjAsIDI0IGJpdCAqLworCisJLyogdmlkZW8gYmxvY2sgKGlkIHwgbGVuZ3RoKSAqLworCW5l d19lZGlkW3BvcysrXSA9IDIgPDwgNSB8ICh2aWRlb19ibG9ja19sZW4gLSAxKTsKKwluZXdfZWRp ZFtwb3MrK10gPSAzMiB8IDB4ODA7IC8qIDEwODBwIEAgMjRIeiB8IChuYXRpdmUpKi8KKwluZXdf ZWRpZFtwb3MrK10gPSA1OyAgICAgICAgIC8qIDEwODBpIEAgNjBIeiAqLworCW5ld19lZGlkW3Bv cysrXSA9IDIwOyAgICAgICAgLyogMTA4MGkgQCA1MEh6ICovCisJbmV3X2VkaWRbcG9zKytdID0g NDsgICAgICAgICAvKiA3MjBwIEAgNjBIeiovCisJbmV3X2VkaWRbcG9zKytdID0gMTk7ICAgICAg ICAvKiA3MjBwIEAgNTBIeiovCisKKworCS8qIHZzZGIgYmxvY2sgKCBpZCB8IGxlbmd0aCApIC0t IG5lZWQgdnNkYiBhcyB3ZWxsCisJICogb3RoZXJ3aXNlIHRoZSBrZXJuZWwgd2lsbCBmYWxsYmFj ayB0byBsb3dlciBjbG9jayBtb2RlcyAqLworCW5ld19lZGlkW3BvcysrXSA9IDMgPDwgNSB8ICh2 c2RiX2Jsb2NrX2xlbiAtIDEpOworCS8qIHJlZ2lzdHJhdGlvbiBpZCAqLworCW5ld19lZGlkW3Bv cysrXSA9IDB4MzsKKwluZXdfZWRpZFtwb3MrK10gPSAweGM7CisJbmV3X2VkaWRbcG9zKytdID0g MHgwOworCS8qIHNvdXJjZSBwaHlzaWNhbCBhZGRyZXNzICovCisJbmV3X2VkaWRbcG9zKytdID0g MHgxMDsKKwluZXdfZWRpZFtwb3MrK10gPSAweDAwOworCS8qIFN1cHBvcnRzX0FJIC4uLiBldGMg Ki8KKwluZXdfZWRpZFtwb3MrK10gPSAweDAwOworCS8qIE1heCBUTURTIENsb2NrICovCisJbmV3 X2VkaWRbcG9zKytdID0gMHgwMDsKKwkvKiBMYXRlbmN5IHByZXNlbnQsIEhETUkgVmlkZW8gUHJl c2VudCAqLworCW5ld19lZGlkW3BvcysrXSA9IDB4MjA7CisJLyogSERNSSBWaWRlbyAqLworCW5l d19lZGlkW3BvcysrXSA9IDB4MDA7IC8qIDNEIHByZXNlbnQgKi8KKworCS8qIHNwZWFrZXIgZGF0 YSBibG9jayAqLworCW5ld19lZGlkW3BvcysrXSA9ICg0IDw8IDUpIHwgKHNwa3JfYmxvY2tfbGVu IC0gMSk7CisJbmV3X2VkaWRbcG9zKytdID0gKDEgPDwgNSk7CisJbmV3X2VkaWRbcG9zKytdID0g MHgwMDsKKwluZXdfZWRpZFtwb3MrK10gPSAweDAwOworCisJLyogY2hlY2tzdW0gKi8KKwlzdW0g PSAwOworCWZvciAoaSA9IDA7IGkgPCAxMjc7IGkrKykgeworCQlzdW0gPSBzdW0gKyBuZXdfZWRp ZFtsZW5ndGggKyBpXTsKKwl9CisJbmV3X2VkaWRbbGVuZ3RoICsgMTI3XSA9IDI1NiAtIHN1bTsK K30KKworCisvKioKICAqIGttc3Rlc3RfdW5zZXRfYWxsX2NydGNzOgogICogQGRybV9mZDogdGhl IERSTSBmZAogICogQHJlc291cmNlczogbGliZHJtIHJlc291cmNlcyBwb2ludGVyCmRpZmYgLS1n aXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAppbmRleCA4YWUxMTkyLi4xMzdjMjBh IDEwMDY0NAotLS0gYS9saWIvaWd0X2ttcy5oCisrKyBiL2xpYi9pZ3Rfa21zLmgKQEAgLTE1Miw2 ICsxNTIsOCBAQCBlbnVtIGttc3Rlc3RfZm9yY2VfY29ubmVjdG9yX3N0YXRlIHsKIGJvb2wga21z dGVzdF9mb3JjZV9jb25uZWN0b3IoaW50IGZkLCBkcm1Nb2RlQ29ubmVjdG9yICpjb25uZWN0b3Is CiAJCQkgICAgIGVudW0ga21zdGVzdF9mb3JjZV9jb25uZWN0b3Jfc3RhdGUgc3RhdGUpOwogdm9p ZCBrbXN0ZXN0X2VkaWRfYWRkXzNkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQsIHNpemVfdCBs ZW5ndGgsIHVuc2lnbmVkIGNoYXIgKm5ld19lZGlkX3B0cltdLCBzaXplX3QgKm5ld19sZW5ndGgp Owordm9pZCBrbXN0ZXN0X2VkaWRfYWRkXzRrKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQsIHNp emVfdCBsZW5ndGgsIHVuc2lnbmVkIGNoYXIgKm5ld19lZGlkX3B0cltdLCBzaXplX3QgKm5ld19s ZW5ndGgpOwordm9pZCBrbXN0ZXN0X2VkaWRfYWRkX2F1ZGlvKGNvbnN0IHVuc2lnbmVkIGNoYXIg KmVkaWQsIHNpemVfdCBsZW5ndGgsIHVuc2lnbmVkIGNoYXIgKm5ld19lZGlkX3B0cltdLCBzaXpl X3QgKm5ld19sZW5ndGgpOwogdm9pZCBrbXN0ZXN0X2ZvcmNlX2VkaWQoaW50IGRybV9mZCwgZHJt TW9kZUNvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwg c2l6ZV90IGxlbmd0aCk7CiAKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK