On Wed, Jun 4, 2025 at 8:12 PM Lizhi Hou <lizhi....@amd.com> wrote: > > > On 6/4/25 07:51, Alex Deucher wrote: > > 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? > > The start address of the firmware is also required to be PSP_FW_ALIGN > aligned.
Acked-by: Alex Deucher <alexander.deuc...@amd.com> > > > Thanks, > > Lizhi > > > > > Alex > > > >> if (!psp->fw_buffer) { > >> drm_err(ddev, "no memory for fw buffer"); > >> return NULL; > >> -- > >> 2.34.1 > >>