[PATCH v2 02/13] ASoC: Intel: catpt: Define DSP operations

Cezary Rojewski cezary.rojewski at intel.com
Tue Aug 11 14:49:32 CEST 2020


On 2020-08-11 2:17 PM, Amadeusz Sławiński wrote:
> 
> 
> On 8/11/2020 12:00 PM, Cezary Rojewski wrote:
>> Implement dsp lifecycle functions such as core RESET and STALL,
>> SRAM power control and LP clock selection. This also adds functions for
>> handling transport over DW DMA controller.
>>
>> Signed-off-by: Cezary Rojewski <cezary.rojewski at intel.com>
>> ---
> 
> ...
> 
>> +
>> +int lpt_dsp_power_down(struct catpt_dev *cdev)
>> +{
>> +    catpt_dsp_reset(cdev, true);
>> +
>> +    /* set 24Mhz clock for both SSPs */
>> +    catpt_updatel_shim(cdev, CS, CATPT_CS_SBCS(0) | CATPT_CS_SBCS(1),
>> +               CATPT_CS_SBCS(0) | CATPT_CS_SBCS(1));
>> +    catpt_dsp_select_lpclock(cdev, true, false);
>> +
>> +    /* DRAM power gating all */
>> +    catpt_dsp_set_srampge(cdev, &cdev->dram, cdev->spec->dram_mask,
>> +                  cdev->spec->dram_mask);
>> +    catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->iram_mask,
>> +                  cdev->spec->iram_mask);
>> +
>> +    /* set D3 */
>> +    catpt_updatel_pci(cdev, PMCS, CATPT_PMCS_PS, CATPT_PMCS_PS_D3HOT);
>> +    udelay(50);
>> +
>> +    return 0;
>> +}
>> +
>> +int lpt_dsp_power_up(struct catpt_dev *cdev)
>> +{
>> +    /* SRAM power gating none */
>> +    catpt_dsp_set_srampge(cdev, &cdev->dram, cdev->spec->dram_mask, 0);
>> +    catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->dram_mask, 0);
> 
> Wrong mask for iram here? For example in above function 
> (lpt_dsp_power_down) cdev->spec->iram_mask is used?
> 

Yes, for this update I've run tests for all bdw (wpt) devices -only. 
Thanks for catching this up!

Czarek


More information about the Alsa-devel mailing list