From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Vlad Subject: [PATCH i-g-t 1/3] lib/igt_kms: Add support for 4K and audio HDMI EDID injection. Date: Mon, 8 Feb 2016 18:26:54 +0200 Message-ID: <1454948816-1655-2-git-send-email-marius.c.vlad@intel.com> References: <1454948816-1655-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 300036E410 for ; Mon, 8 Feb 2016 08:25:31 -0800 (PST) In-Reply-To: <1454948816-1655-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 IGxpYi9pZ3Rfa21zLmMgfCAxODEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF9rbXMuaCB8ICAgMiArCiAyIGZpbGVzIGNo YW5nZWQsIDE4MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuYyBiL2xp Yi9pZ3Rfa21zLmMKaW5kZXggOTBjOGRhNy4uZWQ0MGM0OCAxMDA2NDQKLS0tIGEvbGliL2lndF9r bXMuYworKysgYi9saWIvaWd0X2ttcy5jCkBAIC04NTgsNiArODU4LDE4NyBAQCB2b2lkIGttc3Rl c3RfZWRpZF9hZGRfM2QoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90IGxlbmd0aCwK IH0KIAogLyoqCisgKiBrbXN0ZXN0X2VkaWRfYWRkXzRrOgorICogQGVkaWQ6IGFuIGV4aXN0aW5n IHZhbGlkIGVkaWQgYmxvY2sKKyAqIEBsZW5ndGg6IGxlbmd0aCBvZiBAZWRpZAorICogQG5ld19l ZGlkX3B0cjogcG9pbnRlciB0byB3aGVyZSB0aGUgbmV3IGVkaWQgd2lsbCBiZSBwbGFjZWQKKyAq IEBuZXdfbGVuZ3RoOiBwb2ludGVyIHRvIHRoZSBzaXplIG9mIHRoZSBuZXcgZWRpZAorICoKKyAq IE1ha2VzIGEgY29weSBvZiBhbiBleGlzdGluZyBlZGlkIGJsb2NrIGFuZCBhZGRzIGFuIGV4dGVu c2lvbiBpbmRpY2F0aW5nCisgKiBhIEhETUkgNEsgbW9kZSBpbiB2c2RiLgorICovCit2b2lkIGtt c3Rlc3RfZWRpZF9hZGRfNGsoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90IGxlbmd0 aCwKKwkJCSB1bnNpZ25lZCBjaGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6ZV90ICpuZXdfbGVuZ3Ro KQoreworCXVuc2lnbmVkIGNoYXIgKm5ld19lZGlkOworCWludCBuX2V4dGVuc2lvbnM7CisJY2hh ciBzdW0gPSAwOworCWludCBwb3M7CisJaW50IGk7CisJY2hhciBjZWFfaGVhZGVyX2xlbiA9IDQs IHZpZGVvX2Jsb2NrX2xlbiA9IDYsIHZzZGJfYmxvY2tfbGVuID0gMTI7CisKKwlpZ3RfYXNzZXJ0 KG5ld19lZGlkX3B0ciAhPSBOVUxMICYmIG5ld19sZW5ndGggIT0gTlVMTCk7CisKKwkqbmV3X2xl bmd0aCA9IGxlbmd0aCArIDEyODsKKworCW5ld19lZGlkID0gY2FsbG9jKCpuZXdfbGVuZ3RoLCBz aXplb2YoY2hhcikpOworCW1lbWNweShuZXdfZWRpZCwgZWRpZCwgbGVuZ3RoKTsKKwkqbmV3X2Vk aWRfcHRyID0gbmV3X2VkaWQ7CisKKwluX2V4dGVuc2lvbnMgPSBuZXdfZWRpZFsxMjZdOworCW5f ZXh0ZW5zaW9ucysrOworCW5ld19lZGlkWzEyNl0gPSBuX2V4dGVuc2lvbnM7CisKKwkvKiByZWNv bXB1dGUgY2hlY2tzdW0gKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTI3OyBpKyspIHsKKwkJc3VtID0g c3VtICsgbmV3X2VkaWRbaV07CisJfQorCW5ld19lZGlkWzEyN10gPSAyNTYgLSBzdW07CisKKwkv KiBhZGQgYSBjZWEtODYxIGV4dGVuc2lvbiBibG9jayAqLworCXBvcyA9IGxlbmd0aDsKKwluZXdf ZWRpZFtwb3MrK10gPSAweDI7CisJbmV3X2VkaWRbcG9zKytdID0gMHgzOworCW5ld19lZGlkW3Bv cysrXSA9IGNlYV9oZWFkZXJfbGVuICsgdmlkZW9fYmxvY2tfbGVuICsgdnNkYl9ibG9ja19sZW47 CisJbmV3X2VkaWRbcG9zKytdID0gMHgwOworCisJLyogdmlkZW8gYmxvY2sgKGlkIHwgbGVuZ3Ro KSAqLworCW5ld19lZGlkW3BvcysrXSA9IDIgPDwgNSB8ICh2aWRlb19ibG9ja19sZW4gLSAxKTsK KwluZXdfZWRpZFtwb3MrK10gPSAzMiB8IDB4ODA7IC8qIDEwODBwIEAgMjRIeiB8IChuYXRpdmUp Ki8KKwluZXdfZWRpZFtwb3MrK10gPSA1OyAgICAgICAgIC8qIDEwODBpIEAgNjBIeiAqLworCW5l d19lZGlkW3BvcysrXSA9IDIwOyAgICAgICAgLyogMTA4MGkgQCA1MEh6ICovCisJbmV3X2VkaWRb cG9zKytdID0gNDsgICAgICAgICAvKiA3MjBwIEAgNjBIeiovCisJbmV3X2VkaWRbcG9zKytdID0g MTk7ICAgICAgICAvKiA3MjBwIEAgNTBIeiovCisKKwkvKiB2c2RiIGJsb2NrICggaWQgfCBsZW5n dGggKSAqLworCW5ld19lZGlkW3BvcysrXSA9IDMgPDwgNSB8ICh2c2RiX2Jsb2NrX2xlbiAtIDEp OworCS8qIHJlZ2lzdHJhdGlvbiBpZCAqLworCW5ld19lZGlkW3BvcysrXSA9IDB4MzsKKwluZXdf ZWRpZFtwb3MrK10gPSAweGM7CisJbmV3X2VkaWRbcG9zKytdID0gMHgwOworCS8qIHNvdXJjZSBw aHlzaWNhbCBhZGRyZXNzICovCisJbmV3X2VkaWRbcG9zKytdID0gMHgxMDsKKwluZXdfZWRpZFtw b3MrK10gPSAweDAwOworCS8qIFN1cHBvcnRzX0FJIC4uLiBldGMgKi8KKwluZXdfZWRpZFtwb3Mr K10gPSAweDAwOworCS8qIE1heCBUTURTIENsb2NrICovCisJbmV3X2VkaWRbcG9zKytdID0gMHgw MDsKKwkvKiBMYXRlbmN5IHByZXNlbnQsIEhETUkgVmlkZW8gUHJlc2VudCAqLworCW5ld19lZGlk W3BvcysrXSA9IDB4MjA7CisJLyogSERNSSBWaWRlbyAqLworCW5ld19lZGlkW3BvcysrXSA9IDB4 MDA7IC8qIDNEIHByZXNlbnQgKi8KKworCS8qIEhETUkgTU9ERSBMRU4gLS0gaG93IG1hbnkgZW50 cmllcyAqLworCW5ld19lZGlkW3BvcysrXSA9IDB4MjA7CisJLyogMjE2MHAsIHNwZWNpZmllZCBh cyBzaG9ydCBkZXNjcmlwdG9yICovCisJbmV3X2VkaWRbcG9zKytdID0gMHgwMTsKKworCisJLyog Y2hlY2tzdW0gKi8KKwlzdW0gPSAwOworCWZvciAoaSA9IDA7IGkgPCAxMjc7IGkrKykgeworCQlz dW0gPSBzdW0gKyBuZXdfZWRpZFtsZW5ndGggKyBpXTsKKwl9CisJbmV3X2VkaWRbbGVuZ3RoICsg MTI3XSA9IDI1NiAtIHN1bTsKK30KKworLyoqCisgKiBrbXN0ZXN0X2VkaWRfYWRkX2F1ZGlvOgor ICogQGVkaWQ6IGFuIGV4aXN0aW5nIHZhbGlkIGVkaWQgYmxvY2sKKyAqIEBsZW5ndGg6IGxlbmd0 aCBvZiBAZWRpZAorICogQG5ld19lZGlkX3B0cjogcG9pbnRlciB0byB3aGVyZSB0aGUgbmV3IGVk aWQgd2lsbCBiZSBwbGFjZWQKKyAqIEBuZXdfbGVuZ3RoOiBwb2ludGVyIHRvIHRoZSBzaXplIG9m IHRoZSBuZXcgZWRpZAorICoKKyAqIE1ha2VzIGEgY29weSBvZiBhbiBleGlzdGluZyBlZGlkIGJs b2NrIGFuZCBhZGRzIGFuIGV4dGVuc2lvbiBpbmRpY2F0aW5nCisgKiBiYXNpYyBhdWRpbyBzdXBw b3J0IGFuZCBzcGVha2VyIGRhdGEgYmxvY2suCisgKgorICovCit2b2lkIGttc3Rlc3RfZWRpZF9h ZGRfYXVkaW8oY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90IGxlbmd0aCwKKwkJCSAg ICB1bnNpZ25lZCBjaGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6ZV90ICpuZXdfbGVuZ3RoKQorewor CXVuc2lnbmVkIGNoYXIgKm5ld19lZGlkOworCWludCBuX2V4dGVuc2lvbnM7CisJY2hhciBzdW0g PSAwOworCWludCBwb3M7CisJaW50IGk7CisJY2hhciBjZWFfaGVhZGVyX2xlbiA9IDQsIHZpZGVv X2Jsb2NrX2xlbiA9IDYsIHZzZGJfYmxvY2tfbGVuID0gMTA7CisJY2hhciBhdWRpb19ibG9ja19s ZW4gPSA0LCBzcGtyX2Jsb2NrX2xlbiA9IDQ7CisKKwlpZ3RfYXNzZXJ0KG5ld19lZGlkX3B0ciAh PSBOVUxMICYmIG5ld19sZW5ndGggIT0gTlVMTCk7CisKKwkqbmV3X2xlbmd0aCA9IGxlbmd0aCAr IDEyODsKKworCW5ld19lZGlkID0gY2FsbG9jKCpuZXdfbGVuZ3RoLCBzaXplb2YoY2hhcikpOwor CW1lbWNweShuZXdfZWRpZCwgZWRpZCwgbGVuZ3RoKTsKKwkqbmV3X2VkaWRfcHRyID0gbmV3X2Vk aWQ7CisKKwluX2V4dGVuc2lvbnMgPSBuZXdfZWRpZFsxMjZdOworCW5fZXh0ZW5zaW9ucysrOwor CW5ld19lZGlkWzEyNl0gPSBuX2V4dGVuc2lvbnM7CisKKwkvKiByZWNvbXB1dGUgY2hlY2tzdW0g Ki8KKwlmb3IgKGkgPSAwOyBpIDwgMTI3OyBpKyspIHsKKwkJc3VtID0gc3VtICsgbmV3X2VkaWRb aV07CisJfQorCW5ld19lZGlkWzEyN10gPSAyNTYgLSBzdW07CisKKwkvKiBhZGQgYSBjZWEtODYx IGV4dGVuc2lvbiBibG9jayAqLworCXBvcyA9IGxlbmd0aDsKKwluZXdfZWRpZFtwb3MrK10gPSAw eDI7CisJbmV3X2VkaWRbcG9zKytdID0gMHgzOworCW5ld19lZGlkW3BvcysrXSA9IGNlYV9oZWFk ZXJfbGVuICsgYXVkaW9fYmxvY2tfbGVuICsKKwkJCSAgdmlkZW9fYmxvY2tfbGVuICsgdnNkYl9i bG9ja19sZW4gKyBzcGtyX2Jsb2NrX2xlbjsKKwluZXdfZWRpZFtwb3MrK10gPSAoMSA8PCA2KTsg Lyogc3VwcG9ydCBiYXNpYyBhdWRpbyAqLworCisJLyogYXVkaW8gYmxvY2ssIHNob3J0IGF1ZGlv IGJsb2NrIGRlc2NyaXB0b3JzICAqLworCW5ld19lZGlkW3BvcysrXSA9ICgxIDw8IDUpIHwgKGF1 ZGlvX2Jsb2NrX2xlbiAtIDEpOworCW5ld19lZGlkW3BvcysrXSA9IDB4MDk7IC8qIEF1ZGlvIEZv cm1hdCwgUENNICovCisJbmV3X2VkaWRbcG9zKytdID0gMHgwNzsgLyogRnJlcXVlbmN5LCAzMiwg NDQuMSwgNDhrSHogICovCisJbmV3X2VkaWRbcG9zKytdID0gMHgwNzsgLyogQml0IFJhdGUgMTYs IDIwLCAyNCBiaXQgKi8KKworCS8qIHZpZGVvIGJsb2NrIChpZCB8IGxlbmd0aCkgKi8KKwluZXdf ZWRpZFtwb3MrK10gPSAyIDw8IDUgfCAodmlkZW9fYmxvY2tfbGVuIC0gMSk7CisJbmV3X2VkaWRb cG9zKytdID0gMzIgfCAweDgwOyAvKiAxMDgwcCBAIDI0SHogfCAobmF0aXZlKSovCisJbmV3X2Vk aWRbcG9zKytdID0gNTsgICAgICAgICAvKiAxMDgwaSBAIDYwSHogKi8KKwluZXdfZWRpZFtwb3Mr K10gPSAyMDsgICAgICAgIC8qIDEwODBpIEAgNTBIeiAqLworCW5ld19lZGlkW3BvcysrXSA9IDQ7 ICAgICAgICAgLyogNzIwcCBAIDYwSHoqLworCW5ld19lZGlkW3BvcysrXSA9IDE5OyAgICAgICAg LyogNzIwcCBAIDUwSHoqLworCisKKwkvKiB2c2RiIGJsb2NrICggaWQgfCBsZW5ndGggKSAtLSBu ZWVkIHZzZGIgYXMgd2VsbAorCSAqIG90aGVyd2lzZSB0aGUga2VybmVsIHdpbGwgZmFsbGJhY2sg dG8gbG93ZXIgY2xvY2sgbW9kZXMgKi8KKwluZXdfZWRpZFtwb3MrK10gPSAzIDw8IDUgfCAodnNk Yl9ibG9ja19sZW4gLSAxKTsKKwkvKiByZWdpc3RyYXRpb24gaWQgKi8KKwluZXdfZWRpZFtwb3Mr K10gPSAweDM7CisJbmV3X2VkaWRbcG9zKytdID0gMHhjOworCW5ld19lZGlkW3BvcysrXSA9IDB4 MDsKKwkvKiBzb3VyY2UgcGh5c2ljYWwgYWRkcmVzcyAqLworCW5ld19lZGlkW3BvcysrXSA9IDB4 MTA7CisJbmV3X2VkaWRbcG9zKytdID0gMHgwMDsKKwkvKiBTdXBwb3J0c19BSSAuLi4gZXRjICov CisJbmV3X2VkaWRbcG9zKytdID0gMHgwMDsKKwkvKiBNYXggVE1EUyBDbG9jayAqLworCW5ld19l ZGlkW3BvcysrXSA9IDB4MDA7CisJLyogTGF0ZW5jeSBwcmVzZW50LCBIRE1JIFZpZGVvIFByZXNl bnQgKi8KKwluZXdfZWRpZFtwb3MrK10gPSAweDIwOworCS8qIEhETUkgVmlkZW8gKi8KKwluZXdf ZWRpZFtwb3MrK10gPSAweDAwOyAvKiAzRCBwcmVzZW50ICovCisKKwkvKiBzcGVha2VyIGRhdGEg YmxvY2sgKi8KKwluZXdfZWRpZFtwb3MrK10gPSAoNCA8PCA1KSB8IChzcGtyX2Jsb2NrX2xlbiAt IDEpOworCW5ld19lZGlkW3BvcysrXSA9ICgxIDw8IDUpOworCW5ld19lZGlkW3BvcysrXSA9IDB4 MDA7CisJbmV3X2VkaWRbcG9zKytdID0gMHgwMDsKKworCS8qIGNoZWNrc3VtICovCisJc3VtID0g MDsKKwlmb3IgKGkgPSAwOyBpIDwgMTI3OyBpKyspIHsKKwkJc3VtID0gc3VtICsgbmV3X2VkaWRb bGVuZ3RoICsgaV07CisJfQorCW5ld19lZGlkW2xlbmd0aCArIDEyN10gPSAyNTYgLSBzdW07Cit9 CisKKy8qKgogICoga21zdGVzdF91bnNldF9hbGxfY3J0Y3M6CiAgKiBAZHJtX2ZkOiB0aGUgRFJN IGZkCiAgKiBAcmVzb3VyY2VzOiBsaWJkcm0gcmVzb3VyY2VzIHBvaW50ZXIKZGlmZiAtLWdpdCBh L2xpYi9pZ3Rfa21zLmggYi9saWIvaWd0X2ttcy5oCmluZGV4IDNmN2FkZDUuLjFmNzlmNTUgMTAw NjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmgKKysrIGIvbGliL2lndF9rbXMuaApAQCAtMTMyLDYgKzEz Miw4IEBAIGVudW0ga21zdGVzdF9mb3JjZV9jb25uZWN0b3Jfc3RhdGUgewogYm9vbCBrbXN0ZXN0 X2ZvcmNlX2Nvbm5lY3RvcihpbnQgZmQsIGRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJ CSAgICAgZW51bSBrbXN0ZXN0X2ZvcmNlX2Nvbm5lY3Rvcl9zdGF0ZSBzdGF0ZSk7CiB2b2lkIGtt c3Rlc3RfZWRpZF9hZGRfM2QoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90IGxlbmd0 aCwgdW5zaWduZWQgY2hhciAqbmV3X2VkaWRfcHRyW10sIHNpemVfdCAqbmV3X2xlbmd0aCk7Cit2 b2lkIGttc3Rlc3RfZWRpZF9hZGRfNGsoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90 IGxlbmd0aCwgdW5zaWduZWQgY2hhciAqbmV3X2VkaWRfcHRyW10sIHNpemVfdCAqbmV3X2xlbmd0 aCk7Cit2b2lkIGttc3Rlc3RfZWRpZF9hZGRfYXVkaW8oY29uc3QgdW5zaWduZWQgY2hhciAqZWRp ZCwgc2l6ZV90IGxlbmd0aCwgdW5zaWduZWQgY2hhciAqbmV3X2VkaWRfcHRyW10sIHNpemVfdCAq bmV3X2xlbmd0aCk7CiB2b2lkIGttc3Rlc3RfZm9yY2VfZWRpZChpbnQgZHJtX2ZkLCBkcm1Nb2Rl Q29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQljb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXpl X3QgbGVuZ3RoKTsKIAotLSAKMi43LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=