From: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
To: <broonie@kernel.org>
Cc: <alsa-devel@alsa-project.org>, <lgirdwood@gmail.com>,
<yung-chuan.liao@linux.intel.com>,
<pierre-louis.bossart@linux.dev>, <perex@perex.cz>,
<tiwai@suse.com>, <Basavaraj.Hiregoudar@amd.com>,
<Sunil-kumar.Dommati@amd.com>, <venkataprasad.potturu@amd.com>,
<mario.limonciello@amd.com>, <linux-sound@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<sound-open-firmware@alsa-project.org>,
Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Subject: [PATCH 03/16] ASoC: SOF: amd: mask ACP7x PGFSM status poll
Date: Wed, 1 Jul 2026 15:25:04 +0530 [thread overview]
Message-ID: <20260701095759.1012929-4-Vijendar.Mukunda@amd.com> (raw)
In-Reply-To: <20260701095759.1012929-1-Vijendar.Mukunda@amd.com>
For ACP7.B/7.F, poll only the PGFSM tile status bits (P0-P4) and
consider the tiles powered on when the masked status becomes 0.
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
---
sound/soc/sof/amd/acp.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/sound/soc/sof/amd/acp.c b/sound/soc/sof/amd/acp.c
index bb3766aacf0e..f7b22f9979f6 100644
--- a/sound/soc/sof/amd/acp.c
+++ b/sound/soc/sof/amd/acp.c
@@ -577,6 +577,7 @@ static int acp_power_on(struct snd_sof_dev *sdev)
unsigned int base = desc->pgfsm_base;
unsigned int val;
unsigned int acp_pgfsm_status_mask, acp_pgfsm_cntl_mask;
+ bool use_masked_status = false;
int ret;
val = snd_sof_dsp_read(sdev, ACP_DSP_BAR, base + PGFSM_STATUS_OFFSET);
@@ -605,6 +606,7 @@ static int acp_power_on(struct snd_sof_dev *sdev)
case ACP7F_PCI_ID:
acp_pgfsm_status_mask = ACP7X_PGFSM_STATUS_MASK;
acp_pgfsm_cntl_mask = ACP7X_PGFSM_CNTL_POWER_ON_MASK;
+ use_masked_status = true;
break;
default:
return -EINVAL;
@@ -614,9 +616,17 @@ static int acp_power_on(struct snd_sof_dev *sdev)
snd_sof_dsp_write(sdev, ACP_DSP_BAR, base + PGFSM_CONTROL_OFFSET,
acp_pgfsm_cntl_mask);
- ret = snd_sof_dsp_read_poll_timeout(sdev, ACP_DSP_BAR, base + PGFSM_STATUS_OFFSET, val,
- !val, ACP_REG_POLL_INTERVAL,
- ACP_REG_POLL_TIMEOUT_US);
+ if (use_masked_status)
+ ret = snd_sof_dsp_read_poll_timeout(sdev, ACP_DSP_BAR,
+ base + PGFSM_STATUS_OFFSET, val,
+ !(val & acp_pgfsm_status_mask),
+ ACP_REG_POLL_INTERVAL,
+ ACP_REG_POLL_TIMEOUT_US);
+ else
+ ret = snd_sof_dsp_read_poll_timeout(sdev, ACP_DSP_BAR,
+ base + PGFSM_STATUS_OFFSET, val,
+ !val, ACP_REG_POLL_INTERVAL,
+ ACP_REG_POLL_TIMEOUT_US);
if (ret < 0)
dev_err(sdev->dev, "timeout in ACP_PGFSM_STATUS read\n");
--
2.45.2
next prev parent reply other threads:[~2026-07-01 9:58 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 9:55 [PATCH 00/16] ASoC: SOF: amd: add support for ACP7.B/7.F platforms Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 01/16] ASoC: amd: acp: add ACPI machine table for ACP7.B/7.F SOF driver Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 02/16] ASoC: SOF: amd: add base platform support for ACP7.B/7.F Vijendar Mukunda
2026-07-03 17:23 ` Julian Braha
2026-07-03 18:04 ` Mukunda,Vijendar
2026-07-01 9:55 ` Vijendar Mukunda [this message]
2026-07-01 9:55 ` [PATCH 04/16] ASoC: SOF: amd: refactor SW1 I2S error reason clear in acp_irq_handler Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 05/16] ASoC: SOF: amd: add ACP7x probe and remove Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 06/16] ASoC: SOF: amd: add ACP7x IRQ handler for DSP IPC Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 07/16] ASoC: SOF: amd: extend signed firmware pre-run for ACP7x Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 08/16] ASoC: SOF: amd: require full ACP header for ACP7 signed firmware Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 09/16] ASoC: SOF: amd: validate SizeFWSigned before signed FW length on ACP7x Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 10/16] ASoC: SOF: amd: add post-firmware-run delay for ACP7x Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 11/16] ASoC: SOF: amd: extend configure_and_run_sha_dma for ACPI signed FW flag Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 12/16] ASoC: SOF: amd: wire signed firmware load callback for ACP7x via ACPI Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 13/16] ASoC: SOF: amd: load ACP7.B/7.F signed data firmware to SRAM Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 14/16] ASoC: SOF: amd: add ACP I2S format field and topology token Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 15/16] ASoC: SOF: amd: add ACP7x I2S DAI type and topology support Vijendar Mukunda
2026-07-01 9:55 ` [PATCH 16/16] ASoC: SOF: amd: add system and runtime PM ops for ACP7x Vijendar Mukunda
2026-07-03 16:28 ` Mark Brown
2026-07-03 16:51 ` Mukunda,Vijendar
2026-07-03 17:09 ` Mark Brown
2026-07-03 17:51 ` Mukunda,Vijendar
2026-07-03 18:02 ` Mark Brown
2026-07-03 16:40 ` [PATCH 00/16] ASoC: SOF: amd: add support for ACP7.B/7.F platforms Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260701095759.1012929-4-Vijendar.Mukunda@amd.com \
--to=vijendar.mukunda@amd.com \
--cc=Basavaraj.Hiregoudar@amd.com \
--cc=Sunil-kumar.Dommati@amd.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.dev \
--cc=sound-open-firmware@alsa-project.org \
--cc=tiwai@suse.com \
--cc=venkataprasad.potturu@amd.com \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®