Messages in this thread | | | Subject | Re: [alsa-devel] [RFC PATCH 28/40] soundwire: intel: handle disabled links | From | Pierre-Louis Bossart <> | Date | Mon, 5 Aug 2019 14:18:35 -0500 |
| |
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 >> >
| |