mbox series

[0/7] Adjust all AMD audio drivers to use AMD_NODE

Message ID 20250217231747.1656228-1-superm1@kernel.org (mailing list archive)
Headers show
Series Adjust all AMD audio drivers to use AMD_NODE | expand

Message

Mario Limonciello Feb. 17, 2025, 11:17 p.m. UTC
From: Mario Limonciello <mario.limonciello@amd.com>

The various AMD audio drivers have self contained implementations
for SMN router communication that require hardcoding the bridge ID.

These implementations also don't prevent race conditions with other
drivers performing SMN communication.

A new centralized driver AMD_NODE is introduced and all drivers in
the kernel should use this instead. Adjust all AMD audio drivers to
use it.
Mario Limonciello (7):
  x86/amd_node: Add a helper for use with `read_poll_timeout`
  ASoC: amd: acp: rembrandt: Use AMD_NODE
  ASoC: amd: acp: acp70: Use AMD_NODE
  ASoC: amd: acp: acp63: Use AMD_NODE
  ASoC: SOF: amd: Use AMD_NODE
  ASoC: amd: acp: Drop local symbols for smn read/write
  ASoC: SOF: amd: Drop host bridge ID from struct

 arch/x86/include/asm/amd_node.h       | 11 +++++
 sound/soc/amd/acp/Kconfig             |  3 ++
 sound/soc/amd/acp/acp-legacy-common.c | 18 --------
 sound/soc/amd/acp/acp-rembrandt.c     | 28 ++++++------
 sound/soc/amd/acp/acp63.c             | 63 +++++++++++++++++----------
 sound/soc/amd/acp/acp70.c             | 28 ++----------
 sound/soc/amd/acp/amd.h               |  3 --
 sound/soc/sof/amd/Kconfig             |  1 +
 sound/soc/sof/amd/acp.c               | 56 +++++++-----------------
 sound/soc/sof/amd/acp.h               |  2 -
 sound/soc/sof/amd/pci-acp63.c         |  1 -
 sound/soc/sof/amd/pci-acp70.c         |  1 -
 sound/soc/sof/amd/pci-rmb.c           |  1 -
 sound/soc/sof/amd/pci-rn.c            |  1 -
 sound/soc/sof/amd/pci-vangogh.c       |  1 -
 15 files changed, 90 insertions(+), 128 deletions(-)

Comments

Mark Brown Feb. 18, 2025, 3:11 p.m. UTC | #1
On Mon, Feb 17, 2025 at 05:17:40PM -0600, Mario Limonciello wrote:

> The various AMD audio drivers have self contained implementations
> for SMN router communication that require hardcoding the bridge ID.

> These implementations also don't prevent race conditions with other
> drivers performing SMN communication.

> A new centralized driver AMD_NODE is introduced and all drivers in
> the kernel should use this instead. Adjust all AMD audio drivers to
> use it.
> Mario Limonciello (7):
>   x86/amd_node: Add a helper for use with `read_poll_timeout`

What's the thinking for merging this - the SMN driver is in arch/x86 but
the bulk of the changes are in ASoC?  My first thought is that it's
mostly ASoC stuff, are the x86 people OK with me picking up the arch
patch (I'd put it on a branch anyway so if needed we can do a merge
later)?
Mario Limonciello Feb. 18, 2025, 3:16 p.m. UTC | #2
On 2/18/2025 09:11, Mark Brown wrote:
> On Mon, Feb 17, 2025 at 05:17:40PM -0600, Mario Limonciello wrote:
> 
>> The various AMD audio drivers have self contained implementations
>> for SMN router communication that require hardcoding the bridge ID.
> 
>> These implementations also don't prevent race conditions with other
>> drivers performing SMN communication.
> 
>> A new centralized driver AMD_NODE is introduced and all drivers in
>> the kernel should use this instead. Adjust all AMD audio drivers to
>> use it.
>> Mario Limonciello (7):
>>    x86/amd_node: Add a helper for use with `read_poll_timeout`
> 
> What's the thinking for merging this - the SMN driver is in arch/x86 but
> the bulk of the changes are in ASoC?  My first thought is that it's
> mostly ASoC stuff, are the x86 people OK with me picking up the arch
> patch (I'd put it on a branch anyway so if needed we can do a merge
> later)?

