From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id E24A3892C2 for ; Fri, 26 Apr 2019 16:21:13 +0000 (UTC) From: Simon Ser Date: Fri, 26 Apr 2019 19:21:04 +0300 Message-Id: <20190426162110.1768-2-simon.ser@intel.com> In-Reply-To: <20190426162110.1768-1-simon.ser@intel.com> References: <20190426162110.1768-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/7] lib/igt_edid: add support for Short Audio Descriptors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Martin Peres List-ID: U2hvcnQgQXVkaW8gRGVzY3JpcHRvcnMgKFNBRHMpIGNhbiBiZSB3cmFwcGVkIGluIGFuIEVESUQg ZXh0ZW5zaW9uIHRvIGFkdmVydGlzZQphdWRpbyBzdXBwb3J0LgoKVGhlIEVESUQgc3RydWN0dXJl IGlzIGFzIGZvbGxvd3M6Ci0gVGhlIDEyOC1ieXRlIEVESUQgYmxvY2sgY29udGFpbnMgYSBmaWVs ZCB3aXRoIHRoZSBudW1iZXIgb2YgMTI4LWJ5dGUKICBleHRlbnNpb24gYmxvY2tzIHRoYXQgZm9s bG93LgotIEVhY2ggZXh0ZW5zaW9uIGJsb2NrIGhhcyBhIHRhZyB3aGljaCBzcGVjaWZpZXMgaXRz IHR5cGUuIFRoZSB0YWcgd2UncmUKICBpbnRlcmVzdGVkIGluIGlzIENFQS04NjEuCi0gVGhlIENF QSBibG9jayBoYXMgYSBmZXcgZmxhZ3MsIGluY2x1ZGluZyBvbmUgdGhhdCBpbmRpY2F0ZXMgd2hl dGhlciBiYXNpYwogIGF1ZGlvIGlzIHN1cHBvcnRlZC4gVGhlIENFQSBibG9jayBjb250YWlucyBz ZXZlcmFsIHN1Yi1ibG9ja3Mgb2YgdmFyaWFibGUKICBzaXplLiBUaGVyZSBhcmUgdHdvIHR5cGVz IG9mIENFQSBzdWItYmxvY2tzOgogIC0gRGV0YWlsZWQgVGltaW5nIERlc2NyaXB0b3JzIChEVERz KTogYWRkaXRpb25hbCB2aWRlbyB0aW1pbmdzCiAgLSBEYXRhIEJsb2NrIENvbGxlY3Rpb246IHRo ZXNlIGNhbiBkZXRhaWwgdmlkZW8sIGF1ZGlvLCBzcGVha2VyIHBsYWNlbWVudCBhbmQKICAgIG90 aGVyIHBpZWNlcyBvZiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGlzcGxheS4KICBXZSdyZSBpbnRl cmVzdGVkIGluIGF1ZGlvIGJsb2Nrcy4KLSBBdWRpbyBibG9ja3MgY29udGFpbiBvbmUgb3IgbW9y ZSBTaG9ydCBBdWRpbyBEZXNjcmlwdG9ycyAoU0FEcykuIEEgU0FEIGlzIGEKICAzLWJ5dGUgcmVj b3JkIGRlc2NyaWJpbmcgYSBzdXBwb3J0ZWQgZm9ybWF0LgotIFNBRHMgY2FuIGRlc2NyaWJlIHN1 cHBvcnQgZm9yIHRoZSBQQ00gZm9ybWF0LCBpbmNsdWRpbmcgc2FtcGxpbmcgcmF0ZSwKICBzYW1w bGUgc2l6ZSBhbmQgY2hhbm5lbHMuCgpUaGUgaWd0X2VkaWQgbGlicmFyeSBpbnRlbnRpb25hbGx5 IGV4cG9zZXMgYWxsIG9mIHRoaXMgY29tcGxleGl0eSBiZWNhdXNlIGl0CndvdWxkIGJlIG5pY2Ug dG8gZ2VuZXJhdGUgYWxsIGtpbmQgb2YgdmFsaWQgRURJRHMgYW5kIHRlc3QgdGhlIGtlcm5lbCBo YW5kbGVzCnRoZW0gY29ycmVjdGx5IChlLmcuIG11bHRpcGxlIFNBRHMgaW4gZGlmZmVyZW50IENF QSBibG9ja3MsIG9yIGFueSBFRElEIHdlIGZpbmQKaW4gdGhlIHdpbGQgcmVhbGx5KS4KClNpZ25l ZC1vZmYtYnk6IFNpbW9uIFNlciA8c2ltb24uc2VyQGludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2Vk aWQuYyB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogbGli L2lndF9lZGlkLmggfCA4NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCAxNDUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9lZGlkLmMgYi9saWIvaWd0X2VkaWQuYwppbmRl eCA5ZDYwNGIxMy4uZDAxZGVmYjAgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZWRpZC5jCisrKyBiL2xp Yi9pZ3RfZWRpZC5jCkBAIC0yNTIsMTkgKzI1Miw3NCBAQCB2b2lkIGVkaWRfaW5pdF93aXRoX21v ZGUoc3RydWN0IGVkaWQgKmVkaWQsIGRybU1vZGVNb2RlSW5mbyAqbW9kZSkKIAkJCQkgICBFRElE X0RFVEFJTF9NT05JVE9SX05BTUUsICJJR1QiKTsKIH0KIAorc3RhdGljIHVpbnQ4X3QgY29tcHV0 ZV9jaGVja3N1bShjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplKQoreworCXNpemVfdCBp OworCXVpbnQ4X3Qgc3VtID0gMDsKKworCWFzc2VydChzaXplID4gMCk7CisJZm9yIChpID0gMDsg aSA8IHNpemUgLSAxOyBpKyspIHsKKwkJc3VtICs9IGJ1ZltpXTsKKwl9CisKKwlyZXR1cm4gMjU2 IC0gc3VtOworfQorCiAvKioKICAqIGVkaWRfdXBkYXRlX2NoZWNrc3VtOiBjb21wdXRlIGFuZCB1 cGRhdGUgdGhlIEVESUQgY2hlY2tzdW0KICAqLwogdm9pZCBlZGlkX3VwZGF0ZV9jaGVja3N1bShz dHJ1Y3QgZWRpZCAqZWRpZCkKIHsKLQlzaXplX3QgaTsKLQljb25zdCB1aW50OF90ICpidWYgPSAo Y29uc3QgdWludDhfdCAqKSBlZGlkOwotCXVpbnQ4X3Qgc3VtID0gMDsKKwllZGlkLT5jaGVja3N1 bSA9IGNvbXB1dGVfY2hlY2tzdW0oKHVpbnQ4X3QgKikgZWRpZCwKKwkJCQkJICBzaXplb2Yoc3Ry dWN0IGVkaWQpKTsKK30KIAotCS8qIGNhbGN1bGF0ZSBjaGVja3N1bSAqLwotCWZvciAoaSA9IDA7 IGkgPCBzaXplb2Yoc3RydWN0IGVkaWQpIC0gMTsgaSsrKSB7Ci0JCXN1bSA9IHN1bSArIGJ1Zltp XTsKLQl9CisvKioKKyAqIGNlYV9zYWRfaW5pdF9wY206CisgKiBAY2hhbm5lbHM6IHRoZSBudW1i ZXIgb2Ygc3VwcG9ydGVkIGNoYW5uZWxzIChtYXguIDgpCisgKiBAc2FtcGxpbmdfcmF0ZXM6IGJp dGZpZWxkIG9mIGVudW0gY2VhX3NhZF9zYW1wbGluZ19yYXRlCisgKiBAc2FtcGxlX3NpemVzOiBi aXRmaWVsZCBvZiBlbnVtIGNlYV9zYWRfcGNtX3NhbXBsZV9zaXplCisgKgorICogSW5pdGlhbGl6 ZSBhIFNob3J0IEF1ZGlvIERlc2NyaXB0b3IgdG8gYWR2ZXJ0aXNlIFBDTSBzdXBwb3J0LgorICov Cit2b2lkIGNlYV9zYWRfaW5pdF9wY20oc3RydWN0IGNlYV9zYWQgKnNhZCwgaW50IGNoYW5uZWxz LAorCQkgICAgICB1aW50OF90IHNhbXBsaW5nX3JhdGVzLCB1aW50OF90IHNhbXBsZV9zaXplcykK K3sKKwlhc3NlcnQoY2hhbm5lbHMgPD0gOCk7CisJc2FkLT5mb3JtYXRfY2hhbm5lbHMgPSBDRUFf U0FEX0ZPUk1BVF9QQ00gPDwgMyB8IChjaGFubmVscyAtIDEpOworCXNhZC0+c2FtcGxpbmdfcmF0 ZXMgPSBzYW1wbGluZ19yYXRlczsKKwlzYWQtPmJpdHJhdGUgPSBzYW1wbGVfc2l6ZXM7Cit9CisK Ky8qKgorICogZWRpZF9leHRfc2V0X2NlYV9zYWQ6IHNldCBhbiBleHRlbnNpb24gYmxvY2sgdG8g YmUgQ0VBIFNBRAorICovCit2b2lkIGVkaWRfZXh0X3NldF9jZWFfc2FkKHN0cnVjdCBlZGlkX2V4 dCAqZXh0LCBjb25zdCBzdHJ1Y3QgY2VhX3NhZCAqc2FkcywKKwkJCSAgc2l6ZV90IHNhZHNfbGVu KQoreworCXN0cnVjdCBlZGlkX2NlYSAqY2VhID0gJmV4dC0+ZGF0YS5jZWE7CisJc3RydWN0IGVk aWRfY2VhX2RhdGFfYmxvY2sgKmRhdGFfYmxvY2s7CisJc2l6ZV90IHNhZHNfc2l6ZSwgZGF0YV9i bG9ja19zaXplOwogCi0JZWRpZC0+Y2hlY2tzdW0gPSAyNTYgLSBzdW07CisJbWVtc2V0KGV4dCwg MCwgc2l6ZW9mKHN0cnVjdCBlZGlkX2V4dCkpOworCisJc2Fkc19zaXplID0gc2l6ZW9mKHN0cnVj dCBjZWFfc2FkKSAqIHNhZHNfbGVuOworCWRhdGFfYmxvY2tfc2l6ZSA9IHNpemVvZihzdHJ1Y3Qg ZWRpZF9jZWFfZGF0YV9ibG9jaykgKyBzYWRzX3NpemU7CisKKwlleHQtPnRhZyA9IEVESURfRVhU X0NFQTsKKworCWNlYS0+cmV2aXNpb24gPSAzOworCWNlYS0+ZHRkX3N0YXJ0ID0gNCArIGRhdGFf YmxvY2tfc2l6ZTsKKwljZWEtPm1pc2MgPSAxIDw8IDY7IC8qIGJhc2ljIGF1ZGlvLCBubyBEVEQg Ki8KKworCWFzc2VydChzYWRzX3NpemUgPD0gMHhGRik7CisJZGF0YV9ibG9jayA9IChzdHJ1Y3Qg ZWRpZF9jZWFfZGF0YV9ibG9jayAqKSBjZWEtPmRhdGE7CisJZGF0YV9ibG9jay0+dHlwZV9sZW4g PSBFRElEX0NFQV9EQVRBX0FVRElPIDw8IDUgfCBzYWRzX3NpemU7CisJbWVtY3B5KGRhdGFfYmxv Y2stPmRhdGEuc2Fkcywgc2Fkcywgc2Fkc19zaXplKTsKK30KKwordm9pZCBlZGlkX2V4dF91cGRh dGVfY2VhX2NoZWNrc3VtKHN0cnVjdCBlZGlkX2V4dCAqZXh0KQoreworCWV4dC0+ZGF0YS5jZWEu Y2hlY2tzdW0gPSBjb21wdXRlX2NoZWNrc3VtKCh1aW50OF90ICopIGV4dCwKKwkJCQkJCSAgc2l6 ZW9mKHN0cnVjdCBlZGlkX2V4dCkpOwogfQpkaWZmIC0tZ2l0IGEvbGliL2lndF9lZGlkLmggYi9s aWIvaWd0X2VkaWQuaAppbmRleCBkMDk2MzAzMy4uODYwZWQ5MjkgMTAwNjQ0Ci0tLSBhL2xpYi9p Z3RfZWRpZC5oCisrKyBiL2xpYi9pZ3RfZWRpZC5oCkBAIC0xNDgsNiArMTQ4LDgwIEBAIHN0cnVj dCBkZXRhaWxlZF90aW1pbmcgewogCX0gZGF0YTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7 CiAKK2VudW0gY2VhX3NhZF9mb3JtYXQgeworCUNFQV9TQURfRk9STUFUX1BDTSA9IDEsCisJQ0VB X1NBRF9GT1JNQVRfQUMzID0gMiwKKwlDRUFfU0FEX0ZPUk1BVF9NUEVHMSA9IDMsIC8qIExheWVy cyAxICYgMiAqLworCUNFQV9TQURfRk9STUFUX01QMyA9IDQsCisJQ0VBX1NBRF9GT1JNQVRfTVBF RzIgPSA1LAorCUNFQV9TQURfRk9STUFUX0FBQyA9IDYsCisJQ0VBX1NBRF9GT1JNQVRfRFRTID0g NywKKwlDRUFfU0FEX0ZPUk1BVF9BVFJBQyA9IDgsCisJQ0VBX1NBRF9GT1JNQVRfU0FDRCA9IDks IC8qIE9uZS1iaXQgYXVkaW8gKi8KKwlDRUFfU0FEX0ZPUk1BVF9ERF9QTFVTID0gMTAsCisJQ0VB X1NBRF9GT1JNQVRfRFRTX0hEID0gMTEsCisJQ0VBX1NBRF9GT1JNQVRfRE9MQlkgPSAxMiwgLyog TUxQL0RvbGJ5IFRydWVIRCAqLworCUNFQV9TQURfRk9STUFUX0RTVCA9IDEzLAorCUNFQV9TQURf Rk9STUFUX1dNQSA9IDE0LCAvKiBNaWNyb3NvZnQgV01BIFBybyAqLworfTsKKworZW51bSBjZWFf c2FkX3NhbXBsaW5nX3JhdGUgeworCUNFQV9TQURfU0FNUExJTkdfUkFURV8zMktIWiA9IDEgPDwg MCwKKwlDRUFfU0FEX1NBTVBMSU5HX1JBVEVfNDRLSFogPSAxIDw8IDEsCisJQ0VBX1NBRF9TQU1Q TElOR19SQVRFXzQ4S0haID0gMSA8PCAyLAorCUNFQV9TQURfU0FNUExJTkdfUkFURV84OEtIWiA9 IDEgPDwgMywKKwlDRUFfU0FEX1NBTVBMSU5HX1JBVEVfOTZLSFogPSAxIDw8IDQsCisJQ0VBX1NB RF9TQU1QTElOR19SQVRFXzE3NktIWiA9IDEgPDwgNSwKKwlDRUFfU0FEX1NBTVBMSU5HX1JBVEVf MTkyS0haID0gMSA8PCA2LAorfTsKKworLyogZm9yIFBDTSBvbmx5ICovCitlbnVtIGNlYV9zYWRf cGNtX3NhbXBsZV9zaXplIHsKKwlDRUFfU0FEX1NBTVBMRV9TSVpFXzE2ID0gMSA8PCAwLAorCUNF QV9TQURfU0FNUExFX1NJWkVfMjAgPSAxIDw8IDEsCisJQ0VBX1NBRF9TQU1QTEVfU0laRV8yNCA9 IDEgPDwgMiwKK307CisKKy8qIFNob3J0IEF1ZGlvIERlc2NyaXB0b3IgKi8KK3N0cnVjdCBjZWFf c2FkIHsKKwl1aW50OF90IGZvcm1hdF9jaGFubmVsczsKKwl1aW50OF90IHNhbXBsaW5nX3JhdGVz OworCXVpbnQ4X3QgYml0cmF0ZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK2VudW0g ZWRpZF9jZWFfZGF0YV90eXBlIHsKKwlFRElEX0NFQV9EQVRBX0FVRElPID0gMSwKKwlFRElEX0NF QV9EQVRBX1ZJREVPID0gMiwKKwlFRElEX0NFQV9EQVRBX1ZFTkRPUl9TUEVDSUZJQyA9IDMsCisJ RURJRF9DRUFfREFUQV9TUEVBS0VSX0FMTE9DID0gNCwKK307CisKK3N0cnVjdCBlZGlkX2NlYV9k YXRhX2Jsb2NrIHsKKwl1aW50OF90IHR5cGVfbGVuOyAvKiB0eXBlIGlzIGZyb20gZW51bSBlZGlk X2NlYV9kYXRhX3R5cGUgKi8KKwl1bmlvbiB7CisJCXN0cnVjdCBjZWFfc2FkIHNhZHNbMF07CisJ fSBkYXRhOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGVkaWRfY2VhIHsK Kwl1aW50OF90IHJldmlzaW9uOworCXVpbnQ4X3QgZHRkX3N0YXJ0OworCXVpbnQ4X3QgbWlzYzsK KwljaGFyIGRhdGFbMTIzXTsgLyogREJDICYgRFREIGNvbGxlY3Rpb24sIHBhZGRlZCB3aXRoIHpl cm9zICovCisJdWludDhfdCBjaGVja3N1bTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisK K2VudW0gZWRpZF9leHRfdGFnIHsKKwlFRElEX0VYVF9DRUEgPSAweDAyLAorfTsKKworc3RydWN0 IGVkaWRfZXh0IHsKKwl1aW50OF90IHRhZzsgLyogZW51bSBlZGlkX2V4dF90YWcgKi8KKwl1bmlv biB7CisJCXN0cnVjdCBlZGlkX2NlYSBjZWE7CisJfSBkYXRhOworfSBfX2F0dHJpYnV0ZV9fKChw YWNrZWQpKTsKKwogc3RydWN0IGVkaWQgewogCWNoYXIgaGVhZGVyWzhdOwogCS8qIFZlbmRvciAm IHByb2R1Y3QgaW5mbyAqLwpAQCAtMTgzLDkgKzI1Nyw5IEBAIHN0cnVjdCBlZGlkIHsKIAkvKiBE ZXRhaWxpbmcgdGltaW5ncyAxLTQgKi8KIAlzdHJ1Y3QgZGV0YWlsZWRfdGltaW5nIGRldGFpbGVk X3RpbWluZ3NbREVUQUlMRURfVElNSU5HU19MRU5dOwogCS8qIE51bWJlciBvZiAxMjggYnl0ZSBl eHQuIGJsb2NrcyAqLwotCXVpbnQ4X3QgZXh0ZW5zaW9uczsKLQkvKiBDaGVja3N1bSAqLworCXVp bnQ4X3QgZXh0ZW5zaW9uc19sZW47CiAJdWludDhfdCBjaGVja3N1bTsKKwlzdHJ1Y3QgZWRpZF9l eHQgZXh0ZW5zaW9uc1tdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAogdm9pZCBlZGlk X2luaXQoc3RydWN0IGVkaWQgKmVkaWQpOwpAQCAtMTk5LDQgKzI3MywxMCBAQCB2b2lkIGRldGFp bGVkX3RpbWluZ19zZXRfc3RyaW5nKHN0cnVjdCBkZXRhaWxlZF90aW1pbmcgKmR0LAogCQkJCWVu dW0gZGV0YWlsZWRfbm9uX3BpeGVsX3R5cGUgdHlwZSwKIAkJCQljb25zdCBjaGFyICpzdHIpOwog Cit2b2lkIGNlYV9zYWRfaW5pdF9wY20oc3RydWN0IGNlYV9zYWQgKnNhZCwgaW50IGNoYW5uZWxz LAorCQkgICAgICB1aW50OF90IHNhbXBsaW5nX3JhdGVzLCB1aW50OF90IHNhbXBsZV9zaXplcyk7 Cit2b2lkIGVkaWRfZXh0X3NldF9jZWFfc2FkKHN0cnVjdCBlZGlkX2V4dCAqZXh0LCBjb25zdCBz dHJ1Y3QgY2VhX3NhZCAqc2FkcywKKwkJCSAgc2l6ZV90IHNhZHNfbGVuKTsKK3ZvaWQgZWRpZF9l eHRfdXBkYXRlX2NlYV9jaGVja3N1bShzdHJ1Y3QgZWRpZF9leHQgKmV4dCk7CisKICNlbmRpZgot LSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=