Re: [PATCH] ASoC: SOF: amd: Skip IRAM/DRAM size modification for Steam Deck OLED

From: Cristian Ciocaltea
Date: Fri Feb 09 2024 - 15:05:17 EST


On 2/9/24 14:49, Venkata Prasad Potturu wrote:
>
> On 2/9/24 17:58, Cristian Ciocaltea wrote:
>> The recent introduction of the ACP/PSP communication for IRAM/DRAM fence
>> register modification breaks the audio support on Valve's Steam Deck
>> OLED device.
>>
>> It causes IPC timeout errors when trying to load DSP topology during
>> probing:

[...]

> Programming ACP_IRAM_DRAM_FENCE register to modify the size of IRAM and
> DRAM and it's noting related to signed or unsigned fw_image.
>
> This ACP_IRAM_DRAM_FENCE register writing need to do before starting sha
> dma.

Unfortunately it doesn't fix the issue - I tested with the psp_send_cmd()
calls moved to various positions before the line

snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACP_SHA_DMA_CMD, ACP_SHA_RUN);

and I keep getting the IPC timeouts.

However, if I simply comment out the second psp_send_cmd() line

psp_send_cmd(adata, MBOX_ACP_IRAM_DRAM_FENCE_COMMAND | MBOX_ISREADY_FLAG);

the problem is solved, even when the first psp_send_cmd() is kept in the
original position.

Anything else worth trying?

Otherwise I would rework the patch to add a dedicated quirk for getting
this ACP_IRAM_DRAM_FENCE processing skipped for Steam Deck OLED.

Thanks,
Cristian