[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4c4e64fb-9657-0312-a19f-2a17b44fbae3@linux.intel.com>
Date: Mon, 5 Aug 2019 14:18:35 -0500
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Sanyog Kale <sanyog.r.kale@...el.com>
Cc: alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
tiwai@...e.de, broonie@...nel.org, vkoul@...nel.org,
gregkh@...uxfoundation.org, jank@...ence.com,
srinivas.kandagatla@...aro.org, slawomir.blauciak@...el.com
Subject: Re: [alsa-devel] [RFC PATCH 28/40] soundwire: intel: handle disabled
links
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
>>
>
Powered by blists - more mailing lists