]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
accel/amdxdna: Fix incorrect PSP firmware size
authorLizhi Hou <lizhi.hou@amd.com>
Wed, 4 Jun 2025 14:32:17 +0000 (07:32 -0700)
committerLizhi Hou <lizhi.hou@amd.com>
Mon, 9 Jun 2025 14:16:32 +0000 (07:16 -0700)
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")
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://lore.kernel.org/r/20250604143217.1386272-1-lizhi.hou@amd.com
drivers/accel/amdxdna/aie2_psp.c

index dc3a072ce3b6df6d952291fef9620f30a257db5a..f28a060a88109beba6837d5244123558a43aedc1 100644 (file)
@@ -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);
        if (!psp->fw_buffer) {
                drm_err(ddev, "no memory for fw buffer");
                return NULL;