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 10691892ED for ; Fri, 31 May 2019 11:21:56 +0000 (UTC) From: Simon Ser Date: Fri, 31 May 2019 14:21:58 +0300 Message-Id: <20190531112200.22403-4-simon.ser@intel.com> In-Reply-To: <20190531112200.22403-1-simon.ser@intel.com> References: <20190531112200.22403-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 3/5] lib/igt_eld: parse 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@intel.com List-ID: RWFjaCB2YWxpZCBFTEQgZW50cnkgY2FuIGNvbnRhaW4gemVybywgb25lIG9yIG1vcmUgU2hvcnQg QXVkaW8gRGVzY3JpcHRvcgpibG9ja3MuIFRoZXNlIGFyZSBleHBvc2VkIGluIHNhZE5fKiBmaWVs ZHMgKE4gYmVpbmcgdGhlIGluZGV4IG9mIHRoZSBTQUQpLgoKV2UgbmVlZCB0byBwYXJzZSB0aGVt IHRvIGJlIGFibGUgdG8gY2hlY2sgdGhhdCBBTFNBIGhhcyBwcm9wZXJseSBwcm9jZXNzZWQKdGhl bS4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIFNlciA8c2ltb24uc2VyQGludGVsLmNvbT4KLS0tCiBs aWIvaWd0X2VkaWQuaCB8ICAyICsrCiBsaWIvaWd0X2VsZC5jICB8IDg1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBsaWIvaWd0X2VsZC5oICB8IDE0 ICsrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZWRpZC5oIGIvbGliL2lndF9lZGlkLmgKaW5kZXgg N2VkZDdlMzhmNDFlLi4xZDBjNmFhMjk1NzggMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZWRpZC5oCisr KyBiL2xpYi9pZ3RfZWRpZC5oCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlIDxzdGRpbnQu aD4KIAorI2luY2x1ZGUgPHhmODZkcm1Nb2RlLmg+CisKIHN0cnVjdCBlc3RfdGltaW5ncyB7CiAJ dWludDhfdCB0MTsKIAl1aW50OF90IHQyOwpkaWZmIC0tZ2l0IGEvbGliL2lndF9lbGQuYyBiL2xp Yi9pZ3RfZWxkLmMKaW5kZXggYTE5ODAwMWE1NmQ3Li43MzJiYmFiZDJkN2MgMTAwNjQ0Ci0tLSBh L2xpYi9pZ3RfZWxkLmMKKysrIGIvbGliL2lndF9lbGQuYwpAQCAtMzUsNiArMzUsNyBAQAogCiAj ZGVmaW5lIEVMRF9QUkVGSVggImVsZCMiCiAjZGVmaW5lIEVMRF9ERUxJTSAiIFx0IgorI2RlZmlu ZSBTQURfRk1UICJzYWQlZF8lbXMiCiAKIC8qKgogICogRURJRC1MaWtlIERhdGEgKEVMRCkgaXMg bWV0YWRhdGEgcGFyc2VkIGFuZCBleHBvc2VkIGJ5IEFMU0EgZm9yIEhETUkgYW5kCkBAIC00Mywx MyArNDQsODcgQEAKICAqIG9uKS4KICAqLwogCitzdGF0aWMgZW51bSBjZWFfc2FkX2Zvcm1hdCBw YXJzZV9zYWRfY29kaW5nX3R5cGUoY29uc3QgY2hhciAqdmFsdWUpCit7CisJaWYgKHN0cmNtcCh2 YWx1ZSwgIkxQQ00iKSA9PSAwKQorCQlyZXR1cm4gQ0VBX1NBRF9GT1JNQVRfUENNOworCWVsc2UK KwkJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBlbnVtIGNlYV9zYWRfc2FtcGxpbmdfcmF0ZSBwYXJz ZV9zYWRfcmF0ZShjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlzd2l0Y2ggKGF0b2kodmFsdWUpKSB7 CisJY2FzZSAzMjAwMDoKKwkJcmV0dXJuIENFQV9TQURfU0FNUExJTkdfUkFURV8zMktIWjsKKwlj YXNlIDQ0MTAwOgorCQlyZXR1cm4gQ0VBX1NBRF9TQU1QTElOR19SQVRFXzQ0S0haOworCWNhc2Ug NDgwMDA6CisJCXJldHVybiBDRUFfU0FEX1NBTVBMSU5HX1JBVEVfNDhLSFo7CisJY2FzZSA4ODAw MDoKKwkJcmV0dXJuIENFQV9TQURfU0FNUExJTkdfUkFURV84OEtIWjsKKwljYXNlIDk2MDAwOgor CQlyZXR1cm4gQ0VBX1NBRF9TQU1QTElOR19SQVRFXzk2S0haOworCWNhc2UgMTc2MDAwOgorCQly ZXR1cm4gQ0VBX1NBRF9TQU1QTElOR19SQVRFXzE3NktIWjsKKwljYXNlIDE5MjAwMDoKKwkJcmV0 dXJuIENFQV9TQURfU0FNUExJTkdfUkFURV8xOTJLSFo7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7 CisJfQorfQorCitzdGF0aWMgZW51bSBjZWFfc2FkX3BjbV9zYW1wbGVfc2l6ZSBwYXJzZV9zYWRf Yml0KGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXN3aXRjaCAoYXRvaSh2YWx1ZSkpIHsKKwljYXNl IDE2OgorCQlyZXR1cm4gQ0VBX1NBRF9TQU1QTEVfU0laRV8xNjsKKwljYXNlIDIwOgorCQlyZXR1 cm4gQ0VBX1NBRF9TQU1QTEVfU0laRV8yMDsKKwljYXNlIDI0OgorCQlyZXR1cm4gQ0VBX1NBRF9T QU1QTEVfU0laRV8yNDsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CisKK3N0YXRpYyB2 b2lkIHBhcnNlX3NhZF9maWVsZChzdHJ1Y3QgZWxkX3NhZCAqc2FkLCBjb25zdCBjaGFyICprZXks IGNoYXIgKnZhbHVlKQoreworCWNoYXIgKnRvazsKKworCS8qIFNvbWUgZmllbGRzIGFyZSBwcmVm aXhlZCB3aXRoIHRoZSByYXcgaGV4IHZhbHVlLCBzdHJpcCBpdCAqLworCWlmICh2YWx1ZVswXSA9 PSAnWycpIHsKKwkJdmFsdWUgPSBzdHJjaHIodmFsdWUsICcgJyk7CisJCWlndF9hc3NlcnQodmFs dWUgIT0gTlVMTCk7CisJCXZhbHVlKys7IC8qIHNraXAgdGhlIHNwYWNlICovCisJfQorCisJLyog U2luZ2xlLXZhbHVlIGZpZWxkcyAqLworCWlmIChzdHJjbXAoa2V5LCAiY29kaW5nX3R5cGUiKSA9 PSAwKQorCQlzYWQtPmNvZGluZ190eXBlID0gcGFyc2Vfc2FkX2NvZGluZ190eXBlKHZhbHVlKTsK KwllbHNlIGlmIChzdHJjbXAoa2V5LCAiY2hhbm5lbHMiKSA9PSAwKQorCQlzYWQtPmNoYW5uZWxz ID0gYXRvaSh2YWx1ZSk7CisKKwkvKiBNdWx0aXBsZS12YWx1ZSBmaWVsZHMgKi8KKwl0b2sgPSBz dHJ0b2sodmFsdWUsICIgIik7CisJd2hpbGUgKHRvaykgeworCQlpZiAoc3RyY21wKGtleSwgInJh dGVzIikgPT0gMCkKKwkJCXNhZC0+cmF0ZXMgfD0gcGFyc2Vfc2FkX3JhdGUodG9rKTsKKwkJZWxz ZSBpZiAoc3RyY21wKGtleSwgImJpdHMiKSA9PSAwKQorCQkJc2FkLT5iaXRzIHw9IHBhcnNlX3Nh ZF9iaXQodG9rKTsKKworCQl0b2sgPSBzdHJ0b2soTlVMTCwgIiAiKTsKKwl9Cit9CisKIHN0YXRp YyBib29sIGVsZF9wYXJzZV9lbnRyeShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgZWxkX2VudHJ5 ICplbGQpCiB7CiAJRklMRSAqZjsKIAljaGFyIGJ1ZlsxMDI0XTsKLQljaGFyICprZXksICp2YWx1 ZTsKKwljaGFyICprZXksICp2YWx1ZSwgKnNhZF9rZXk7CiAJc2l6ZV90IGxlbjsKIAlib29sIG1v bml0b3JfcHJlc2VudDsKKwlpbnQgc2FkX2luZGV4OwogCiAJbWVtc2V0KGVsZCwgMCwgc2l6ZW9m KCplbGQpKTsKIApAQCAtNzYsNiArMTUxLDE0IEBAIHN0YXRpYyBib29sIGVsZF9wYXJzZV9lbnRy eShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgZWxkX2VudHJ5ICplbGQpCiAJCWVsc2UgaWYgKHN0 cmNtcChrZXksICJtb25pdG9yX25hbWUiKSA9PSAwKQogCQkJc25wcmludGYoZWxkLT5tb25pdG9y X25hbWUsIHNpemVvZihlbGQtPm1vbml0b3JfbmFtZSksCiAJCQkJICIlcyIsIHZhbHVlKTsKKwkJ ZWxzZSBpZiAoc3RyY21wKGtleSwgInNhZF9jb3VudCIpID09IDApCisJCQllbGQtPnNhZHNfbGVu ID0gYXRvaSh2YWx1ZSk7CisJCWVsc2UgaWYgKHNzY2FuZihrZXksICJzYWQlZF8lbXMiLCAmc2Fk X2luZGV4LCAmc2FkX2tleSkgPT0gMikgeworCQkJaWd0X2Fzc2VydChzYWRfaW5kZXggPCBFTERf U0FEU19DQVApOworCQkJaWd0X2Fzc2VydChzYWRfaW5kZXggPCBlbGQtPnNhZHNfbGVuKTsKKwkJ CXBhcnNlX3NhZF9maWVsZCgmZWxkLT5zYWRzW3NhZF9pbmRleF0sIHNhZF9rZXksIHZhbHVlKTsK KwkJCWZyZWUoc2FkX2tleSk7CisJCX0KIAl9CiAKIAlpZiAoZmVycm9yKGYpICE9IDApIHsKZGlm ZiAtLWdpdCBhL2xpYi9pZ3RfZWxkLmggYi9saWIvaWd0X2VsZC5oCmluZGV4IDIxZmUzNTM3YWNm OS4uZTE2MTg3ODg0ZDRiIDEwMDY0NAotLS0gYS9saWIvaWd0X2VsZC5oCisrKyBiL2xpYi9pZ3Rf ZWxkLmgKQEAgLTMwLDkgKzMwLDIzIEBACiAKICNpbmNsdWRlIDxzdGRib29sLmg+CiAKKyNpbmNs dWRlICJpZ3RfZWRpZC5oIgorCisjZGVmaW5lIEVMRF9TQURTX0NBUCA0CisKKy8qKiBlbGRfc2Fk OiBTaG9ydCBBdWRpbyBEZXNjcmlwdG9yICovCitzdHJ1Y3QgZWxkX3NhZCB7CisJZW51bSBjZWFf c2FkX2Zvcm1hdCBjb2RpbmdfdHlwZTsKKwlpbnQgY2hhbm5lbHM7CisJdW5zaWduZWQgaW50IHJh dGVzOyAvKiBlbnVtIGNlYV9zYWRfc2FtcGxpbmdfcmF0ZSAqLworCXVuc2lnbmVkIGludCBiaXRz OyAvKiBlbnVtIGNlYV9zYWRfcGNtX3NhbXBsZV9zaXplICovCit9OworCiBzdHJ1Y3QgZWxkX2Vu dHJ5IHsKIAlib29sIHZhbGlkOwogCWNoYXIgbW9uaXRvcl9uYW1lWzE2XTsKKwlzaXplX3Qgc2Fk c19sZW47CisJc3RydWN0IGVsZF9zYWQgc2Fkc1tFTERfU0FEU19DQVBdOwogfTsKIAogYm9vbCBl bGRfaGFzX2lndCh2b2lkKTsKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pZ3QtZGV2