[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3346b62c3cd7e07766457c9140849a31d6d8775c.camel@icenowy.me>
Date: Mon, 08 Aug 2022 01:26:48 +0800
From: Icenowy Zheng <uwu@...nowy.me>
To: Cezary Rojewski <cezary.rojewski@...el.com>
Cc: alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Liam Girdwood <liam.r.girdwood@...ux.intel.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>
Subject: Re: [PATCH 2/2] ASoC: Intel: Skylake: try to get NHLT blob with PCM
params as fallback
在 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@...nowy.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;
> > }
> >
Download attachment "NHLT" of type "application/octet-stream" (6736 bytes)
Powered by blists - more mailing lists