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

From: Pierre-Louis Bossart
Date: Sun Oct 22 2017 - 06:14:58 EST


On 10/21/17 5:07 PM, Vinod Koul wrote:
On Sat, Oct 21, 2017 at 10:20:46AM +0100, Mark Brown wrote:
On Thu, Oct 19, 2017 at 08:33:20AM +0530, Vinod Koul wrote:

+ /* device is probed so let's read the properties now */
+ if (slave->ops && slave->ops->read_prop)
+ slave->ops->read_prop(slave);

Is it valid for us to not be able to read the properties?

Practically no. Without the values bus wont work

The notion of read is a bit overloaded here. What is needed is that the information is provided to the bus, whether you read it from firmware or a table in the codec driver is an implementation choice - see below.


+ fwnode_property_read_u32(node, "mipi-sdw-port-max-wordlength",
+ &dpn[i].max_word);
+ fwnode_property_read_u32(node, "mipi-sdw-port-min-wordlength",
+ &dpn[i].min_word);

Don't we know this stuff simply by virtue of knowing what device we're
talking to (given that there aren't class devices)?

Well I think the spec is midway to device class so they added it to make it
generic :)

The properties are needed so that the bus can perform all the transport-related stuff. As explained in the patches, we are not making assumptions on how the codec driver is written, the implementation can either get the properties from firmware (DT or ACPI) or hard-code them in the driver.

The only property that needs to be defined is for multi-lane setups, since the topology is not known to a codec driver.