[alsa-devel] [PATCH 01/26] ASoC: SOF: add a field to store the current D0 substate of DSP

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue Oct 29 15:11:51 CET 2019



On 10/29/19 5:20 AM, Cezary Rojewski wrote:
> On 2019-10-26 00:40, Pierre-Louis Bossart wrote:
>> +/* DSP D0ix sub-state */
>> +enum sof_d0_substate {
>> +    SOF_DSP_D0I0 = 0,    /* DSP default D0 substate */
>> +    SOF_DSP_D0I3,        /* DSP D0i3(low power) substate*/
>> +};
> 
> Name of the type states: "d0 substate" while description "D0ix 
> sub-state". Why was not this named D0ix from the get-go? Goes into the 
> same the same naming bucket as S0ix.

The definition is correct, from the pm_runtime perspective the device is 
'active' i.e. D0. D0ix is a substate of D0.

> 
> On the further note, adding D0ix patch within "enable S0ix support for 
> Intel platforms" is misleading. S-states != D-states. D0ix is especially 
> orthogonal. It is these to further reduce power consumption when system 
> and device are in S0 and D0 respectively and idle time between IPC 
> communication is long enough for DSP to be power gated.

there are well-defined requirements and dependencies between S and D states:

S0: device can be in D0, D0ix, D3
S0ix: device can be in D0ix, D3
S3: device can be in D3

That's hardly orthogonal.




More information about the Alsa-devel mailing list