From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: [PATCH v3 3/4] ALSA: hda - Use component ops for i915 HDMI/DP audio jack handling Date: Fri, 4 Dec 2015 18:12:48 +0100 Message-ID: <1449249169-20602-4-git-send-email-tiwai@suse.de> References: <1449249169-20602-1-git-send-email-tiwai@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1449249169-20602-1-git-send-email-tiwai@suse.de> 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, alsa-devel@alsa-project.org Cc: Mengdong Lin , Vinod Koul , David Henningsson , Daniel Vetter List-Id: alsa-devel@alsa-project.org U2luY2Ugd2UgaGF2ZSBhIG5ldyBhdWRpbyBjb21wb25lbnQgb3BzIHRvIGZldGNoIHRoZSBjdXJy ZW50IEVMRCBhbmQKc3RhdGUgbm93LCB3ZSBjYW4gcmVkdWNlIHRoZSB1c2FnZSBvZiB1bnNvbCBl dmVudCBvZiBIRE1JL0RQIHBpbnMuClRoZSB1bnNvbCBldmVudCBpc24ndCBvbmx5IHVucmVsaWFi bGUsIGJ1dCBpdCBhbHNvIG5lZWRzIHRoZSBwb3dlcgp1cC9kb3duIG9mIHRoZSBjb2RlYyBhbmQg bGluayBhdCBlYWNoIHRpbWUsIHdoaWNoIGlzIGEgc2lnbmlmaWNhbnQKcG93ZXIgYW5kIHRpbWUg bG9zcy4KCkluIHRoaXMgcGF0Y2gsIHRoZSBqYWNrIGNyZWF0aW9uIGFuZCB1bnNvbC9qYWNrIGV2 ZW50IGhhbmRsaW5nIGFyZQptb2RpZmllZCB0byB1c2UgdGhlIGF1ZGlvIGNvbXBvbmVudCBmb3Ig dGhlIGRlZGljYXRlZCBJbnRlbCBjaGlwcy4KClRoZSBqYWNrIGhhbmRsaW5nIGdvdCBzbGlnaHRs eSBtb3JlIGNvZGVzIHRoYW4gYSBzaW1wbGUgdXNhZ2Ugb2YKaGRhX2phY2sgbGF5ZXIgc2luY2Ug d2UgbmVlZCB0byBkZWFsIGRpcmVjdGx5IHdpdGggc25kX2phY2sgb2JqZWN0Owp0aGUgaGRhX2ph Y2sgbGF5ZXIgaXMgYmFzaWNhbGx5IGRlc2lnbmVkIGZvciB0aGUgcGluIHNlbnNlIHJlYWQgYW5k CnVuc29sIGV2ZW50cywgYm90aCBvZiB3aGljaCBhcmVuJ3QgdXNlZCBhbnkgbG9uZ2VyIGluIG91 ciBjYXNlLgoKU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgotLS0K djItPnYzOgoqIEFkYXB0IHRoZSBlYXJsaWVyIGFwcGxpZWQgcHJlbGltaW5hcnkgcGF0Y2hlcwoq IERpcmVjdCBpbnZvY2F0aW9uIG9mIGdldF9lbGQgbm93IGluc3RlYWQgb2YgZGVmZXJyZWQgY2Fs bCwgYXMgd2UKICBoYXZlIG5vIGxvbmdlciBkZWFkbG9ja3MKCiBzb3VuZC9wY2kvaGRhL3BhdGNo X2hkbWkuYyB8IDExMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX2hkbWkuYyBiL3NvdW5kL3BjaS9oZGEvcGF0 Y2hfaGRtaS5jCmluZGV4IDg1MzQyZDI2MTA0My4uNjFmMDA0YTczNTkwIDEwMDY0NAotLS0gYS9z b3VuZC9wY2kvaGRhL3BhdGNoX2hkbWkuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2hkbWku YwpAQCAtODMsNiArODMsNyBAQCBzdHJ1Y3QgaGRtaV9zcGVjX3Blcl9waW4gewogCXN0cnVjdCBt dXRleCBsb2NrOwogCXN0cnVjdCBkZWxheWVkX3dvcmsgd29yazsKIAlzdHJ1Y3Qgc25kX2tjb250 cm9sICplbGRfY3RsOworCXN0cnVjdCBzbmRfamFjayAqYWNvbXBfamFjazsgLyogamFjayB2aWEg YXVkaW8gY29tcG9uZW50ICovCiAJaW50IHJlcG9sbF9jb3VudDsKIAlib29sIHNldHVwOyAvKiB0 aGUgc3RyZWFtIGhhcyBiZWVuIHNldCB1cCBieSBwcmVwYXJlIGNhbGxiYWNrICovCiAJaW50IGNo YW5uZWxzOyAvKiBjdXJyZW50IG51bWJlciBvZiBjaGFubmVscyAqLwpAQCAtMTQzNyw2ICsxNDM4 LDE3IEBAIHN0YXRpYyB2b2lkIGludGVsX25vdF9zaGFyZV9hc3NpZ25lZF9jdnQoc3RydWN0IGhk YV9jb2RlYyAqY29kZWMsCiAJfQogfQogCisvKiBUaGVyZSBpcyBhIGZpeGVkIG1hcHBpbmcgYmV0 d2VlbiBhdWRpbyBwaW4gbm9kZSBhbmQgZGlzcGxheSBwb3J0CisgKiBvbiBjdXJyZW50IEludGVs IHBsYXRmb3JtczoKKyAqIFBpbiBXaWRnZXQgNSAtIFBPUlQgQiAocG9ydCA9IDEgaW4gaTkxNSBk cml2ZXIpCisgKiBQaW4gV2lkZ2V0IDYgLSBQT1JUIEMgKHBvcnQgPSAyIGluIGk5MTUgZHJpdmVy KQorICogUGluIFdpZGdldCA3IC0gUE9SVCBEIChwb3J0ID0gMyBpbiBpOTE1IGRyaXZlcikKKyAq Lworc3RhdGljIGludCBpbnRlbF9waW4ycG9ydChoZGFfbmlkX3QgcGluX25pZCkKK3sKKwlyZXR1 cm4gcGluX25pZCAtIDQ7Cit9CisKIC8qCiAgKiBIREEgUENNIGNhbGxiYWNrcwogICovCkBAIC0x NTgyLDcgKzE1OTQsOSBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfZWxkKHN0cnVjdCBoZGFfY29kZWMg KmNvZGVjLAogCQkJICAgICAgICZwZXJfcGluLT5lbGRfY3RsLT5pZCk7CiB9CiAKLXN0YXRpYyBi b29sIGhkbWlfcHJlc2VudF9zZW5zZShzdHJ1Y3QgaGRtaV9zcGVjX3Blcl9waW4gKnBlcl9waW4s IGludCByZXBvbGwpCisvKiB1cGRhdGUgRUxEIGFuZCBqYWNrIHN0YXRlIHZpYSBIRC1hdWRpbyB2 ZXJicyAqLworc3RhdGljIGJvb2wgaGRtaV9wcmVzZW50X3NlbnNlX3ZpYV92ZXJicyhzdHJ1Y3Qg aGRtaV9zcGVjX3Blcl9waW4gKnBlcl9waW4sCisJCQkJCSBpbnQgcmVwb2xsKQogewogCXN0cnVj dCBoZGFfamFja190YmwgKmphY2s7CiAJc3RydWN0IGhkYV9jb2RlYyAqY29kZWMgPSBwZXJfcGlu LT5jb2RlYzsKQEAgLTE2NDIsNiArMTY1Niw1NiBAQCBzdGF0aWMgYm9vbCBoZG1pX3ByZXNlbnRf c2Vuc2Uoc3RydWN0IGhkbWlfc3BlY19wZXJfcGluICpwZXJfcGluLCBpbnQgcmVwb2xsKQogCXJl dHVybiByZXQ7CiB9CiAKKy8qIHVwZGF0ZSBFTEQgYW5kIGphY2sgc3RhdGUgdmlhIGF1ZGlvIGNv bXBvbmVudCAqLworc3RhdGljIHZvaWQgc3luY19lbGRfdmlhX2Fjb21wKHN0cnVjdCBoZGFfY29k ZWMgKmNvZGVjLAorCQkJICAgICAgIHN0cnVjdCBoZG1pX3NwZWNfcGVyX3BpbiAqcGVyX3BpbikK K3sKKwlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFjb21wID0gY29kZWMtPmJ1cy0+Y29y ZS5hdWRpb19jb21wb25lbnQ7CisJc3RydWN0IGhkbWlfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVj OworCXN0cnVjdCBoZG1pX2VsZCAqZWxkID0gJnNwZWMtPnRlbXBfZWxkOworCWludCBzaXplOwor CisJaWYgKGFjb21wICYmIGFjb21wLT5vcHMgJiYgYWNvbXAtPm9wcy0+Z2V0X2VsZCkgeworCQlt dXRleF9sb2NrKCZwZXJfcGluLT5sb2NrKTsKKwkJc2l6ZSA9IGFjb21wLT5vcHMtPmdldF9lbGQo YWNvbXAtPmRldiwKKwkJCQkJICAgaW50ZWxfcGluMnBvcnQocGVyX3Bpbi0+cGluX25pZCksCisJ CQkJCSAgICZlbGQtPm1vbml0b3JfcHJlc2VudCwKKwkJCQkJICAgZWxkLT5lbGRfYnVmZmVyLAor CQkJCQkgICBFTERfTUFYX1NJWkUpOworCQlpZiAoc2l6ZSA+IDApIHsKKwkJCXNpemUgPSBtaW4o c2l6ZSwgRUxEX01BWF9TSVpFKTsKKwkJCWlmIChzbmRfaGRtaV9wYXJzZV9lbGQoY29kZWMsICZl bGQtPmluZm8sCisJCQkJCSAgICAgICBlbGQtPmVsZF9idWZmZXIsIHNpemUpIDwgMCkKKwkJCQlz aXplID0gLUVJTlZBTDsKKwkJfQorCisJCWlmIChzaXplID4gMCkgeworCQkJZWxkLT5lbGRfdmFs aWQgPSB0cnVlOworCQkJZWxkLT5lbGRfc2l6ZSA9IHNpemU7CisJCX0gZWxzZSB7CisJCQllbGQt PmVsZF92YWxpZCA9IGZhbHNlOworCQkJZWxkLT5lbGRfc2l6ZSA9IDA7CisJCX0KKworCQl1cGRh dGVfZWxkKGNvZGVjLCBwZXJfcGluLCBlbGQpOworCQlzbmRfamFja19yZXBvcnQocGVyX3Bpbi0+ YWNvbXBfamFjaywKKwkJCQllbGQtPm1vbml0b3JfcHJlc2VudCA/IFNORF9KQUNLX0FWT1VUIDog MCk7CisJCW11dGV4X3VubG9jaygmcGVyX3Bpbi0+bG9jayk7CisJfQorfQorCitzdGF0aWMgYm9v bCBoZG1pX3ByZXNlbnRfc2Vuc2Uoc3RydWN0IGhkbWlfc3BlY19wZXJfcGluICpwZXJfcGluLCBp bnQgcmVwb2xsKQoreworCXN0cnVjdCBoZGFfY29kZWMgKmNvZGVjID0gcGVyX3Bpbi0+Y29kZWM7 CisKKwlpZiAoY29kZWNfaGFzX2Fjb21wKGNvZGVjKSkgeworCQlzeW5jX2VsZF92aWFfYWNvbXAo Y29kZWMsIHBlcl9waW4pOworCQlyZXR1cm4gZmFsc2U7IC8qIGRvbid0IGNhbGwgc25kX2hkYV9q YWNrX3JlcG9ydF9zeW5jKCkgKi8KKwl9IGVsc2UgeworCQlyZXR1cm4gaGRtaV9wcmVzZW50X3Nl bnNlX3ZpYV92ZXJicyhwZXJfcGluLCByZXBvbGwpOworCX0KK30KKwogc3RhdGljIHZvaWQgaGRt aV9yZXBvbGxfZWxkKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgaGRtaV9z cGVjX3Blcl9waW4gKnBlcl9waW4gPQpAQCAtMTc3NywxNyArMTg0MSw2IEBAIHN0YXRpYyBib29s IGNoZWNrX25vbl9wY21fcGVyX2N2dChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywgaGRhX25pZF90 IGN2dF9uaWQpCiAJcmV0dXJuIG5vbl9wY207CiB9CiAKLS8qIFRoZXJlIGlzIGEgZml4ZWQgbWFw cGluZyBiZXR3ZWVuIGF1ZGlvIHBpbiBub2RlIGFuZCBkaXNwbGF5IHBvcnQKLSAqIG9uIGN1cnJl bnQgSW50ZWwgcGxhdGZvcm1zOgotICogUGluIFdpZGdldCA1IC0gUE9SVCBCIChwb3J0ID0gMSBp biBpOTE1IGRyaXZlcikKLSAqIFBpbiBXaWRnZXQgNiAtIFBPUlQgQyAocG9ydCA9IDIgaW4gaTkx NSBkcml2ZXIpCi0gKiBQaW4gV2lkZ2V0IDcgLSBQT1JUIEQgKHBvcnQgPSAzIGluIGk5MTUgZHJp dmVyKQotICovCi1zdGF0aWMgaW50IGludGVsX3BpbjJwb3J0KGhkYV9uaWRfdCBwaW5fbmlkKQot ewotCXJldHVybiBwaW5fbmlkIC0gNDsKLX0KLQogLyoKICAqIEhETUkgY2FsbGJhY2tzCiAgKi8K QEAgLTIwOTIsNiArMjE0NSwzMCBAQCBzdGF0aWMgaW50IGdlbmVyaWNfaGRtaV9idWlsZF9wY21z KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBm cmVlX2Fjb21wX2phY2tfcHJpdihzdHJ1Y3Qgc25kX2phY2sgKmphY2spCit7CisJc3RydWN0IGhk bWlfc3BlY19wZXJfcGluICpwZXJfcGluID0gamFjay0+cHJpdmF0ZV9kYXRhOworCisJcGVyX3Bp bi0+YWNvbXBfamFjayA9IE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgYWRkX2Fjb21wX2phY2tfa2N0 bChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKKwkJCSAgICAgICBzdHJ1Y3QgaGRtaV9zcGVjX3Bl cl9waW4gKnBlcl9waW4sCisJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3Qg c25kX2phY2sgKmphY2s7CisJaW50IGVycjsKKworCWVyciA9IHNuZF9qYWNrX25ldyhjb2RlYy0+ Y2FyZCwgbmFtZSwgU05EX0pBQ0tfQVZPVVQsICZqYWNrLAorCQkJICAgdHJ1ZSwgZmFsc2UpOwor CWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCXBlcl9waW4tPmFjb21wX2phY2sgPSBqYWNr OworCWphY2stPnByaXZhdGVfZGF0YSA9IHBlcl9waW47CisJamFjay0+cHJpdmF0ZV9mcmVlID0g ZnJlZV9hY29tcF9qYWNrX3ByaXY7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZ2VuZXJp Y19oZG1pX2J1aWxkX2phY2soc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsIGludCBwaW5faWR4KQog ewogCWNoYXIgaGRtaV9zdHJbMzJdID0gIkhETUkvRFAiOwpAQCAtMjEwMiw2ICsyMTc5LDggQEAg c3RhdGljIGludCBnZW5lcmljX2hkbWlfYnVpbGRfamFjayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2Rl YywgaW50IHBpbl9pZHgpCiAKIAlpZiAocGNtZGV2ID4gMCkKIAkJc3ByaW50ZihoZG1pX3N0ciAr IHN0cmxlbihoZG1pX3N0ciksICIscGNtPSVkIiwgcGNtZGV2KTsKKwlpZiAoY29kZWNfaGFzX2Fj b21wKGNvZGVjKSkKKwkJcmV0dXJuIGFkZF9hY29tcF9qYWNrX2tjdGwoY29kZWMsIHBlcl9waW4s IGhkbWlfc3RyKTsKIAlwaGFudG9tX2phY2sgPSAhaXNfamFja19kZXRlY3RhYmxlKGNvZGVjLCBw ZXJfcGluLT5waW5fbmlkKTsKIAlpZiAocGhhbnRvbV9qYWNrKQogCQlzdHJuY2F0KGhkbWlfc3Ry LCAiIFBoYW50b20iLApAQCAtMjE5Nyw4ICsyMjc2LDEwIEBAIHN0YXRpYyBpbnQgZ2VuZXJpY19o ZG1pX2luaXQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCiAJCWhkYV9uaWRfdCBwaW5fbmlkID0g cGVyX3Bpbi0+cGluX25pZDsKIAogCQloZG1pX2luaXRfcGluKGNvZGVjLCBwaW5fbmlkKTsKLQkJ c25kX2hkYV9qYWNrX2RldGVjdF9lbmFibGVfY2FsbGJhY2soY29kZWMsIHBpbl9uaWQsCi0JCQlj b2RlYy0+amFja3BvbGxfaW50ZXJ2YWwgPiAwID8gamFja19jYWxsYmFjayA6IE5VTEwpOworCQlp ZiAoIWNvZGVjX2hhc19hY29tcChjb2RlYykpCisJCQlzbmRfaGRhX2phY2tfZGV0ZWN0X2VuYWJs ZV9jYWxsYmFjayhjb2RlYywgcGluX25pZCwKKwkJCQljb2RlYy0+amFja3BvbGxfaW50ZXJ2YWwg PiAwID8KKwkJCQlqYWNrX2NhbGxiYWNrIDogTlVMTCk7CiAJfQogCXJldHVybiAwOwogfQpAQCAt MjIyOCw2ICsyMzA5LDggQEAgc3RhdGljIHZvaWQgZ2VuZXJpY19oZG1pX2ZyZWUoc3RydWN0IGhk YV9jb2RlYyAqY29kZWMpCiAKIAkJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZwZXJfcGluLT53 b3JrKTsKIAkJZWxkX3Byb2NfZnJlZShwZXJfcGluKTsKKwkJaWYgKHBlcl9waW4tPmFjb21wX2ph Y2spCisJCQlzbmRfZGV2aWNlX2ZyZWUoY29kZWMtPmNhcmQsIHBlcl9waW4tPmFjb21wX2phY2sp OwogCX0KIAogCWhkbWlfYXJyYXlfZnJlZShzcGVjKTsKLS0gCjIuNi4zCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=