[PATCH v3 17/17] ASoC: Intel: avs: Code loading over HDA

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Fri Mar 4 19:56:44 CET 2022


>>> Compared to SKL and KBL, younger cAVS platforms are meant to re-use
>>> one
>> Younger? you mean newer?
> 
> 
> Isn't the meaning of the two quite similar in this context?

younger doesn't sound quite right to me.

'cAVS platforms more recent that SKL and KBL...'

> 
>>> of HDAudio streams during boot procedure causing CLDMA to become
>>> obsolete. Once transferred, given stream is returned to pool
>>> available
>>> for audio streaming.
>>>
>>> Module loading handler is dummy as library and module code became
>>> inseparable in later firmware generations.
>> replace dummy with "stub" maybe? lets use inclusive terms
> 
> 
> Is 'dummy' categorized as non-inclusive? We have several usages of 
> 'dummy' even within /sound (e.g. soc-utils.c).

Intel and plenty of other companies recommend a different wording. 
mock-up, stub, placeholder, etc. see e.g.

https://developers.google.com/style/inclusive-documentation

Yes we have plenty of existing uses of 'dummy', but that doesn't mean we 
should add new ones.

>>> +static int
>>> +avs_hda_init_rom(struct avs_dev *adev, unsigned int dma_id, bool
>>> purge)
>>> +{
>>> +    const struct avs_spec *const spec = adev->spec;
>>> +    unsigned int corex_mask, reg;
>>> +    int ret;
>>> +
>>> +    corex_mask = spec->core_init_mask & ~AVS_MAIN_CORE_MASK;
>>> +
>>> +    ret = avs_dsp_op(adev, power, spec->core_init_mask, true);
>>> +    if (ret < 0)
>>> +        goto err;
>>> +
>>> +    ret = avs_dsp_op(adev, reset, AVS_MAIN_CORE_MASK, false);
>>> +    if (ret < 0)
>>> +        goto err;
>>> +
>>> +    reinit_completion(&adev->fw_ready);
>>> +    avs_dsp_op(adev, int_control, true);
>>> +
>>> +    /* set boot config */
>>> +    ret = avs_ipc_set_boot_config(adev, dma_id, purge);
>>> +    if (ret) {
>>> +        ret = AVS_IPC_RET(ret);
>>> +        goto err;
>>> +    }
>>> +
>>> +    /* await ROM init */
>>> +    ret = snd_hdac_adsp_readq_poll(adev, spec->rom_status, reg,
>>> +                       (reg & 0xF) == AVS_ROM_INIT_DONE
>>> ||
>>> +                       (reg & 0xF) ==
>>> APL_ROM_FW_ENTERED,
>>> +                       AVS_ROM_INIT_POLLING_US,
>>> APL_ROM_INIT_TIMEOUT_US);
>>> +    if (ret < 0) {
>>> +        dev_err(adev->dev, "rom init timeout: %d\n", ret);
>>> +        goto err;
>>> +    }
>>> +
>>> +    /* power down non-main cores */
>>> +    if (corex_mask)
>>> +        avs_dsp_op(adev, power, corex_mask, false);
>> What if this fails?
> 
> 
> We are still in happy path, worst thing could happen here is increased 
> power consumption.

'happy path'?



More information about the Alsa-devel mailing list