On Sat, 15 Jul 2023 18:07:38 +0200, Oswald Buddenhagen wrote:
This uses IRQs to track spontaneous changes to the word clock source register.
FWIW, that this can happen in the first place is the reason why it is futile to lock the clock source mixer setting while the device is open - we can't consistently control the rate anyway. Though arguably, we should reset any open streams when that happens, as they become corrupted anyway.
Signed-off-by: Oswald Buddenhagen oswald.buddenhagen@gmx.de
v2:
- use driver-local lock instead of core's control_rwsem
FIXME? while i'm not sure, i think this won't notice seamless switches between 44.1 and 48 kHz. assuming that's the case, this seems like a minor issue: firstly, just about nothing actually produces such a seamless switch - my only device that can even do that is the e-mu card itself, but the driver disrupts that by temporarily muting the output. secondly, the user is unlikely to select an external source before setting it up properly. and the easy workaround is actually never doing that. regardless, to actually test that i'd need a second e-mu card.
The code change itself looks sane, so I took the patch as is now.
thanks,
Takashi