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