[PATCH 0/3] ASoC: SOF: minor updates for 5.20
One sanity check for SSP index reported by NHLT/BIOS and two updates for Mediatek and Intel Chromebooks related to already-merged firmware changes.
Ideally this should go in 5.20, time-permitting.
Brent Lu (1): ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON bit
Pierre-Louis Bossart (1): ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT
YC Hung (1): ASoC: SOF: Add cont_update_posn to platform parameters
include/sound/sof/dai-intel.h | 2 ++ include/uapi/sound/sof/abi.h | 2 +- sound/soc/sof/intel/hda.c | 7 +++++++ sound/soc/sof/ipc3-pcm.c | 3 +++ sound/soc/sof/sof-priv.h | 1 + 5 files changed, 14 insertions(+), 1 deletion(-)
We should have a limited trust in the BIOS and verify that the SSP index reported in NHLT is valid for each platform.
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Reviewed-by: Ranjani Sridharan ranjani.sridharan@linux.intel.com Reviewed-by: Bard Liao yung-chuan.liao@linux.intel.com --- sound/soc/sof/intel/hda.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index d337d55050e2..8639ea63a10d 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -1527,6 +1527,7 @@ struct snd_soc_acpi_mach *hda_machine_select(struct snd_sof_dev *sdev) if (tplg_fixup && mach->tplg_quirk_mask & SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER && mach->mach_params.i2s_link_mask) { + const struct sof_intel_dsp_desc *chip = get_chip_info(sdev->pdata); int ssp_num;
if (hweight_long(mach->mach_params.i2s_link_mask) > 1 && @@ -1536,6 +1537,12 @@ struct snd_soc_acpi_mach *hda_machine_select(struct snd_sof_dev *sdev) /* fls returns 1-based results, SSPs indices are 0-based */ ssp_num = fls(mach->mach_params.i2s_link_mask) - 1;
+ if (ssp_num >= chip->ssp_count) { + dev_err(sdev->dev, "Invalid SSP %d, max on this platform is %d\n", + ssp_num, chip->ssp_count); + return NULL; + } + tplg_filename = devm_kasprintf(sdev->dev, GFP_KERNEL, "%s%s%d", sof_pdata->tplg_filename,
From: YC Hung yc.hung@mediatek.com
Add cont_update_posn to platform parameters to support continue update position for platform.
Reviewed-by: Péter Ujfalusi peter.ujfalusi@linux.intel.com Reviewed-by: Ranjani Sridharan ranjani.sridharan@linux.intel.com Reviewed-by: Chao Song chao.song@intel.com Reviewed-by: Daniel Baluta daniel.baluta@nxp.com Signed-off-by: YC Hung yc.hung@mediatek.com Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com --- sound/soc/sof/ipc3-pcm.c | 3 +++ sound/soc/sof/sof-priv.h | 1 + 2 files changed, 4 insertions(+)
diff --git a/sound/soc/sof/ipc3-pcm.c b/sound/soc/sof/ipc3-pcm.c index b97e63d3724a..9c6a84bdeca7 100644 --- a/sound/soc/sof/ipc3-pcm.c +++ b/sound/soc/sof/ipc3-pcm.c @@ -115,6 +115,9 @@ static int sof_ipc3_pcm_hw_params(struct snd_soc_component *component, pcm.params.no_stream_position = 1; }
+ if (platform_params->cont_update_posn) + pcm.params.cont_update_posn = 1; + dev_dbg(component->dev, "stream_tag %d", pcm.params.stream_tag);
/* send hw_params IPC to the DSP */ diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h index 8bbc94907c62..823583086279 100644 --- a/sound/soc/sof/sof-priv.h +++ b/sound/soc/sof/sof-priv.h @@ -126,6 +126,7 @@ struct snd_sof_platform_stream_params { bool use_phy_address; u32 phy_addr; bool no_ipc_position; + bool cont_update_posn; };
/*
From: Brent Lu brent.lu@intel.com
Update definition for mclk always-on feature and increase the SOF_ABI_MINOR number for interface change.
Reviewed-by: Ranjani Sridharan ranjani.sridharan@linux.intel.com Signed-off-by: Brent Lu brent.lu@intel.com Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com --- include/sound/sof/dai-intel.h | 2 ++ include/uapi/sound/sof/abi.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/sound/sof/dai-intel.h b/include/sound/sof/dai-intel.h index 7a266f41983c..5b93b7292f5e 100644 --- a/include/sound/sof/dai-intel.h +++ b/include/sound/sof/dai-intel.h @@ -52,6 +52,8 @@ #define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_ES BIT(6) /* bclk early start */ #define SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_ES BIT(7) +/* mclk always on */ +#define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON BIT(8)
/* DMIC max. four controllers for eight microphone channels */ #define SOF_DAI_INTEL_DMIC_NUM_CTRL 4 diff --git a/include/uapi/sound/sof/abi.h b/include/uapi/sound/sof/abi.h index b7dce4df7ecd..3566630ca965 100644 --- a/include/uapi/sound/sof/abi.h +++ b/include/uapi/sound/sof/abi.h @@ -28,7 +28,7 @@
/* SOF ABI version major, minor and patch numbers */ #define SOF_ABI_MAJOR 3 -#define SOF_ABI_MINOR 22 +#define SOF_ABI_MINOR 23 #define SOF_ABI_PATCH 0
/* SOF ABI version number. Format within 32bit word is MMmmmppp */
On Mon, 25 Jul 2022 14:53:40 -0500, Pierre-Louis Bossart wrote:
One sanity check for SSP index reported by NHLT/BIOS and two updates for Mediatek and Intel Chromebooks related to already-merged firmware changes.
Ideally this should go in 5.20, time-permitting.
Brent Lu (1): ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON bit
[...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/3] ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT commit: e51699505042fb365df3a0ce68b850ccd9ad0108 [2/3] ASoC: SOF: Add cont_update_posn to platform parameters commit: d95610a1832993c539be22f0ec3ea8e34a29acff [3/3] ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON bit commit: af468aadf00485a2f5e804fe97db4731bc7a9c24
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
participants (2)
-
Mark Brown
-
Pierre-Louis Bossart