accel/amdxdna: Return errors for failed debug BO commands

The config and sync debug BO commands currently may report success even
when the operation fails.

Capture the firmware return status and propagate the corresponding error
to userspace.

Fixes: 7ea0468380 ("accel/amdxdna: Support firmware debug buffer")
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://patch.msgid.link/20260529162122.1976376-1-lizhi.hou@amd.com
This commit is contained in:
Lizhi Hou
2026-05-29 09:21:22 -07:00
parent 5d12ef71fb
commit 62c1671f64

View File

@@ -305,17 +305,13 @@ aie2_sched_drvcmd_resp_handler(void *handle, void __iomem *data, size_t size)
struct amdxdna_sched_job *job = handle;
int ret = 0;
if (unlikely(!data))
goto out;
if (unlikely(size != sizeof(u32))) {
if (unlikely(!data || size != sizeof(u32))) {
job->drv_cmd->result = U32_MAX;
ret = -EINVAL;
goto out;
} else {
job->drv_cmd->result = readl(data);
}
job->drv_cmd->result = readl(data);
out:
aie2_sched_notify(job);
return ret;
}
@@ -940,6 +936,7 @@ static int aie2_hwctx_cfg_debug_bo(struct amdxdna_hwctx *hwctx, u32 bo_hdl,
aie2_cmd_wait(hwctx, seq);
if (cmd.result) {
XDNA_ERR(xdna, "Response failure 0x%x", cmd.result);
ret = -EINVAL;
goto put_obj;
}