[alsa-devel] [RFC PATCH 28/40] soundwire: intel: handle disabled links

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Mon Aug 5 21:18:35 CEST 2019



On 8/5/19 11:57 AM, Sanyog Kale wrote:
> On Thu, Jul 25, 2019 at 06:40:20PM -0500, Pierre-Louis Bossart wrote:
>> On most hardware platforms, SoundWire interfaces are pin-muxed with
>> other interfaces (typically DMIC or I2S) and the status of each link
>> needs to be checked at boot time.
>>
>> For Intel platforms, the BIOS provides a menu to enable/disable the
>> links separately, and the information is provided to the OS with an
>> Intel-specific _DSD property. The same capability will be added to
>> revisions of the MIPI DisCo specification.

[snip]

>> diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
>> index c7dfc824be80..f78b076a8782 100644
>> --- a/include/linux/soundwire/sdw.h
>> +++ b/include/linux/soundwire/sdw.h
>> @@ -380,6 +380,7 @@ struct sdw_slave_prop {
>>    * @err_threshold: Number of times that software may retry sending a single
>>    * command
>>    * @mclk_freq: clock reference passed to SoundWire Master, in Hz.
>> + * @hw_disabled: if true, the Master is not functional, typically due to pin-mux
>>    */
>>   struct sdw_master_prop {
>>   	u32 revision;
>> @@ -395,6 +396,7 @@ struct sdw_master_prop {
>>   	bool dynamic_frame;
>>   	u32 err_threshold;
>>   	u32 mclk_freq;
>> +	bool hw_disabled;
> 
> Do we have such cases where some of SoundWire links are disabled and
> some enabled?

Yes, by default my ICL test board uses HDaudio for the codec so the 
SoundWire link0 is disabled. If I rework the board and change the BIOS 
advanced menu then SoundWire link0 is enabled. This information is 
dynamically provided to the OS after the _INI step.
SoundWire-2/3 are used typically for attached DMICs or for a combination 
of SoundWire amplifier and mic capture. It's really platform-specific.

> 
>>   };
>>   
>>   int sdw_master_read_prop(struct sdw_bus *bus);
>> -- 
>> 2.20.1
>>
> 


More information about the Alsa-devel mailing list