Re: [PATCH v2] ALSA: hda/hdmi: Add quirk to force connectivity

From: Takashi Iwai
Date: Tue Aug 04 2020 - 10:07:30 EST


On Tue, 04 Aug 2020 15:48:00 +0200,
Kai-Heng Feng wrote:
>
> HDMI on some platforms doesn't enable audio support because its Port
> Connectivity [31:30] is set to AC_JACK_PORT_NONE:
> Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
> Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
> Amp-Out vals: [0x00 0x00]
> Pincap 0x0b000094: OUT Detect HBR HDMI DP
> Pin Default 0x58560010: [N/A] Digital Out at Int HDMI
> Conn = Digital, Color = Unknown
> DefAssociation = 0x1, Sequence = 0x0
> Pin-ctls: 0x40: OUT
> Unsolicited: tag=00, enabled=0
> Power states: D0 D3 EPSS
> Power: setting=D0, actual=D0
> Devices: 0
> Connection: 3
> 0x02 0x03* 0x04
>
> For now, use a quirk to force connectivity based on SSID. If there are
> more platforms affected by the same issue, we can eye for a more generic
> solution.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> ---
> v2:
> - Use a quirk list instead.

Thanks. It's almost good, but just one thing:

> --- a/include/sound/hda_codec.h
> +++ b/include/sound/hda_codec.h
> @@ -254,6 +254,7 @@ struct hda_codec {
> unsigned int link_down_at_suspend:1; /* link down at runtime suspend */
> unsigned int relaxed_resume:1; /* don't resume forcibly for jack */
> unsigned int mst_no_extra_pcms:1; /* no backup PCMs for DP-MST */
> + unsigned int force_connect:1; /* force connectivity */

I prefer adding the new flag to struct hda_spec. It's a HDMI-specific
flag and used only there.


Takashi