[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20221205120649.1950576-2-Vsujithkumar.Reddy@amd.com>
Date: Mon, 5 Dec 2022 17:36:48 +0530
From: V sujith kumar Reddy <Vsujithkumar.Reddy@....com>
To: <broonie@...nel.org>, <alsa-devel@...a-project.org>
CC: <Vijendar.Mukunda@....com>, <Basavaraj.Hiregoudar@....com>,
<Sunil-kumar.Dommati@....com>, <venkataprasad.potturu@....com>,
<ssabakar@....com>,
Ajye Huang <ajye_huang@...pal.corp-partner.google.com>,
V sujith kumar Reddy <Vsujithkumar.Reddy@....com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Liam Girdwood <lgirdwood@...il.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>,
Daniel Baluta <daniel.baluta@....com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
"Ajit Kumar Pandey" <AjitKumar.Pandey@....com>,
Jiapeng Chong <jiapeng.chong@...ux.alibaba.com>,
"moderated list:SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS"
<sound-open-firmware@...a-project.org>,
open list <linux-kernel@...r.kernel.org>
Subject: [PATCH 1/2] ASoC: SOF: amd: Use poll function instead to read ACP_SHA_DSP_FW_QUALIFIER
From: Ajye Huang <ajye_huang@...pal.corp-partner.google.com>
The Skyrim project and Whiterun met error when DSP
loading during device boot.
Ex, error in kernel log,
ERR kernel: [ 16.124537] snd_sof_amd_rembrandt
0000:04:00.5: PSP validation failed.
Use the snd_sof_dsp_read_poll_timeout function to successfully
read the FW_QUALIFIER register
Signed-off-by: Ajye Huang <ajye_huang@...pal.corp-partner.google.com>
Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@....com>
---
sound/soc/sof/amd/acp.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sound/soc/sof/amd/acp.c b/sound/soc/sof/amd/acp.c
index 47115a77c92c..6bd2888fbb66 100644
--- a/sound/soc/sof/amd/acp.c
+++ b/sound/soc/sof/amd/acp.c
@@ -255,10 +255,12 @@ int configure_and_run_sha_dma(struct acp_dev_data *adata, void *image_addr,
if (ret)
return ret;
- fw_qualifier = snd_sof_dsp_read(sdev, ACP_DSP_BAR, ACP_SHA_DSP_FW_QUALIFIER);
- if (!(fw_qualifier & DSP_FW_RUN_ENABLE)) {
+ ret = snd_sof_dsp_read_poll_timeout(sdev, ACP_DSP_BAR, ACP_SHA_DSP_FW_QUALIFIER,
+ fw_qualifier, fw_qualifier & DSP_FW_RUN_ENABLE,
+ ACP_REG_POLL_INTERVAL, ACP_DMA_COMPLETE_TIMEOUT_US);
+ if (ret < 0) {
dev_err(sdev->dev, "PSP validation failed\n");
- return -EINVAL;
+ return ret;
}
return 0;
--
2.25.1
Powered by blists - more mailing lists