On Wed, Jun 4, 2025 at 10:42 AM Lizhi Hou <lizhi....@amd.com> wrote:
>
> The incorrect PSP firmware size is used for initializing. It may
> cause error for newer version firmware.
>
> Fixes: 8c9ff1b181ba ("accel/amdxdna: Add a new driver for AMD AI Engine")
> Signed-off-by: Lizhi Hou <lizhi....@amd.com>
> ---
>  drivers/accel/amdxdna/aie2_psp.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/accel/amdxdna/aie2_psp.c 
> b/drivers/accel/amdxdna/aie2_psp.c
> index dc3a072ce3b6..f28a060a8810 100644
> --- a/drivers/accel/amdxdna/aie2_psp.c
> +++ b/drivers/accel/amdxdna/aie2_psp.c
> @@ -126,8 +126,8 @@ struct psp_device *aie2m_psp_create(struct drm_device 
> *ddev, struct psp_config *
>         psp->ddev = ddev;
>         memcpy(psp->psp_regs, conf->psp_regs, sizeof(psp->psp_regs));
>
> -       psp->fw_buf_sz = ALIGN(conf->fw_size, PSP_FW_ALIGN) + PSP_FW_ALIGN;
> -       psp->fw_buffer = drmm_kmalloc(ddev, psp->fw_buf_sz, GFP_KERNEL);
> +       psp->fw_buf_sz = ALIGN(conf->fw_size, PSP_FW_ALIGN);
> +       psp->fw_buffer = drmm_kmalloc(ddev, psp->fw_buf_sz + PSP_FW_ALIGN, 
> GFP_KERNEL);

Why do you need the extra PSP_FW_ALIGN in the allocation?

Alex

>         if (!psp->fw_buffer) {
>                 drm_err(ddev, "no memory for fw buffer");
>                 return NULL;
> --
> 2.34.1
>

Reply via email to