[PATCH 2/2] ASoC: Intel: Skylake: try to get NHLT blob with PCM params as fallback
Icenowy Zheng
uwu at icenowy.me
Sun Aug 7 19:26:48 CEST 2022
在 2022-08-02星期二的 12:30 +0200,Cezary Rojewski写道:
> On 2022-07-25 1:10 PM, Icenowy Zheng wrote:
> > Switching to use pipeline parameters to get NHLT blob breaks audio
> > on
> > HP Chromebook 13 G1 (at least with MrChromeBox firmware).
> >
> > Fix this by retrying to get NHLT blob with PCM parameters (which is
> > the
> > old behavior) if pipeline parameters fail.
> >
> > Fixes: 87b265260046 ("ASoC: Intel: Skylake: Select proper format
> > for NHLT blob")
> > Signed-off-by: Icenowy Zheng <uwu at icenowy.me>
>
> Hello,
>
>
> Could you share the NHLT file from your platform plus the format used
> by
> the cras/userspace tool? Did you try playing over simple aplay tool
> instead?
I tried 48000Hz 2ch 32bit with speaker-test.
Attached is /sys/firmware/acpi/tables/NHLT.
>
>
> > sound/soc/intel/skylake/skl-topology.c | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/sound/soc/intel/skylake/skl-topology.c
> > b/sound/soc/intel/skylake/skl-topology.c
> > index 19994ec8bba1..3d5a3ee1c82c 100644
> > --- a/sound/soc/intel/skylake/skl-topology.c
> > +++ b/sound/soc/intel/skylake/skl-topology.c
> > @@ -1858,6 +1858,15 @@ static int
> > skl_tplg_be_fill_pipe_params(struct snd_soc_dai *dai,
> > pipe_fmt->bps, params-
> > >s_cont,
> > pipe_fmt->channels,
> > pipe_fmt->freq,
> > pipe->direction, dev_type);
> > + if (!cfg) {
> > + /* Retry with PCM parameters, as the old behavior
> > */
>
> Drop the "old behavior" - most of the readers are not aware of what
> that
> actually means.
>
> > + cfg = intel_nhlt_get_endpoint_blob(dai->dev, skl-
> > >nhlt,
> > + mconfig->vbus_id,
> > link_type,
> > + params->s_fmt,
> > params->s_cont,
> > + params->ch, params-
> > >s_freq,
> > + params->stream,
> > dev_type);
> > + }
> > +
> > if (cfg) {
> > mconfig->formats_config[SKL_PARAM_INIT].caps_size =
> > cfg->size;
> > mconfig->formats_config[SKL_PARAM_INIT].caps = (u32
> > *)&cfg->caps;
> > @@ -1866,6 +1875,8 @@ static int
> > skl_tplg_be_fill_pipe_params(struct snd_soc_dai *dai,
> > mconfig->vbus_id, link_type, params-
> > >stream,
> > pipe_fmt->channels, pipe_fmt->freq,
> > pipe_fmt->bps);
> > + dev_err(dai->dev, "PCM: ch %d, freq %d, fmt %d\n",
> > + params->ch, params->s_freq, params->s_fmt);
> > return -EINVAL;
> > }
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: NHLT
Type: application/octet-stream
Size: 6736 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20220808/4c92a5b0/attachment.obj>
More information about the Alsa-devel
mailing list