From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: [PATCH 5/7] ALSA: hda - Use component ops for i915 HDMI/DP audio jack handling Date: Mon, 30 Nov 2015 14:37:49 +0100 Message-ID: <1448890671-2983-6-git-send-email-tiwai@suse.de> References: <1448890671-2983-1-git-send-email-tiwai@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7909589C1E for ; Mon, 30 Nov 2015 05:38:05 -0800 (PST) In-Reply-To: <1448890671-2983-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 , Daniel Vetter , David Henningsson List-Id: intel-gfx@lists.freedesktop.org U2luY2Ugd2UgaGF2ZSBhIG5ldyBhdWRpbyBjb21wb25lbnQgb3BzIHRvIGZldGNoIHRoZSBjdXJy ZW50IEVMRCBhbmQKc3RhdGUgbm93LCB3ZSBjYW4gcmVkdWNlIHRoZSB1c2FnZSBvZiB1bnNvbCBl dmVudCBvZiBIRE1JL0RQIHBpbnMuClRoZSB1bnNvbCBldmVudCBpc24ndCBvbmx5IHVucmVsaWFi bGUsIGJ1dCBpdCBhbHNvIG5lZWRzIHRoZSBwb3dlcgp1cC9kb3duIG9mIHRoZSBjb2RlYyBhbmQg bGluayBhdCBlYWNoIHRpbWUsIHdoaWNoIGlzIGEgc2lnbmlmaWNhbnQKcG93ZXIgYW5kIHRpbWUg bG9zcy4KCkluIHRoaXMgcGF0Y2gsIHRoZSBqYWNrIGNyZWF0aW9uIGFuZCB1bnNvbC9qYWNrIGV2 ZW50IGhhbmRsaW5nIGFyZQptb2RpZmllZCB0byB1c2UgdGhlIGF1ZGlvIGNvbXBvbmVudCBmb3Ig dGhlIGRlZGljYXRlZCBJbnRlbCBjaGlwcy4KClRoZSBqYWNrIGhhbmRsaW5nIGdvdCBzbGlnaHRs eSBtb3JlIGNvZGVzIHRoYW4gYSBzaW1wbGUgdXNhZ2Ugb2YKaGRhX2phY2sgbGF5ZXIgc2luY2Ug d2UgbmVlZCB0byBkZWFsIGRpcmVjdGx5IHdpdGggc25kX2phY2sgb2JqZWN0Owp0aGUgaGRhX2ph Y2sgbGF5ZXIgaXMgYmFzaWNhbGx5IGRlc2lnbmVkIGZvciB0aGUgcGluIHNlbnNlIHJlYWQgYW5k CnVuc29sIGV2ZW50cywgYm90aCBvZiB3aGljaCBhcmVuJ3QgdXNlZCBhbnkgbG9uZ2VyIGluIG91 ciBjYXNlLgoKU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgotLS0K IHNvdW5kL3BjaS9oZGEvcGF0Y2hfaGRtaS5jIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9oZG1pLmMg Yi9zb3VuZC9wY2kvaGRhL3BhdGNoX2hkbWkuYwppbmRleCAyODY4NGFhODY0MDguLjgzNzhjMzFl MGI0ZiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9oZG1pLmMKKysrIGIvc291bmQv cGNpL2hkYS9wYXRjaF9oZG1pLmMKQEAgLTgzLDYgKzgzLDcgQEAgc3RydWN0IGhkbWlfc3BlY19w ZXJfcGluIHsKIAlzdHJ1Y3QgbXV0ZXggbG9jazsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIHdvcms7 CiAJc3RydWN0IHNuZF9rY29udHJvbCAqZWxkX2N0bDsKKwlzdHJ1Y3Qgc25kX2phY2sgKmFjb21w X2phY2s7IC8qIGphY2sgdmlhIGF1ZGlvIGNvbXBvbmVudCAqLwogCWludCByZXBvbGxfY291bnQ7 CiAJYm9vbCBzZXR1cDsgLyogdGhlIHN0cmVhbSBoYXMgYmVlbiBzZXQgdXAgYnkgcHJlcGFyZSBj YWxsYmFjayAqLwogCWludCBjaGFubmVsczsgLyogY3VycmVudCBudW1iZXIgb2YgY2hhbm5lbHMg Ki8KQEAgLTE0MSw2ICsxNDIsNyBAQCBzdHJ1Y3QgaGRtaV9zcGVjIHsKIAlzdHJ1Y3QgaGRtaV9v cHMgb3BzOwogCiAJYm9vbCBkeW5fcGluX291dDsKKwlib29sIHVzZV9hY29tcDsgLyogdXNlIGF1 ZGlvIGNvbXBvbmVudCBmb3IgRUxEIG5vdGlmeS91cGRhdGUgKi8KIAogCS8qCiAJICogTm9uLWdl bmVyaWMgVklBL05WSURJQSBzcGVjaWZpYwpAQCAtMTU4MCw2ICsxNTgyLDkgQEAgc3RhdGljIHZv aWQgdXBkYXRlX2VsZChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKIAkJCSAgICAgICAmcGVyX3Bp bi0+ZWxkX2N0bC0+aWQpOwogfQogCitzdGF0aWMgdm9pZCBzeW5jX2VsZF92aWFfYWNvbXAoc3Ry dWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkgICAgICAgc3RydWN0IGhkbWlfc3BlY19wZXJfcGlu ICpwZXJfcGluKTsKKwogc3RhdGljIGJvb2wgaGRtaV9wcmVzZW50X3NlbnNlKHN0cnVjdCBoZG1p X3NwZWNfcGVyX3BpbiAqcGVyX3BpbiwgaW50IHJlcG9sbCkKIHsKIAlzdHJ1Y3QgaGRhX2phY2tf dGJsICpqYWNrOwpAQCAtMTU5OSw2ICsxNjA0LDExIEBAIHN0YXRpYyBib29sIGhkbWlfcHJlc2Vu dF9zZW5zZShzdHJ1Y3QgaGRtaV9zcGVjX3Blcl9waW4gKnBlcl9waW4sIGludCByZXBvbGwpCiAJ aW50IHByZXNlbnQ7CiAJYm9vbCByZXQ7CiAKKwlpZiAoc3BlYy0+dXNlX2Fjb21wKSB7CisJCXN5 bmNfZWxkX3ZpYV9hY29tcChjb2RlYywgcGVyX3Bpbik7CisJCXJldHVybiBmYWxzZTsgLyogZG9u J3QgY2FsbCBzbmRfaGRhX2phY2tfcmVwb3J0X3N5bmMoKSAqLworCX0KKwogCXNuZF9oZGFfcG93 ZXJfdXBfcG0oY29kZWMpOwogCXByZXNlbnQgPSBzbmRfaGRhX3Bpbl9zZW5zZShjb2RlYywgcGlu X25pZCk7CiAKQEAgLTIwOTEsNiArMjEwMSw2OCBAQCBzdGF0aWMgaW50IGdlbmVyaWNfaGRtaV9i dWlsZF9wY21zKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQogCXJldHVybiAwOwogfQogCisvKiB1 cGRhdGUgRUxEIGFuZCBqYWNrIHN0YXRlIHZpYSBhdWRpbyBjb21wb25lbnQgKi8KK3N0YXRpYyB2 b2lkIHN5bmNfZWxkX3ZpYV9hY29tcChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKKwkJCSAgICAg ICBzdHJ1Y3QgaGRtaV9zcGVjX3Blcl9waW4gKnBlcl9waW4pCit7CisJc3RydWN0IGk5MTVfYXVk aW9fY29tcG9uZW50ICphY29tcCA9IGNvZGVjLT5idXMtPmNvcmUuYXVkaW9fY29tcG9uZW50Owor CXN0cnVjdCBoZG1pX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKKwlzdHJ1Y3QgaGRtaV9lbGQg KmVsZCA9ICZzcGVjLT50ZW1wX2VsZDsKKwlpbnQgc2l6ZTsKKworCWlmIChhY29tcCAmJiBhY29t cC0+b3BzICYmIGFjb21wLT5vcHMtPmdldF9lbGQpIHsKKwkJbXV0ZXhfbG9jaygmcGVyX3Bpbi0+ bG9jayk7CisJCXNpemUgPSBhY29tcC0+b3BzLT5nZXRfZWxkKGFjb21wLT5kZXYsCisJCQkJCSAg IGludGVsX3BpbjJwb3J0KHBlcl9waW4tPnBpbl9uaWQpLAorCQkJCQkgICAmZWxkLT5tb25pdG9y X3ByZXNlbnQsCisJCQkJCSAgIGVsZC0+ZWxkX2J1ZmZlciwKKwkJCQkJICAgRUxEX01BWF9TSVpF KTsKKwkJaWYgKHNpemUgPiAwKSB7CisJCQltZW1zZXQoJmVsZC0+aW5mbywgMCwgc2l6ZW9mKGVs ZC0+aW5mbykpOworCQkJaWYgKHNuZF9oZG1pX3BhcnNlX2VsZChjb2RlYywgJmVsZC0+aW5mbywK KwkJCQkJICAgICAgIGVsZC0+ZWxkX2J1ZmZlciwgc2l6ZSkgPCAwKQorCQkJCXNpemUgPSAtRUlO VkFMOworCQl9CisKKwkJaWYgKHNpemUgPiAwKSB7CisJCQllbGQtPmVsZF92YWxpZCA9IHRydWU7 CisJCQllbGQtPmVsZF9zaXplID0gc2l6ZTsKKwkJfSBlbHNlIHsKKwkJCWVsZC0+ZWxkX3ZhbGlk ID0gZmFsc2U7CisJCQllbGQtPmVsZF9zaXplID0gMDsKKwkJfQorCisJCXVwZGF0ZV9lbGQoY29k ZWMsIHBlcl9waW4sIGVsZCk7CisJCXNuZF9qYWNrX3JlcG9ydChwZXJfcGluLT5hY29tcF9qYWNr LAorCQkJCWVsZC0+bW9uaXRvcl9wcmVzZW50ID8gU05EX0pBQ0tfQVZPVVQgOiAwKTsKKwkJbXV0 ZXhfdW5sb2NrKCZwZXJfcGluLT5sb2NrKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfYWNv bXBfamFja19wcml2KHN0cnVjdCBzbmRfamFjayAqamFjaykKK3sKKwlzdHJ1Y3QgaGRtaV9zcGVj X3Blcl9waW4gKnBlcl9waW4gPSBqYWNrLT5wcml2YXRlX2RhdGE7CisKKwlwZXJfcGluLT5hY29t cF9qYWNrID0gTlVMTDsKK30KKworc3RhdGljIGludCBhZGRfYWNvbXBfamFja19rY3RsKHN0cnVj dCBoZGFfY29kZWMgKmNvZGVjLAorCQkJICAgICAgIHN0cnVjdCBoZG1pX3NwZWNfcGVyX3BpbiAq cGVyX3BpbiwKKwkJCSAgICAgICBjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBzbmRfamFj ayAqamFjazsKKwlpbnQgZXJyOworCisJZXJyID0gc25kX2phY2tfbmV3KGNvZGVjLT5jYXJkLCBu YW1lLCBTTkRfSkFDS19BVk9VVCwgJmphY2ssCisJCQkgICB0cnVlLCBmYWxzZSk7CisJaWYgKGVy ciA8IDApCisJCXJldHVybiBlcnI7CisJcGVyX3Bpbi0+YWNvbXBfamFjayA9IGphY2s7CisJamFj ay0+cHJpdmF0ZV9kYXRhID0gcGVyX3BpbjsKKwlqYWNrLT5wcml2YXRlX2ZyZWUgPSBmcmVlX2Fj b21wX2phY2tfcHJpdjsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBnZW5lcmljX2hkbWlf YnVpbGRfamFjayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywgaW50IHBpbl9pZHgpCiB7CiAJY2hh ciBoZG1pX3N0clszMl0gPSAiSERNSS9EUCI7CkBAIC0yMTAxLDYgKzIxNzMsOCBAQCBzdGF0aWMg aW50IGdlbmVyaWNfaGRtaV9idWlsZF9qYWNrKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLCBpbnQg cGluX2lkeCkKIAogCWlmIChwY21kZXYgPiAwKQogCQlzcHJpbnRmKGhkbWlfc3RyICsgc3RybGVu KGhkbWlfc3RyKSwgIixwY209JWQiLCBwY21kZXYpOworCWlmIChzcGVjLT51c2VfYWNvbXApCisJ CXJldHVybiBhZGRfYWNvbXBfamFja19rY3RsKGNvZGVjLCBwZXJfcGluLCBoZG1pX3N0cik7CiAJ cGhhbnRvbV9qYWNrID0gIWlzX2phY2tfZGV0ZWN0YWJsZShjb2RlYywgcGVyX3Bpbi0+cGluX25p ZCk7CiAJaWYgKHBoYW50b21famFjaykKIAkJc3RybmNhdChoZG1pX3N0ciwgIiBQaGFudG9tIiwK QEAgLTIxOTYsNiArMjI3MCw4IEBAIHN0YXRpYyBpbnQgZ2VuZXJpY19oZG1pX2luaXQoc3RydWN0 IGhkYV9jb2RlYyAqY29kZWMpCiAJCWhkYV9uaWRfdCBwaW5fbmlkID0gcGVyX3Bpbi0+cGluX25p ZDsKIAogCQloZG1pX2luaXRfcGluKGNvZGVjLCBwaW5fbmlkKTsKKwkJaWYgKHNwZWMtPnVzZV9h Y29tcCkKKwkJCWNvbnRpbnVlOwogCQlzbmRfaGRhX2phY2tfZGV0ZWN0X2VuYWJsZV9jYWxsYmFj ayhjb2RlYywgcGluX25pZCwKIAkJCWNvZGVjLT5qYWNrcG9sbF9pbnRlcnZhbCA+IDAgPyBqYWNr X2NhbGxiYWNrIDogTlVMTCk7CiAJfQpAQCAtMjIxOSw3ICsyMjk1LDcgQEAgc3RhdGljIHZvaWQg Z2VuZXJpY19oZG1pX2ZyZWUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCiAJc3RydWN0IGhkbWlf c3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOwogCWludCBwaW5faWR4OwogCi0JaWYgKGlzX2hhc3dl bGxfcGx1cyhjb2RlYykgfHwgaXNfdmFsbGV5dmlld19wbHVzKGNvZGVjKSkKKwlpZiAoc3BlYy0+ dXNlX2Fjb21wKQogCQlzbmRfaGRhY19pOTE1X3JlZ2lzdGVyX25vdGlmaWVyKE5VTEwpOwogCiAJ Zm9yIChwaW5faWR4ID0gMDsgcGluX2lkeCA8IHNwZWMtPm51bV9waW5zOyBwaW5faWR4KyspIHsK QEAgLTIyMjcsNiArMjMwMyw4IEBAIHN0YXRpYyB2b2lkIGdlbmVyaWNfaGRtaV9mcmVlKHN0cnVj dCBoZGFfY29kZWMgKmNvZGVjKQogCiAJCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmcGVyX3Bp bi0+d29yayk7CiAJCWVsZF9wcm9jX2ZyZWUocGVyX3Bpbik7CisJCWlmIChwZXJfcGluLT5hY29t cF9qYWNrKQorCQkJc25kX2RldmljZV9mcmVlKGNvZGVjLT5jYXJkLCBwZXJfcGluLT5hY29tcF9q YWNrKTsKIAl9CiAKIAloZG1pX2FycmF5X2ZyZWUoc3BlYyk7CkBAIC0yMzg4LDcgKzI0NjYsOSBA QCBzdGF0aWMgaW50IHBhdGNoX2dlbmVyaWNfaGRtaShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykK IAkJCWlzX2Jyb3h0b24oY29kZWMpKQogCQljb2RlYy0+Y29yZS5saW5rX3Bvd2VyX2NvbnRyb2wg PSAxOwogCi0JaWYgKGlzX2hhc3dlbGxfcGx1cyhjb2RlYykgfHwgaXNfdmFsbGV5dmlld19wbHVz KGNvZGVjKSkgeworCXNwZWMtPnVzZV9hY29tcCA9CisJCWlzX2hhc3dlbGxfcGx1cyhjb2RlYykg fHwgaXNfdmFsbGV5dmlld19wbHVzKGNvZGVjKTsKKwlpZiAoc3BlYy0+dXNlX2Fjb21wKSB7CiAJ CWNvZGVjLT5kZXBvcF9kZWxheSA9IDA7CiAJCXNwZWMtPmk5MTVfYXVkaW9fb3BzLmF1ZGlvX3B0 ciA9IGNvZGVjOwogCQlzcGVjLT5pOTE1X2F1ZGlvX29wcy5waW5fZWxkX25vdGlmeSA9IGludGVs X3Bpbl9lbGRfbm90aWZ5OwotLSAKMi42LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==