Skip to content

Commit 2a2f5f2

Browse files
ajye-huangbroonie
authored andcommitted
ASoC: SOF: amd: Use poll function instead to read ACP_SHA_DSP_FW_QUALIFIER
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 <[email protected]> Signed-off-by: V sujith kumar Reddy <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent f19a2ca commit 2a2f5f2

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

sound/soc/sof/amd/acp.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,12 @@ int configure_and_run_sha_dma(struct acp_dev_data *adata, void *image_addr,
255255
if (ret)
256256
return ret;
257257

258-
fw_qualifier = snd_sof_dsp_read(sdev, ACP_DSP_BAR, ACP_SHA_DSP_FW_QUALIFIER);
259-
if (!(fw_qualifier & DSP_FW_RUN_ENABLE)) {
258+
ret = snd_sof_dsp_read_poll_timeout(sdev, ACP_DSP_BAR, ACP_SHA_DSP_FW_QUALIFIER,
259+
fw_qualifier, fw_qualifier & DSP_FW_RUN_ENABLE,
260+
ACP_REG_POLL_INTERVAL, ACP_DMA_COMPLETE_TIMEOUT_US);
261+
if (ret < 0) {
260262
dev_err(sdev->dev, "PSP validation failed\n");
261-
return -EINVAL;
263+
return ret;
262264
}
263265

264266
return 0;

0 commit comments

Comments
 (0)