On 4/28/23 13:55, Mario Limonciello wrote:
> Dynamic boost control needs to use platform access symbols
> that look for the PSP master as part of initialization.
>
> So move the PSP master before psp_init() so that dynamic boost
> control can be initialized properly.
>
> Signed-off-by: Mario Limonciello <[email protected]>
> ---
> drivers/crypto/ccp/psp-dev.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
> index e3d6955d3265..e9136e398174 100644
> --- a/drivers/crypto/ccp/psp-dev.c
> +++ b/drivers/crypto/ccp/psp-dev.c
> @@ -173,13 +173,14 @@ int psp_dev_init(struct sp_device *sp)
> goto e_err;
> }
>
> + /* master device must be set for platform access */
> + if (psp->sp->set_psp_master_device)
> + psp->sp->set_psp_master_device(psp->sp);
> +
> ret = psp_init(psp);
> if (ret)
> goto e_irq;
If psp_init() fails, should we check for and call clear_psp_master_device now?
Thanks,
Tom
>
> - if (sp->set_psp_master_device)
> - sp->set_psp_master_device(sp);
> -
> /* Enable interrupt */
> iowrite32(-1, psp->io_regs + psp->vdata->inten_reg);
>
On 5/1/2023 13:47, Tom Lendacky wrote:
> On 4/28/23 13:55, Mario Limonciello wrote:
>> Dynamic boost control needs to use platform access symbols
>> that look for the PSP master as part of initialization.
>>
>> So move the PSP master before psp_init() so that dynamic boost
>> control can be initialized properly.
>>
>> Signed-off-by: Mario Limonciello <[email protected]>
>> ---
>> drivers/crypto/ccp/psp-dev.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
>> index e3d6955d3265..e9136e398174 100644
>> --- a/drivers/crypto/ccp/psp-dev.c
>> +++ b/drivers/crypto/ccp/psp-dev.c
>> @@ -173,13 +173,14 @@ int psp_dev_init(struct sp_device *sp)
>> goto e_err;
>> }
>> + /* master device must be set for platform access */
>> + if (psp->sp->set_psp_master_device)
>> + psp->sp->set_psp_master_device(psp->sp);
>> +
>> ret = psp_init(psp);
>> if (ret)
>> goto e_irq;
>
> If psp_init() fails, should we check for and call
> clear_psp_master_device now?
>
Yes; that's reasonable, thanks. I will change accordingly.
> Thanks,
> Tom
>
>> - if (sp->set_psp_master_device)
>> - sp->set_psp_master_device(sp);
>> -
>> /* Enable interrupt */
>> iowrite32(-1, psp->io_regs + psp->vdata->inten_reg);