On 24/03/2023 00:14, Mark Brown wrote:
On Thu, Mar 23, 2023 at 01:11:11PM -0500, Pierre-Louis Bossart wrote:
The trigger is run in atomic context, can you really write safely to a
SoundWire device there?
Mark, I've seen that comment from you several times, and I wonder if I
am missing something: the triggers for SoundWire managers and dailinks
are typically nonatomic - at least for the Cadence-based solution the
trigger is based on a bank switch that may happen with a delay and with
a wait_for_completion(). Sending a command over the SoundWire channel is
also typically not atomic, there's usually a wait_for_completion() as well.
Ah, you're setting the nonatomic flag on your links to disable the
locking. The default for trigger operations is to run them with local
interrupts disabled. It looks like at least some of the Qualcomm stuff
does that too.
Yes, by default dailinks are marked as nonatomic in Qualcomm case aswell.
--srini