From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: [PATCH 3/4] drm/radeon: Add audio component support Date: Mon, 23 Jul 2018 16:50:29 +0200 Message-ID: <20180723145030.25133-4-tiwai@suse.de> References: <20180723145030.25133-1-tiwai@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180723145030.25133-1-tiwai-l3A5Bk7waGM@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: alsa-devel@alsa-project.org VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBIRE1JIGF1ZGlvIGNvbXBvbmVudCBiaW5kaW5nIGxp a2Ugd2hhdCBpOTE1CmRvZXMgdG8gcmFkZW9uIGRyaXZlci4gIFVubGlrZSBpOTE1LCB3ZSBuZWVk IG9ubHkgdGhlIGhvdHBsdWcKbm90aWZpY2F0aW9uIGFuZCB0aGUgRUxEIHF1ZXJ5LCBoZW5jZSB0 aGUgY29kZSBpcyByZWxhdGl2ZWx5IHNpbXBsZSwKanVzdCBhZGRpbmcgdGhlIGhvb2sgYXQgcmFk ZW9uX2F1ZGlvX2VuYWJsZSgpIGFuZCBnaXZpbmcgdGhlIGVsZCBxdWVyeQpieSBjb3B5aW5nIHRo ZSBjb25uZWN0b3ItPmVsZCBjb250ZW50cy4KClNpZ25lZC1vZmYtYnk6IFRha2FzaGkgSXdhaSA8 dGl3YWlAc3VzZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vS2NvbmZpZyAgICAgICAgICAgICAg IHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICB8ICAzICsKIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgfCA3OSArKysrKysrKysrKysrKysr KysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKaW5k ZXggMmE3MmQyZmViNzZkLi4yYzcxMTJkZGZlZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCkBAIC0xNzAsNiArMTcwLDcg QEAgY29uZmlnIERSTV9SQURFT04KIAlzZWxlY3QgQkFDS0xJR0hUX0NMQVNTX0RFVklDRQogCXNl bGVjdCBCQUNLTElHSFRfTENEX1NVUFBPUlQKIAlzZWxlY3QgSU5URVJWQUxfVFJFRQorCXNlbGVj dCBTTkRfSERBX0NPTVBPTkVOVCBpZiBTTkRfSERBX0NPUkUKIAloZWxwCiAJICBDaG9vc2UgdGhp cyBvcHRpb24gaWYgeW91IGhhdmUgYW4gQVRJIFJhZGVvbiBncmFwaGljcyBjYXJkLiAgVGhlcmUK IAkgIGFyZSBib3RoIFBDSSBhbmQgQUdQIHZlcnNpb25zLiAgWW91IGRvbid0IG5lZWQgdG8gY2hv b3NlIHRoaXMgdG8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCmluZGV4IDRhMmViNDA5YWFjYy4uZmFk NThkZjBiZjE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTc1LDYgKzc1LDcgQEAKICNp bmNsdWRlIDxkcm0vdHRtL3R0bV9leGVjYnVmX3V0aWwuaD4KIAogI2luY2x1ZGUgPGRybS9kcm1f Z2VtLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9hdWRpb19jb21wb25lbnQuaD4KIAogI2luY2x1ZGUg InJhZGVvbl9mYW1pbHkuaCIKICNpbmNsdWRlICJyYWRlb25fbW9kZS5oIgpAQCAtMTc2MCw2ICsx NzYxLDggQEAgc3RydWN0IHI2MDBfYXVkaW8gewogCXN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3Mg KmhkbWlfZnVuY3M7CiAJc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyAqZHBfZnVuY3M7CiAJc3Ry dWN0IHJhZGVvbl9hdWRpb19iYXNpY19mdW5jcyAqZnVuY3M7CisJc3RydWN0IGRybV9hdWRpb19j b21wb25lbnQgKmNvbXBvbmVudDsKKwlib29sIGNvbXBvbmVudF9yZWdpc3RlcmVkOwogfTsKIAog LyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCmluZGV4IDc3MGUzMWY1ZmQxYi4u NThlMTQ5YjdhN2E0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9h dWRpby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKQEAgLTIz LDYgKzIzLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZ2NkLmg+CisjaW5jbHVkZSA8bGlu dXgvY29tcG9uZW50Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRlIDxkcm0vZHJt X2NydGMuaD4KICNpbmNsdWRlICJyYWRlb24uaCIKQEAgLTI0OCw2ICsyNDksNyBAQCBzdGF0aWMg dm9pZCByYWRlb25fYXVkaW9fZW5hYmxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAogCXN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKIAlzdHJ1Y3QgcmFkZW9uX2VuY29kZXIgKnJhZGVv bl9lbmNvZGVyOwogCXN0cnVjdCByYWRlb25fZW5jb2Rlcl9hdG9tX2RpZyAqZGlnOworCXN0cnVj dCBkcm1fYXVkaW9fY29tcG9uZW50ICphY29tcCA9IHJkZXYtPmF1ZGlvLmNvbXBvbmVudDsKIAlp bnQgcGluX2NvdW50ID0gMDsKIAogCWlmICghcGluKQpAQCAtMjY5LDYgKzI3MSwxMCBAQCBzdGF0 aWMgdm9pZCByYWRlb25fYXVkaW9fZW5hYmxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAog CiAJaWYgKHJkZXYtPmF1ZGlvLmZ1bmNzLT5lbmFibGUpCiAJCXJkZXYtPmF1ZGlvLmZ1bmNzLT5l bmFibGUocmRldiwgcGluLCBlbmFibGVfbWFzayk7CisKKwlpZiAoYWNvbXAgJiYgYWNvbXAtPmF1 ZGlvX29wcyAmJiBhY29tcC0+YXVkaW9fb3BzLT5waW5fZWxkX25vdGlmeSkKKwkJYWNvbXAtPmF1 ZGlvX29wcy0+cGluX2VsZF9ub3RpZnkoYWNvbXAtPmF1ZGlvX29wcy0+YXVkaW9fcHRyLAorCQkJ CQkJIHBpbi0+aWQsIC0xKTsKIH0KIAogc3RhdGljIHZvaWQgcmFkZW9uX2F1ZGlvX2ludGVyZmFj ZV9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQpAQCAtMjkyLDYgKzI5OCw3MSBAQCBz dGF0aWMgdm9pZCByYWRlb25fYXVkaW9faW50ZXJmYWNlX2luaXQoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYpCiAJfQogfQogCitzdGF0aWMgaW50IHJhZGVvbl9hdWRpb19jb21wb25lbnRfZ2V0 X2VsZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBpbnQgcG9ydCwKKwkJCQkJICBpbnQgcGlwZSwgYm9v bCAqZW5hYmxlZCwKKwkJCQkJICB1bnNpZ25lZCBjaGFyICpidWYsIGludCBtYXhfYnl0ZXMpCit7 CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9nZXRfZHJ2ZGF0YShrZGV2KTsKKwlzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7CisJc3RydWN0IHJhZGVvbl9lbmNvZGVyICpyYWRlb25f ZW5jb2RlcjsKKwlzdHJ1Y3QgcmFkZW9uX2VuY29kZXJfYXRvbV9kaWcgKmRpZzsKKwlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCWludCByZXQgPSAwOworCisJKmVuYWJsZWQgPSAw OworCWxpc3RfZm9yX2VhY2hfZW50cnkoZW5jb2RlciwgJmRldi0+bW9kZV9jb25maWcuZW5jb2Rl cl9saXN0LCBoZWFkKSB7CisJCWlmICghcmFkZW9uX2VuY29kZXJfaXNfZGlnaXRhbChlbmNvZGVy KSkKKwkJCWNvbnRpbnVlOworCQlyYWRlb25fZW5jb2RlciA9IHRvX3JhZGVvbl9lbmNvZGVyKGVu Y29kZXIpOworCQlkaWcgPSByYWRlb25fZW5jb2Rlci0+ZW5jX3ByaXY7CisJCWlmICghZGlnLT5w aW4gfHwgZGlnLT5waW4tPmlkICE9IHBvcnQpCisJCQljb250aW51ZTsKKwkJY29ubmVjdG9yID0g cmFkZW9uX2dldF9jb25uZWN0b3JfZm9yX2VuY29kZXIoZW5jb2Rlcik7CisJCSplbmFibGVkID0g ISFjb25uZWN0b3I7CisJCWlmIChjb25uZWN0b3IpIHsKKwkJCXJldCA9IGRybV9lbGRfc2l6ZShj b25uZWN0b3ItPmVsZCk7CisJCQltZW1jcHkoYnVmLCBjb25uZWN0b3ItPmVsZCwgbWluKG1heF9i eXRlcywgcmV0KSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiByZXQ7Cit9CisKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudF9vcHMgcmFkZW9uX2F1ZGlvX2Nv bXBvbmVudF9vcHMgPSB7CisJLmdldF9lbGQgPSByYWRlb25fYXVkaW9fY29tcG9uZW50X2dldF9l bGQsCit9OworCitzdGF0aWMgaW50IHJhZGVvbl9hdWRpb19jb21wb25lbnRfYmluZChzdHJ1Y3Qg ZGV2aWNlICprZGV2LAorCQkJCSAgICAgICBzdHJ1Y3QgZGV2aWNlICpoZGFfa2Rldiwgdm9pZCAq ZGF0YSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X2dldF9kcnZkYXRhKGtkZXYp OworCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1 Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAgPSBkYXRhOworCisJYWNvbXAtPm9wcyA9ICZy YWRlb25fYXVkaW9fY29tcG9uZW50X29wczsKKwlhY29tcC0+ZGV2ID0ga2RldjsKKwlyZGV2LT5h dWRpby5jb21wb25lbnQgPSBhY29tcDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcmFk ZW9uX2F1ZGlvX2NvbXBvbmVudF91bmJpbmQoc3RydWN0IGRldmljZSAqa2RldiwKKwkJCQkJICBz dHJ1Y3QgZGV2aWNlICpoZGFfa2Rldiwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gZGV2X2dldF9kcnZkYXRhKGtkZXYpOworCXN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudCAqYWNv bXAgPSBkYXRhOworCisJYWNvbXAtPm9wcyA9IE5VTEw7CisJYWNvbXAtPmRldiA9IE5VTEw7CisJ cmRldi0+YXVkaW8uY29tcG9uZW50ID0gTlVMTDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBj b21wb25lbnRfb3BzIHJhZGVvbl9hdWRpb19jb21wb25lbnRfYmluZF9vcHMgPSB7CisJLmJpbmQJ PSByYWRlb25fYXVkaW9fY29tcG9uZW50X2JpbmQsCisJLnVuYmluZAk9IHJhZGVvbl9hdWRpb19j b21wb25lbnRfdW5iaW5kLAorfTsKKwogc3RhdGljIGludCByYWRlb25fYXVkaW9fY2hpcHNldF9z dXBwb3J0ZWQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiB7CiAJcmV0dXJuIEFTSUNfSVNf RENFMihyZGV2KSAmJiAhQVNJQ19JU19OT0RDRShyZGV2KTsKQEAgLTMzOCw2ICs0MDksOSBAQCBp bnQgcmFkZW9uX2F1ZGlvX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJZm9yIChp ID0gMDsgaSA8IHJkZXYtPmF1ZGlvLm51bV9waW5zOyBpKyspCiAJCXJhZGVvbl9hdWRpb19lbmFi bGUocmRldiwgJnJkZXYtPmF1ZGlvLnBpbltpXSwgMCk7CiAKKwlpZiAoIWNvbXBvbmVudF9hZGQo cmRldi0+ZGV2LCAmcmFkZW9uX2F1ZGlvX2NvbXBvbmVudF9iaW5kX29wcykpCisJCXJkZXYtPmF1 ZGlvLmNvbXBvbmVudF9yZWdpc3RlcmVkID0gdHJ1ZTsKKwogCXJldHVybiAwOwogfQogCkBAIC00 OTAsNiArNTY0LDExIEBAIHZvaWQgcmFkZW9uX2F1ZGlvX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYpCiAJCXJhZGVvbl9hdWRpb19lbmFibGUocmRldiwgJnJkZXYtPmF1ZGlvLnBpbltp XSwgMCk7CiAKIAlyZGV2LT5hdWRpby5lbmFibGVkID0gZmFsc2U7CisKKwlpZiAocmRldi0+YXVk aW8uY29tcG9uZW50X3JlZ2lzdGVyZWQpIHsKKwkJY29tcG9uZW50X2RlbChyZGV2LT5kZXYsICZy YWRlb25fYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzKTsKKwkJcmRldi0+YXVkaW8uY29tcG9uZW50 X3JlZ2lzdGVyZWQgPSBmYWxzZTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIHJhZGVvbl9hdWRpb19z ZXRfZHRvKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgdW5zaWduZWQgaW50IGNsb2NrKQot LSAKMi4xOC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK