[alsa-devel] HDAudio and pulse audio
Hi all,
I am working on sound open firmware in ASoC to enable HDAudio with pulse audio in ubuntu. There is a HDAudio codec driver hdac_hda.c in ASoC, which invokes HDAudio functions defined in sound/pci/hda, for ASoC to utilize the HDAudio codec. Now I get a issue: pulse audio can't detect headphone pluged or not.
Could anyone help to tell me about Jack detection flow in HDAudio and how does HDAudio work with pulse audio ? Does HDAudio report a event to pulse audio when headphone detected ? As I know, ASoC codec driver would invoke snd_soc_jack_report to notify user mode, how about HDAudio driver ?
Thanks!
Rander
On Thu, 25 Apr 2019 10:50:32 +0200, rander.wang wrote:
Hi all,
I am working on sound open firmware in ASoC to enable HDAudio with pulse audio in ubuntu. There is a HDAudio codec driver hdac_hda.c in ASoC, which invokes HDAudio functions defined in sound/pci/hda, for ASoC to utilize the HDAudio codec. Now I get a issue: pulse audio can't detect headphone pluged or not.
Could anyone help to tell me about Jack detection flow in HDAudio and how does HDAudio work with pulse audio ? Does HDAudio report a event to pulse audio when headphone detected ? As I know, ASoC codec driver would invoke snd_soc_jack_report to notify user mode, how about HDAudio driver ?
PA only sees the "XXX Jack" ALSA control notification, IIRC. And these controls are created by the HD-audio codec driver, and driven by the HD-audio unsolicited events.
So first off, check whether the jack detection really works on your chip by issuing the raw HD-audio verbs. If it's properly detected, check whether the unsolicited events are issued and processed. Then follow the code and see whether the "* Jack" control change is invoked.
HTH,
Takashi
participants (2)
-
rander.wang
-
Takashi Iwai