[PATCH 2/2] drm/xe/guc: Fix arguments passed to relay G2H handlers

Matthew Brost matthew.brost at intel.com
Wed Jan 10 00:47:21 UTC 2024


On Tue, Jan 09, 2024 at 04:00:15PM -0700, Michal Wajdeczko wrote:
> By default CT code was passing just payload of th G2H event/request
> 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>
> ---
>  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 9d1d855da229..721564dbfda6 100644
> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> @@ -975,10 +975,10 @@ static int process_g2h_msg(struct xe_guc_ct *ct, u32 *hxg, 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, len);

Should we change this function definition:

int xe_guc_relay_process_guc2pf(struct xe_guc_relay *relay, const u32 *msg, u32 len)
->
int xe_guc_relay_process_guc2pf(struct xe_guc_relay *relay, const u32 *hxg, u32 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, len);

Same here?

Fix itself LGTM.

Matt

>  		break;
>  	default:
>  		drm_err(&xe->drm, "unexpected action 0x%04x\n", action);
> -- 
> 2.25.1
> 


More information about the Intel-xe mailing list