Re: [PATCH] ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.

From: Takashi Iwai
Date: Tue Apr 18 2023 - 05:45:33 EST


On Tue, 18 Apr 2023 10:33:12 +0200,
reaperli wrote:
>
> From: jasontao <jasontao@xxxxxxxxxxx>
>
> Add a set of HD Audio PCI IDS, and the HDMI codec vendor IDs for
> Glenfly Arise.
>
> Signed-off-by: jasontao <jasontao@xxxxxxxxxxx>
> Signed-off-by: reaperli <reaperlioc@xxxxxxxxxxx>

The patch looks OK now, but could you submit to alsa-devel ML at the
next time?

About details in the patch:

> @@ -1743,6 +1745,8 @@ static int default_bdl_pos_adj(struct azx *chip)
> }
>
> switch (chip->driver_type) {
> + case AZX_DRIVER_GFHDMI:
> + return 128;

So this looks pretty high in comparison with other chips.
It means that the actual position is much behind the reported
position. Due to a large FIFO? Or what reason?

> @@ -1859,6 +1863,9 @@ static int azx_first_init(struct azx *chip)
> }
> #endif
>
> + if (chip->driver_type == AZX_DRIVER_GFHDMI)
> + bus->polling_mode = 1;

This looks odd, too. Doesn't the hardware give any interrupt back
upon the CORB/RIRB response?

> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -4489,6 +4489,18 @@ static int patch_via_hdmi(struct hda_codec *codec)
> return patch_simple_hdmi(codec, VIAHDMI_CVT_NID, VIAHDMI_PIN_NID);
> }
>
> +static int patch_gf_hdmi(struct hda_codec *codec)
> +{
> + int err;
> +
> + err = patch_generic_hdmi(codec);
> + if (err)
> + return err;
> +
> + codec->no_sticky_stream = 1;

This hack is needed for what reason?


thanks,

Takashi