From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 386626E04F for ; Wed, 17 Apr 2019 12:43:53 +0000 (UTC) From: Simon Ser Date: Wed, 17 Apr 2019 15:43:58 +0300 Message-Id: <20190417124359.12293-7-simon.ser@intel.com> In-Reply-To: <20190417124359.12293-1-simon.ser@intel.com> References: <20190417124359.12293-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v6 6/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 List-ID: U2lnbmVkLW9mZi1ieTogU2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwuY29tPgotLS0KIGxpYi9p Z3RfZWRpZC5jIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0KIGxpYi9pZ3RfZWRpZC5oIHwgODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTQ1IGluc2VydGlvbnMoKyksIDEw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZWRpZC5jIGIvbGliL2lndF9lZGlk LmMKaW5kZXggNTJlNjZhYjIuLjNkNDBkM2IzIDEwMDY0NAotLS0gYS9saWIvaWd0X2VkaWQuYwor KysgYi9saWIvaWd0X2VkaWQuYwpAQCAtMjUyLDE5ICsyNTIsNzYgQEAgdm9pZCBlZGlkX2luaXRf d2l0aF9tb2RlKHN0cnVjdCBlZGlkICplZGlkLCBkcm1Nb2RlTW9kZUluZm8gKm1vZGUpCiAJCQkJ ICAgRURJRF9ERVRBSUxfTU9OSVRPUl9OQU1FLCAiSUdUIik7CiB9CiAKK3N0YXRpYyB1aW50OF90 IGNvbXB1dGVfY2hlY2tzdW0oY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZSkKK3sKKwlz aXplX3QgaTsKKwl1aW50OF90IHN1bSA9IDA7CisKKwlhc3NlcnQoc2l6ZSA+IDApOworCWZvciAo aSA9IDA7IGkgPCBzaXplIC0gMTsgaSsrKSB7CisJCXN1bSArPSBidWZbaV07CisJfQorCisJcmV0 dXJuIDI1NiAtIHN1bTsKK30KKwogLyoqCiAgKiBlZGlkX3VwZGF0ZV9jaGVja3N1bTogY29tcHV0 ZSBhbmQgdXBkYXRlIHRoZSBFRElEIGNoZWNrc3VtCiAgKi8KIHZvaWQgZWRpZF91cGRhdGVfY2hl Y2tzdW0oc3RydWN0IGVkaWQgKmVkaWQpCiB7Ci0Jc2l6ZV90IGk7Ci0JY29uc3QgdWludDhfdCAq YnVmID0gKGNvbnN0IHVpbnQ4X3QgKikgZWRpZDsKLQl1aW50OF90IHN1bSA9IDA7CisJZWRpZC0+ Y2hlY2tzdW0gPSBjb21wdXRlX2NoZWNrc3VtKCh1aW50OF90ICopIGVkaWQsCisJCQkJCSAgc2l6 ZW9mKHN0cnVjdCBlZGlkKSk7Cit9CiAKLQkvKiBjYWxjdWxhdGUgY2hlY2tzdW0gKi8KLQlmb3Ig KGkgPSAwOyBpIDwgc2l6ZW9mKHN0cnVjdCBlZGlkKSAtIDE7IGkrKykgewotCQlzdW0gPSBzdW0g KyBidWZbaV07Ci0JfQorLyoqCisgKiBjZWFfc2FkX2luaXRfcGNtOgorICogQGNoYW5uZWxzOiB0 aGUgbnVtYmVyIG9mIHN1cHBvcnRlZCBjaGFubmVscyAobWF4LiA4KQorICogQHNhbXBsaW5nX3Jh dGVzOiBiaXRmaWVsZCBvZiBlbnVtIGNlYV9zYWRfc2FtcGxpbmdfcmF0ZQorICogQHNhbXBsZV9z aXplczogYml0ZmllbGQgb2YgZW51bSBjZWFfc2FkX3BjbV9zYW1wbGVfc2l6ZQorICoKKyAqIElu aXRpYWxpemUgYSBTaG9ydCBBdWRpbyBEZXNjcmlwdG9yIHRvIGFkdmVydGlzZSBQQ00gc3VwcG9y dC4KKyAqLwordm9pZCBjZWFfc2FkX2luaXRfcGNtKHN0cnVjdCBjZWFfc2FkICpzYWQsIGludCBj aGFubmVscywKKwkJICAgICAgdWludDhfdCBzYW1wbGluZ19yYXRlcywgdWludDhfdCBzYW1wbGVf c2l6ZXMpCit7CisJYXNzZXJ0KGNoYW5uZWxzIDw9IDgpOworCXNhZC0+Zm9ybWF0X2NoYW5uZWxz ID0gQ0VBX1NBRF9GT1JNQVRfUENNIDw8IDMgfCAoY2hhbm5lbHMgLSAxKTsKKwlzYWQtPnNhbXBs aW5nX3JhdGVzID0gc2FtcGxpbmdfcmF0ZXM7CisJc2FkLT5iaXRyYXRlID0gc2FtcGxlX3NpemVz OworfQorCitzdGF0aWMgdm9pZCBlZGlkX2NlYV9maW5hbGl6ZShzdHJ1Y3QgZWRpZF9jZWEgKmNl YSkKK3sKKwljZWEtPmNoZWNrc3VtID0gY29tcHV0ZV9jaGVja3N1bSgodWludDhfdCAqKSBjZWEs CisJCQkJCSBzaXplb2Yoc3RydWN0IGVkaWRfY2VhKSk7Cit9CisKKy8qKgorICogZWRpZF9leHRf c2V0X2NlYV9zYWQ6IHNldCBhbiBleHRlbnNpb24gYmxvY2sgdG8gYmUgQ0VBIFNBRAorICovCit2 b2lkIGVkaWRfZXh0X3NldF9jZWFfc2FkKHN0cnVjdCBlZGlkX2V4dCAqZXh0LCBjb25zdCBzdHJ1 Y3QgY2VhX3NhZCAqc2FkcywKKwkJCSAgc2l6ZV90IHNhZHNfbGVuKQoreworCXN0cnVjdCBlZGlk X2NlYSAqY2VhID0gJmV4dC0+ZGF0YS5jZWE7CisJc3RydWN0IGVkaWRfY2VhX2RhdGFfYmxvY2sg KmRhdGFfYmxvY2s7CisJc2l6ZV90IHNhZHNfc2l6ZSwgZGF0YV9ibG9ja19zaXplOworCisJbWVt c2V0KGV4dCwgMCwgc2l6ZW9mKHN0cnVjdCBlZGlkX2V4dCkpOworCisJc2Fkc19zaXplID0gc2l6 ZW9mKHN0cnVjdCBjZWFfc2FkKSAqIHNhZHNfbGVuOworCWRhdGFfYmxvY2tfc2l6ZSA9IHNpemVv ZihzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9jaykgKyBzYWRzX3NpemU7CisKKwlleHQtPnRhZyA9 IEVESURfRVhUX0NFQTsKKworCWNlYS0+cmV2aXNpb24gPSAzOworCWNlYS0+ZHRkX3N0YXJ0ID0g NCArIGRhdGFfYmxvY2tfc2l6ZTsKKwljZWEtPm1pc2MgPSAxIDw8IDY7IC8qIGJhc2ljIGF1ZGlv LCBubyBEVEQgKi8KKworCWFzc2VydChzYWRzX3NpemUgPD0gMHhGRik7CisJZGF0YV9ibG9jayA9 IChzdHJ1Y3QgZWRpZF9jZWFfZGF0YV9ibG9jayAqKSBjZWEtPmRhdGE7CisJZGF0YV9ibG9jay0+ dHlwZV9sZW4gPSBFRElEX0NFQV9EQVRBX0FVRElPIDw8IDUgfCBzYWRzX3NpemU7CisJbWVtY3B5 KGRhdGFfYmxvY2stPmRhdGEuc2Fkcywgc2Fkcywgc2Fkc19zaXplKTsKIAotCWVkaWQtPmNoZWNr c3VtID0gMjU2IC0gc3VtOworCWVkaWRfY2VhX2ZpbmFsaXplKGNlYSk7CiB9CmRpZmYgLS1naXQg YS9saWIvaWd0X2VkaWQuaCBiL2xpYi9pZ3RfZWRpZC5oCmluZGV4IGJiY2I5MzlhLi4zM2ZkN2Jk MiAxMDA2NDQKLS0tIGEvbGliL2lndF9lZGlkLmgKKysrIGIvbGliL2lndF9lZGlkLmgKQEAgLTE0 Miw2ICsxNDIsNzkgQEAgc3RydWN0IGRldGFpbGVkX3RpbWluZyB7CiAJfSBkYXRhOwogfSBfX2F0 dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAorZW51bSBjZWFfc2FkX2Zvcm1hdCB7CisJQ0VBX1NBRF9G T1JNQVRfUENNID0gMSwKKwlDRUFfU0FEX0ZPUk1BVF9BQzMgPSAyLAorCUNFQV9TQURfRk9STUFU X01QRUcxID0gMywgLyogTGF5ZXJzIDEgJiAyICovCisJQ0VBX1NBRF9GT1JNQVRfTVAzID0gNCwK KwlDRUFfU0FEX0ZPUk1BVF9NUEVHMiA9IDUsCisJQ0VBX1NBRF9GT1JNQVRfQUFDID0gNiwKKwlD RUFfU0FEX0ZPUk1BVF9EVFMgPSA3LAorCUNFQV9TQURfRk9STUFUX0FUUkFDID0gOCwKKwlDRUFf U0FEX0ZPUk1BVF9TQUNEID0gOSwgLyogT25lLWJpdCBhdWRpbyAqLworCUNFQV9TQURfRk9STUFU X0REX1BMVVMgPSAxMCwKKwlDRUFfU0FEX0ZPUk1BVF9EVFNfSEQgPSAxMSwKKwlDRUFfU0FEX0ZP Uk1BVF9ET0xCWSA9IDEyLCAvKiBNTFAvRG9sYnkgVHJ1ZUhEICovCisJQ0VBX1NBRF9GT1JNQVRf RFNUID0gMTMsCisJQ0VBX1NBRF9GT1JNQVRfV01BID0gMTQsIC8qIE1pY3Jvc29mdCBXTUEgUHJv ICovCit9OworCitlbnVtIGNlYV9zYWRfc2FtcGxpbmdfcmF0ZSB7CisJQ0VBX1NBRF9TQU1QTElO R18zMktIWiA9IDEgPDwgMCwKKwlDRUFfU0FEX1NBTVBMSU5HXzQ0S0haID0gMSA8PCAxLAorCUNF QV9TQURfU0FNUExJTkdfNDhLSFogPSAxIDw8IDIsCisJQ0VBX1NBRF9TQU1QTElOR184OEtIWiA9 IDEgPDwgMywKKwlDRUFfU0FEX1NBTVBMSU5HXzk2S0haID0gMSA8PCA0LAorCUNFQV9TQURfU0FN UExJTkdfMTc2S0haID0gMSA8PCA1LAorCUNFQV9TQURfU0FNUExJTkdfMTkyS0haID0gMSA8PCA2 LAorfTsKKworLyogZm9yIFBDTSBvbmx5ICovCitlbnVtIGNlYV9zYWRfcGNtX3NhbXBsZV9zaXpl IHsKKwlDRUFfU0FEX0JJVFJBVEVfMTYgPSAxIDw8IDAsCisJQ0VBX1NBRF9CSVRSQVRFXzIwID0g MSA8PCAxLAorCUNFQV9TQURfQklUUkFURV8yNCA9IDEgPDwgMiwKK307CisKK3N0cnVjdCBjZWFf c2FkIHsKKwl1aW50OF90IGZvcm1hdF9jaGFubmVsczsKKwl1aW50OF90IHNhbXBsaW5nX3JhdGVz OworCXVpbnQ4X3QgYml0cmF0ZTsKK307CisKK2VudW0gZWRpZF9jZWFfZGF0YV90eXBlIHsKKwlF RElEX0NFQV9EQVRBX0FVRElPID0gMSwKKwlFRElEX0NFQV9EQVRBX1ZJREVPID0gMiwKKwlFRElE X0NFQV9EQVRBX1ZFTkRPUl9TUEVDSUZJQyA9IDMsCisJRURJRF9DRUFfREFUQV9TUEVBS0VSX0FM TE9DID0gNCwKK307CisKK3N0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrIHsKKwl1aW50OF90IHR5 cGVfbGVuOyAvKiB0eXBlIGlzIGZyb20gZW51bSBlZGlkX2NlYV9kYXRhX3R5cGUgKi8KKwl1bmlv biB7CisJCXN0cnVjdCBjZWFfc2FkIHNhZHNbMF07CisJfSBkYXRhOworfSBfX2F0dHJpYnV0ZV9f KChwYWNrZWQpKTsKKworc3RydWN0IGVkaWRfY2VhIHsKKwl1aW50OF90IHJldmlzaW9uOworCXVp bnQ4X3QgZHRkX3N0YXJ0OworCXVpbnQ4X3QgbWlzYzsKKwljaGFyIGRhdGFbMTIzXTsgLyogREJD ICYgRFREIGNvbGxlY3Rpb24sIHBhZGRlZCB3aXRoIHplcm9zICovCisJdWludDhfdCBjaGVja3N1 bTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK2VudW0gZWRpZF9leHRfdGFnIHsKKwlF RElEX0VYVF9DRUEgPSAweDAyLAorfTsKKworc3RydWN0IGVkaWRfZXh0IHsKKwl1aW50OF90IHRh ZzsgLyogZW51bSBlZGlkX2V4dF90YWcgKi8KKwl1bmlvbiB7CisJCXN0cnVjdCBlZGlkX2NlYSBj ZWE7CisJfSBkYXRhOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKwogc3RydWN0IGVkaWQg ewogCWNoYXIgaGVhZGVyWzhdOwogCS8qIFZlbmRvciAmIHByb2R1Y3QgaW5mbyAqLwpAQCAtMTc3 LDkgKzI1MCw5IEBAIHN0cnVjdCBlZGlkIHsKIAkvKiBEZXRhaWxpbmcgdGltaW5ncyAxLTQgKi8K IAlzdHJ1Y3QgZGV0YWlsZWRfdGltaW5nIGRldGFpbGVkX3RpbWluZ3NbREVUQUlMRURfVElNSU5H U19MRU5dOwogCS8qIE51bWJlciBvZiAxMjggYnl0ZSBleHQuIGJsb2NrcyAqLwotCXVpbnQ4X3Qg ZXh0ZW5zaW9uczsKLQkvKiBDaGVja3N1bSAqLworCXVpbnQ4X3QgZXh0ZW5zaW9uc19sZW47CiAJ dWludDhfdCBjaGVja3N1bTsKKwlzdHJ1Y3QgZWRpZF9leHQgZXh0ZW5zaW9uc1tdOwogfSBfX2F0 dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAogdm9pZCBlZGlkX2luaXQoc3RydWN0IGVkaWQgKmVkaWQp OwpAQCAtMTkzLDQgKzI2Niw5IEBAIHZvaWQgZGV0YWlsZWRfdGltaW5nX3NldF9zdHJpbmcoc3Ry dWN0IGRldGFpbGVkX3RpbWluZyAqZHQsCiAJCQkJZW51bSBkZXRhaWxlZF9ub25fcGl4ZWxfdHlw ZSB0eXBlLAogCQkJCWNvbnN0IGNoYXIgKnN0cik7CiAKK3ZvaWQgY2VhX3NhZF9pbml0X3BjbShz dHJ1Y3QgY2VhX3NhZCAqc2FkLCBpbnQgY2hhbm5lbHMsCisJCSAgICAgIHVpbnQ4X3Qgc2FtcGxp bmdfcmF0ZXMsIHVpbnQ4X3Qgc2FtcGxlX3NpemVzKTsKK3ZvaWQgZWRpZF9leHRfc2V0X2NlYV9z YWQoc3RydWN0IGVkaWRfZXh0ICpleHQsIGNvbnN0IHN0cnVjdCBjZWFfc2FkICpzYWRzLAorCQkJ ICBzaXplX3Qgc2Fkc19sZW4pOworCiAjZW5kaWYKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0 LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2