[alsa-devel] [PATCH v2 04/14] soundwire: Add MIPI DisCo property helpers

Vinod Koul vinod.koul at intel.com
Mon Nov 27 10:18:50 CET 2017


On Mon, Nov 27, 2017 at 07:59:40AM +0000, Charles Keepax wrote:

> > > Apologies for the long and slightly vague comment, but I guess my
> > > question is do you have a thought on how drivers should know when
> > > it is safe to communicate with a SoundWire device?
> > 
> > IMO it is safe to communicate with SoundWire device when the Slave
> > status is ATTACHED. In any case bus will report error if it is not able
> > to communicate with SoundWire device.
> 
> Yeah I guess my point here is that there is currently no way in
> this SoundWire framework for the slave driver to know if the
> device is attached or not, unless I am missing something?  There
> are calls by which the master can inform the framework, but
> nothing to pass that on to the slave driver.

Nope, as Sanyog pointed out there are deterministic ways for Slave
driver to find out. We can do that by:
 a) check the slave->status and communicate only if status is SDW_SLAVE_ATTACHED
 b) Implement sdw_slave_ops->update_status() which is invoked by Bus on any
    status changes.

So to summarize, for a Slave driver during the probe, if the status is not
SDW_SLAVE_ATTACHED it should not communicate and should implement
sdw_slave_ops->update_status and attempt IO when this callback gets invoked
with SDW_SLAVE_ATTACHED status.

Does that clarify and solve the problem.

-- 
~Vinod


More information about the Alsa-devel mailing list