ASoC: SOF: minor updates for 5.20
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: One sanity check for SSP index reported by NHLT/BIOS and two updates for Mediatek and Intel Chromebooks related to already-merged firmware changes.
This commit is contained in:
Коммит
4782b7cb6f
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче