On 08/01/2026 04:09, Brajesh Gupta wrote:
> Possibility of no FW trace available after update in the fw_trace_mask due
> to asynchronous mode of command consumption in the FW.
>
> To ensure FW trace is available after update, wait for FW trace log update
> command completion from the FW.
>
> Fixes: cc1aeedb98ad ("drm/imagination: Implement firmware infrastructure and
> META FW support")
> Signed-off-by: Brajesh Gupta <[email protected]>Reviewed-by: Matt Coster <[email protected]> I'll apply this to drm-misc-fixes later today if there are no objections. Cheers, Matt > --- > drivers/gpu/drm/imagination/pvr_fw_trace.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/imagination/pvr_fw_trace.c > b/drivers/gpu/drm/imagination/pvr_fw_trace.c > index 8a56952f6730..99d681413eff 100644 > --- a/drivers/gpu/drm/imagination/pvr_fw_trace.c > +++ b/drivers/gpu/drm/imagination/pvr_fw_trace.c > @@ -137,6 +137,7 @@ update_logtype(struct pvr_device *pvr_dev, u32 group_mask) > struct rogue_fwif_kccb_cmd cmd; > int idx; > int err; > + int slot; > > if (group_mask) > fw_trace->tracebuf_ctrl->log_type = ROGUE_FWIF_LOG_TYPE_TRACE > | group_mask; > @@ -154,8 +155,13 @@ update_logtype(struct pvr_device *pvr_dev, u32 > group_mask) > cmd.cmd_type = ROGUE_FWIF_KCCB_CMD_LOGTYPE_UPDATE; > cmd.kccb_flags = 0; > > - err = pvr_kccb_send_cmd(pvr_dev, &cmd, NULL); > + err = pvr_kccb_send_cmd(pvr_dev, &cmd, &slot); > + if (err) > + goto err_drm_dev_exit; > + > + err = pvr_kccb_wait_for_completion(pvr_dev, slot, HZ, NULL); > > +err_drm_dev_exit: > drm_dev_exit(idx); > > err_up_read: > -- > 2.43.0 > -- Matt Coster E: [email protected]
OpenPGP_signature.asc
Description: OpenPGP digital signature
