[PATCH 2/2] drm/xe/guc: Fix arguments passed to relay G2H handlers
Matthew Brost
matthew.brost at intel.com
Thu Jan 11 20:08:06 UTC 2024
On Thu, Jan 11, 2024 at 10:37:31AM +0100, Michal Wajdeczko wrote:
>
>
> On 11.01.2024 00:07, Matthew Brost wrote:
> > On Wed, Jan 10, 2024 at 08:59:51PM +0100, Michal Wajdeczko wrote:
> >> By default CT code was passing just payload of the G2H event
> >> message, while Relay code expects full G2H message including
> >> HXG header which contains DATA0 field. Fix that.
> >>
> >> Fixes: 152577060697 ("drm/xe/guc: Start handling GuC Relay event messages")
> >> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> >
> > FWIW I do think the argument names in xe_guc_relay_process_* functions
> > should be changed but not going to hold of this fix.
>
> I can rename message argument in relay g2h handlers to "hxg", but what
> about the other g2h handlers, which (IMO wrongly) take just payload, not
> a message, while still use "msg" as an argument name:
>
> int xe_guc_sched_done_handler(... u32 *msg, u32 len)
> int xe_guc_deregister_done_handler(... u32 *msg, u32 len)
> int xe_guc_exec_queue_reset_handler(... u32 *msg, u32 len)
> int xe_guc_exec_queue_memory_cat_error_handler(... u32 *msg, u32 len)
> int xe_guc_exec_queue_reset_failure_handler(... u32 *msg, u32 len)
> int xe_guc_pagefault_handler(... u32 *msg, u32 len)
> int xe_guc_tlb_invalidation_done_handler(... u32 *msg, u32 len)
> int xe_guc_access_counter_notify_handler(... u32 *msg, u32 len)
>
Good point I'd say lets clean all of this up.
msg -> entire G2H
hxg -> HXG + payload
payload -> payload
Ok with a follow up. We can chat off the list with who will post.
Matt
> >
> > With that:
> > Reviewed-by: Matthew Brost <matthew.brost at intel.com>
> >
> >> ---
> >> drivers/gpu/drm/xe/xe_guc_ct.c | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
> >> index d6b7020a2d2f..4a0c9ce13bf8 100644
> >> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> >> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> >> @@ -984,10 +984,10 @@ static int process_g2h_msg(struct xe_guc_ct *ct, u32 *msg, u32 len)
> >> adj_len);
> >> break;
> >> case XE_GUC_ACTION_GUC2PF_RELAY_FROM_VF:
> >> - ret = xe_guc_relay_process_guc2pf(&guc->relay, payload, adj_len);
> >> + ret = xe_guc_relay_process_guc2pf(&guc->relay, hxg, hxg_len);
> >> break;
> >> case XE_GUC_ACTION_GUC2VF_RELAY_FROM_PF:
> >> - ret = xe_guc_relay_process_guc2vf(&guc->relay, payload, adj_len);
> >> + ret = xe_guc_relay_process_guc2vf(&guc->relay, hxg, hxg_len);
> >> break;
> >> default:
> >> drm_err(&xe->drm, "unexpected action 0x%04x\n", action);
> >> --
> >> 2.25.1
> >>
More information about the Intel-xe
mailing list