[alsa-devel] PM issue with Intel SST Atom driver

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Mon Apr 24 21:01:44 CEST 2017


On 4/24/17 11:27 AM, Vinod Koul wrote:
> On Mon, Apr 24, 2017 at 09:22:38AM -0500, Pierre-Louis Bossart wrote:
>> On 4/24/17 4:54 AM, Takashi Iwai wrote:
>>> On Mon, 24 Apr 2017 11:52:44 +0200,
>>> Vinod Koul wrote:
>>>>
>>>> On Mon, Apr 24, 2017 at 11:43:47AM +0200, Takashi Iwai wrote:
>>>>> On Mon, 24 Apr 2017 11:12:14 +0200,
>>>>> Vinod Koul wrote:
>>>>>>
>>>>>> On Mon, Apr 24, 2017 at 11:00:45AM +0200, Takashi Iwai wrote:
>>>>>>
>>>>>>> Removing ignore_suspend makes the PM succeeds.  But it hits some other
>>>>>>> ugly kernel bugs.
>>>>>>
>>>>>> Okay have you marked .nonatomic = true for the machine DAIs?
>>>>>
>>>>> Ah that's it.  The patch below seems fixing the PM and the nonatomic
>>>>> problems.  I'm not sure about the nonatomic flag for the compress
>>>>> stream, though.
>>>>
>>>> Well we dont have upstream decoders so it wont be used in this case.
>>>>
>>>>> Also I fiddled only with FE.  Do we need the same flags for BE?  The
>>>>> others don't look setting like that, so I left so.
>>>>
>>>> I dont remember if BE needs or not FE should suffice.
>>>
>>> OK then I leave it as is.
>>>
>>> When I submit the fix, I should put Cc to stable, and wonder which
>>> version we assure the nonatomic ops in SST driver.  Did the code base
>>> support nonatomic ops from the beginning?
>>
>> can we take this opportunity to align all drivers?
>> The .nonatomic=true is set in all drivers for the BE, except for
>> cht_bsw_max98090_ti.c
>
> ??
>
> $ grep nonatomic sound/soc/intel/boards/cht_bsw_max98090_ti.c
>                 .nonatomic = true,
>                 .nonatomic = true,

Yes, the .nonatomic is set for the two PCM frontends but not for the 
SSP2 backend.

>
>> It's either needed for all or not needed for all...
>
> For the record it is must have for all of the drivers :)
>
> $ grep -L nonatomic sound/soc/intel/boards/*.c
> sound/soc/intel/boards/bdw-rt5677.c
> sound/soc/intel/boards/broadwell.c
> sound/soc/intel/boards/byt-max98090.c
> sound/soc/intel/boards/byt-rt5640.c
> sound/soc/intel/boards/haswell.c
> sound/soc/intel/boards/mfld_machine.c
>
> So we should add the remaining one byt-max98090.c as Takashi fixed
> byt-rt5640.c one. I will send the patch for this one.

Takashi fixed the bytcr-rt5640 driver, I am not sure we should touch the 
old byt- driver since they are not using the same firmware and they are 
not enabled by default. Same for broadwell, different driver, different 
problems.

I was also also talking about drivers that have .nonatomic field set but 
not everywhere consistently.



More information about the Alsa-devel mailing list