On 04/07/14 13:10, Lars-Peter Clausen wrote:
> On 07/04/2014 01:04 PM, Sylwester Nawrocki wrote:
>> On 22/05/14 20:53, Mark Brown wrote:
>>>> +  ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S
>>>>> +                                 | SND_SOC_DAIFMT_NB_NF
>>>>> +                                 | SND_SOC_DAIFMT_CBM_CFM);
>>>>> + if (ret < 0)
>>>>> +         return ret;
>>>>> +
>>>>> + ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S
>>>>> +                                 | SND_SOC_DAIFMT_NB_NF
>>>>> +                                 | SND_SOC_DAIFMT_CBM_CFM);
>>>>> + if (ret < 0)
>>>>> +         return ret;
>>>
>>> These are constant, set these in the dai_link.
>>
>> set_fmt also sets master/slave mode of the I2S DAI, after I moved
>> this into the cpu_dai link data structure after suspend/resume cycle
>> the I2S IP block is not being properly re-configured. Should the
>> format setting be added in resume_post callback, or is there any
>> other preferred way ? Similarly the syclk settings are being lost
>> over suspend/resume cycle and nothing restores them.
> 
> The I2S driver should save and restore it's register during suspend/resume.

OK, thanks. I checked the I2S driver does it, but only when dai->active
flags is set [1]. However, during system resume this flag is not set
(in situation where playback or capture wasn't active right before
system suspend). Is the dai->active test wrong in that driver then ?
I'm not sure if it could just be removed.

[1] http://lxr.free-electrons.com/source/sound/soc/samsung/i2s.c#L913

--
Regards,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to