Probably need Boris' perspective here.

There are some patches that just landed to tip/tip.git today which I 
believe the first patch needs to rebase on top of.

My thought is maybe:
1) We can get an immutable branch from tip/tip.git with the conflicting 
changes.

2) An Ack from x86 maintainers on the first patch.

3) ASoC merges immutable branch and takes the series through ASoC tree.
Borislav Petkov Feb. 18, 2025, 3:26 p.m. UTC | #3
On Tue, Feb 18, 2025 at 09:16:20AM -0600, Mario Limonciello wrote:
> My thought is maybe:
> 1) We can get an immutable branch from tip/tip.git with the conflicting
> changes.

I can very easisy do that. Just holler.
Mario Limonciello Feb. 18, 2025, 3:33 p.m. UTC | #4
On 2/18/2025 09:26, Borislav Petkov wrote:
> On Tue, Feb 18, 2025 at 09:16:20AM -0600, Mario Limonciello wrote:
>> My thought is maybe:
>> 1) We can get an immutable branch from tip/tip.git with the conflicting
>> changes.
> 
> I can very easisy do that. Just holler.
> 

Yeah; please get that ready and I'll rebase the series and send out a v2 
on that branch.
Borislav Petkov Feb. 18, 2025, 5:26 p.m. UTC | #5
On Tue, Feb 18, 2025 at 09:33:03AM -0600, Mario Limonciello wrote:
> Yeah; please get that ready and I'll rebase the series and send out a v2 on
> that branch.

There it is:

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=x86/misc
Mario Limonciello Feb. 18, 2025, 5:29 p.m. UTC | #6
On 2/18/2025 11:26, Borislav Petkov wrote:
> On Tue, Feb 18, 2025 at 09:33:03AM -0600, Mario Limonciello wrote:
>> Yeah; please get that ready and I'll rebase the series and send out a v2 on
>> that branch.
> 
> There it is:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=x86/misc
> 

Thanks.

Mark,

I confirmed that a test merge of tip/x86/misc into ASoC/for-next and 
then applying the remaining 6 patches worked properly, so you can pick 
up and do that.

Thanks,
Mark Brown Feb. 19, 2025, 11:08 p.m. UTC | #7
On Mon, 17 Feb 2025 17:17:40 -0600, Mario Limonciello wrote:
> The various AMD audio drivers have self contained implementations
> for SMN router communication that require hardcoding the bridge ID.
> 
> These implementations also don't prevent race conditions with other
> drivers performing SMN communication.
> 
> A new centralized driver AMD_NODE is introduced and all drivers in
> the kernel should use this instead. Adjust all AMD audio drivers to
> use it.
> Mario Limonciello (7):
>   x86/amd_node: Add a helper for use with `read_poll_timeout`
>   ASoC: amd: acp: rembrandt: Use AMD_NODE
>   ASoC: amd: acp: acp70: Use AMD_NODE
>   ASoC: amd: acp: acp63: Use AMD_NODE
>   ASoC: SOF: amd: Use AMD_NODE
>   ASoC: amd: acp: Drop local symbols for smn read/write
>   ASoC: SOF: amd: Drop host bridge ID from struct
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[2/7] ASoC: amd: acp: rembrandt: Use AMD_NODE
      commit: e211adcf36d0ccdd31af7398af4725a47d74b3d4
[3/7] ASoC: amd: acp: acp70: Use AMD_NODE
      commit: 135c6af1cac5465529469700d16c0c44b24ce317
[4/7] ASoC: amd: acp: acp63: Use AMD_NODE
      commit: 8f969537149d672d40a0e75a83f39451a5402780
[5/7] ASoC: SOF: amd: Use AMD_NODE
      commit: f120cf33d2325fd95d063eccbff2e86ffc7f493a
[6/7] ASoC: amd: acp: Drop local symbols for smn read/write
      commit: 40d05927830227f2a1701c61e8bbe65287a03490
[7/7] ASoC: SOF: amd: Drop host bridge ID from struct
      commit: a261d77fec147b9974aacca8ae8f0693feede838

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark