Message ID | 20230609-asoc-rt-sdw-maple-v1-0-85ee50c93905@kernel.org |
---|---|
Headers | show |
Series | ASoC: Use the maple tree register cache for RealTek SoundWire CODECs | expand |
On 6/10/2023 10:27 PM, Mark Brown wrote: > The RealTek SoundWire CODECs don't support bulk register operations so > they gain no advantage from using the rbtree cache, convert them to use > the maple tree cache instead - it is more modern. > > Signed-off-by: Mark Brown <broonie@kernel.org> Tested on a Dell laptop with rt1316, rt711-sdca, and rt715-sdca. Tested-by: Bard Liao <yung-chuan.liao@linux.intel.com> > --- > Mark Brown (8): > ASoC: rt700: Use maple tree register cache > ASoC: rt711: Use maple tree register cache > ASoC: rt712: Use maple tree register cache > ASoC: rt715: Use maple tree register cache > ASoC: rt722: Use maple tree register cache > ASoC: rt1308: Use maple tree register cache > ASoC: rt1316: Use maple tree register cache > ASoC: rt1318: Use maple tree register cache > > sound/soc/codecs/rt1308-sdw.c | 2 +- > sound/soc/codecs/rt1316-sdw.c | 2 +- > sound/soc/codecs/rt1318-sdw.c | 2 +- > sound/soc/codecs/rt700-sdw.c | 2 +- > sound/soc/codecs/rt711-sdca-sdw.c | 4 ++-- > sound/soc/codecs/rt711-sdw.c | 2 +- > sound/soc/codecs/rt712-sdca-dmic.c | 4 ++-- > sound/soc/codecs/rt712-sdca-sdw.c | 4 ++-- > sound/soc/codecs/rt715-sdca-sdw.c | 4 ++-- > sound/soc/codecs/rt722-sdca-sdw.c | 4 ++-- > 10 files changed, 15 insertions(+), 15 deletions(-) > --- > base-commit: 08e6c4bb17087584261c4aff555d32fc1c620b81 > change-id: 20230609-asoc-rt-sdw-maple-fa6714ac4318 > > Best regards,
On Sat, 10 Jun 2023 15:27:11 +0100, Mark Brown wrote: > The RealTek SoundWire CODECs don't support bulk register operations so > they gain no advantage from using the rbtree cache, convert them to use > the maple tree cache instead - it is more modern. > > Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/8] ASoC: rt700: Use maple tree register cache commit: 049a78048e15ab276052d846c9692ea272699644 [2/8] ASoC: rt711: Use maple tree register cache commit: 0a5757293339fbbbb627baa7d2da65fd083c7cce [3/8] ASoC: rt712: Use maple tree register cache commit: f438c799aa934fcd9b956083043b6f691bcc8492 [4/8] ASoC: rt715: Use maple tree register cache commit: dd08b6ddcb319375b4ee69cd02ce3298ca7608aa [5/8] ASoC: rt722: Use maple tree register cache commit: 799457a3200b0451ca9859c77dd4e863f70ba608 [6/8] ASoC: rt1308: Use maple tree register cache commit: 4f69e29ace9dce5f8226bfc99b77b8497d3d3d79 [7/8] ASoC: rt1316: Use maple tree register cache commit: 6179a2e84f0b0b353079fe965d321ed25251c996 [8/8] ASoC: rt1318: Use maple tree register cache commit: 22691a051377763e6a4e149b7362944253fb434a 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
On Mon, Jun 26, 2023 at 07:00:31PM +0530, Mukunda,Vijendar wrote: > With cache type changing to maple tree for SoundWire Codec patch series, we are observing > rcu warnings with AMD SoundWire stack. Do you you have 0cc6578048e0980 ("regmap: maple: Drop the RCU read lock while syncing registers") in your tree when testing? > Below are the pastebin links for rcu warnings dmesg logs. > https://pastebin.com/6sadwNCw <https://pastebin.com/6sadwNCw> Please include at least some of the actual warning in your emails so they are directly readable.
Hello, With cache type changing to maple tree for SoundWire Codec patch series, we are observing rcu warnings with AMD SoundWire stack. Below are the pastebin links for rcu warnings dmesg logs. https://pastebin.com/6sadwNCw <https://pastebin.com/6sadwNCw> https://pastebin.com/zwhfUKGf <https://pastebin.com/zwhfUKGf> Acquiring rcu lock in between register read/writes causes context switch. In AMD SoundWire manager xfer_msg() callback, we are using read_poll_timeout logic. Below is the link. https://elixir.bootlin.com/linux/v6.4-rc7/source/drivers/soundwire/amd_manager.c#L177 As per our understanding, we need to go with busy wait rather than using usleep_range() which will be invoked by read_poll_timeout() logic. Could you please suggest us how to fix this issue? Thanks, Vijendar
On 26/06/23 18:59, Mark Brown wrote: > On Mon, Jun 26, 2023 at 07:00:31PM +0530, Mukunda,Vijendar wrote: > >> With cache type changing to maple tree for SoundWire Codec patch series, we are observing >> rcu warnings with AMD SoundWire stack. > Do you you have 0cc6578048e0980 ("regmap: maple: Drop the RCU read lock > while syncing registers") in your tree when testing? We have tested with ASoC tree for-next branch code. This patch is not included in our tree while testing. We will verify with the patch and let you know our findings. >> Below are the pastebin links for rcu warnings dmesg logs. >> https://pastebin.com/6sadwNCw <https://pastebin.com/6sadwNCw> > Please include at least some of the actual warning in your emails so > they are directly readable.
On 26/06/23 20:09, Mukunda,Vijendar wrote: > On 26/06/23 18:59, Mark Brown wrote: >> On Mon, Jun 26, 2023 at 07:00:31PM +0530, Mukunda,Vijendar wrote: >> >>> With cache type changing to maple tree for SoundWire Codec patch series, we are observing >>> rcu warnings with AMD SoundWire stack. >> Do you you have 0cc6578048e0980 ("regmap: maple: Drop the RCU read lock >> while syncing registers") in your tree when testing? > We have tested with ASoC tree for-next branch code. > This patch is not included in our tree while testing. > > We will verify with the patch and let you know our findings. After inclusion of above-mentioned patch, we are no longer observing rcu warnings. Thanks, Vijendar >>> Below are the pastebin links for rcu warnings dmesg logs. >>> https://pastebin.com/6sadwNCw <https://pastebin.com/6sadwNCw> >> Please include at least some of the actual warning in your emails so >> they are directly readable.
The RealTek SoundWire CODECs don't support bulk register operations so they gain no advantage from using the rbtree cache, convert them to use the maple tree cache instead - it is more modern. Signed-off-by: Mark Brown <broonie@kernel.org> --- Mark Brown (8): ASoC: rt700: Use maple tree register cache ASoC: rt711: Use maple tree register cache ASoC: rt712: Use maple tree register cache ASoC: rt715: Use maple tree register cache ASoC: rt722: Use maple tree register cache ASoC: rt1308: Use maple tree register cache ASoC: rt1316: Use maple tree register cache ASoC: rt1318: Use maple tree register cache sound/soc/codecs/rt1308-sdw.c | 2 +- sound/soc/codecs/rt1316-sdw.c | 2 +- sound/soc/codecs/rt1318-sdw.c | 2 +- sound/soc/codecs/rt700-sdw.c | 2 +- sound/soc/codecs/rt711-sdca-sdw.c | 4 ++-- sound/soc/codecs/rt711-sdw.c | 2 +- sound/soc/codecs/rt712-sdca-dmic.c | 4 ++-- sound/soc/codecs/rt712-sdca-sdw.c | 4 ++-- sound/soc/codecs/rt715-sdca-sdw.c | 4 ++-- sound/soc/codecs/rt722-sdca-sdw.c | 4 ++-- 10 files changed, 15 insertions(+), 15 deletions(-) --- base-commit: 08e6c4bb17087584261c4aff555d32fc1c620b81 change-id: 20230609-asoc-rt-sdw-maple-fa6714ac4318 Best regards,