Skip to content

Conversation

@vijendarmukunda
Copy link

This patch series consists of fixes and improvement related to IPC flags handling.

Firmware will set dsp_ack to 1 when firmware sends response for the IPC
command issued by host. Similarly dsp_msg flag will be updated to 1.

During ACP D0 entry sequence, during firmware run sequence,
Once the firmware sends the FW_READY message in the acp irq thread,
dsp_ack_write register relative offset read from scratch memory
points to garbage value.
In this case, fw_state is SOF_FW_BOOT_READY_OK results in else
condition execution printing below dmesg log.
"IPC reply before FW_BOOT_COMPLETE".
This is not an expected sequence.

Fix the condition checks for ipc flags.

Fixes: 738a2b5 ("ASoC: SOF: amd: Add IPC support for ACP IP block")
Signed-off-by: Vijendar Mukunda <[email protected]>
Tested-by: Umang Jain <[email protected]>
As per design, set IPC conf structure flags to zero during acp init
sequence.

Signed-off-by: Vijendar Mukunda <[email protected]>
Tested-by: Umang Jain <[email protected]>
@vijendarmukunda
Copy link
Author

@bardliao @ranj063 Could you please help to review this PR?


dsp_msg = snd_sof_dsp_read(sdev, ACP_DSP_BAR, ACP_SCRATCH_REG_0 + dsp_msg_write);
if (dsp_msg) {
if (dsp_msg == 1) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does 1 mean? Can we use a #define or add some comment here and line 191?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dsp_msg flag is set to 1 by Firmware when sends an IPC. Similarly dsp_ack will be set to 1 by firmware when it responds to host IPC message. Will use macros for the same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants