On Mon, Nov 14, 2022 at 10:04:55AM -0600, Pierre-Louis Bossart wrote:
On 11/14/22 04:29, Charles Keepax wrote:
There is no need to play with the runtime reference everytime a register is accessed. All the remaining "pm" style register accesses trace back to 4 functions:
sdw_prepare_stream sdw_deprepare_stream sdw_enable_stream sdw_disable_stream
Any sensible implementation will need to hold a runtime reference across all those functions, it makes no sense to be allowing the device/bus to suspend whilst streams are being prepared/enabled. And certainly in the case of the all existing users, they all call these functions from hw_params/prepare/trigger/hw_free callbacks in ALSA, which will have already runtime resumed all the audio devices associated during the open callback.
Signed-off-by: Charles Keepax ckeepax@opensource.cirrus.com
I tend to agree with this one, and if this ever fails that would point to a miss at a higher-level we'd need to address.
Exactly my concern here is the core is trying to be helpful, but really it is just going to be hiding bugs in the callers.
Thanks, Charles