[Intel-gfx] [PATCH] Revert "ALSA: hda - Fix intermittent CORB/RIRB stall on Intel chips"
Chris Wilson
chris at chris-wilson.co.uk
Thu Jul 25 12:50:18 UTC 2019
Quoting Takashi Iwai (2019-07-25 11:44:08)
> On Thu, 25 Jul 2019 12:21:11 +0200,
> Chris Wilson wrote:
> >
> > Quoting Chris Wilson (2019-07-25 09:30:25)
> > > Quoting Takashi Iwai (2019-07-25 09:26:56)
> > > > On Thu, 25 Jul 2019 10:16:07 +0200,
> > > > Takashi Iwai wrote:
> > > > >
> > > > > On Thu, 25 Jul 2019 10:03:00 +0200,
> > > > > Chris Wilson wrote:
> > > > > >
> > > > > > Just a heads up that icl is consistently showing
> > > > > >
> > > > > > <4> [315.478830] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x202f8100
> > > > > > <4> [316.482799] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x202f8100
> > > > > > <3> [508.412915] snd_hda_codec_hdmi hdaudioC0D2: Unable to sync register 0x2f8100. -11
> > > > > >
> > > > > > following commits 2756d9143aa5 ("ALSA: hda - Fix intermittent CORB/RIRB
> > > > > > stall on Intel chips") and a30f1743e4f5 ("ALSA: line6: sizeof (byte) is
> > > > > > always 1, use that fact.")
> > > > >
> > > > > The verb that stalls (0x202f8100) is a read verb (0xf81, Intel
> > > > > vendor-specific verb for HDMI), so it shouldn't matter whether with or
> > > > > without write sync, because it needs to read the response in anyway.
> > > > >
> > > > > If that patch broke anything, it means that something else was already
> > > > > broken. Oh well, that ICL crap...
> > > > >
> > > > > Is it about the runtime PM, or S3 or S4? The only case we need to
> > > > > re-issue this verb is only S4, I suppose, so we may skip that in most
> > > > > cases.
> > > >
> > > > Now checking the code, and I believe the workaround applied there can
> > > > be skipped for non-Haswell chips. Could you try the patch below in
> > > > addition?
> > >
> > > Due to the way patchwork works, this patch will now be tested instead of
> > > the revert. So watch this space.
> >
> > Sadly, no change. Patchwork definitely lists this patch as being the one
> > tested, but maybe send it separately just in case.
>
> Hm, does the error indicate the same message ("last cmd=0x202f8100")?
> If yes, we might need another workaround. This is a special verb for
> Intel with some black magic to communicate with GPU. The tweak via
> this verb is needed for other platforms to assure the enablement of
> all pins and DP 1.2, but it might be incorrect for ICL.
>
> Can anyone at Intel check whether the verb (0x781/0xf81) is still
> valid for ICL?
>
> Anyways below is a patch to leave the verb access for ICL.
> Let's see...
>
>
> thanks,
>
> Takashi
>
> -- 8< --
> From: Takashi Iwai <tiwai at suse.de>
> Subject: [PATCH] ALSA: hda/hdmi - Don't apply black magic to Icelake HDMI
> codecs
>
> The Intel-specific verb to enable all pins and DP 1.2 seems causing a
> problem on ICL by some reason. Skip applying the verb for ICL as a
> workaround.
Hmm. Nothing with icl-hda managed to boot. Coincidence?
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> ---
> sound/pci/hda/patch_hdmi.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 2096993eaf28..7e8236e5eac0 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -2804,12 +2804,15 @@ static int intel_hsw_common_init(struct hda_codec *codec, hda_nid_t vendor_nid,
> spec->port_map = port_map;
> spec->port_num = port_num;
>
> - intel_haswell_enable_all_pins(codec, true);
> - intel_haswell_fixup_enable_dp12(codec);
> + if (!is_icelake(codec)) {
> + intel_haswell_enable_all_pins(codec, true);
> + intel_haswell_fixup_enable_dp12(codec);
> + }
>
> codec->display_power_control = 1;
>
> - codec->patch_ops.set_power_state = haswell_set_power_state;
> + if (!is_icelake(codec))
> + codec->patch_ops.set_power_state = haswell_set_power_state;
> codec->depop_delay = 0;
> codec->auto_runtime_pm = 1;
>
> --
> 2.16.4
>
>
More information about the Intel-gfx
mailing list