-----Original Message-----
From: Wajdeczko, Michal <[email protected]> 
Sent: Friday, June 5, 2026 11:42 AM
To: Cavitt, Jonathan <[email protected]>; 
[email protected]; [email protected]
Cc: Gupta, Saurabhg <[email protected]>; Zuo, Alex <[email protected]>; 
Jadav, Raag <[email protected]>
Subject: Re: [PATCH 2/5] drm/xe/heci: Use xe print functions in xe_heci_gsc.c
> 
> On 6/5/2026 6:04 PM, Jonathan Cavitt wrote:
> > Update xe_heci_gsc.c to use the xe error reporting helper functions in
> > xe_printk.h instead of directly calling the associated drm print
> > functions from drm_print.h
> > 
> > Signed-off-by: Jonathan Cavitt <[email protected]>
> > ---
> >  drivers/gpu/drm/xe/xe_heci_gsc.c | 21 ++++++++++-----------
> >  1 file changed, 10 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_heci_gsc.c 
> > b/drivers/gpu/drm/xe/xe_heci_gsc.c
> > index 5af8903e10af..d716371fbbe9 100644
> > --- a/drivers/gpu/drm/xe/xe_heci_gsc.c
> > +++ b/drivers/gpu/drm/xe/xe_heci_gsc.c
> > @@ -8,10 +8,9 @@
> >  #include <linux/pci.h>
> >  #include <linux/sizes.h>
> >  
> > -#include <drm/drm_print.h>
> > -
> >  #include "xe_device_types.h"
> >  #include "xe_heci_gsc.h"
> > +#include "xe_printk.h"
> >  #include "regs/xe_gsc_regs.h"
> 
> nit: this one is at wrong place
> >  #include "xe_platform_types.h"
> 
> and xe_printk.h should be here
> 
> >  #include "xe_survivability_mode.h"
> > @@ -112,13 +111,13 @@ static int heci_gsc_irq_setup(struct xe_device *xe)
> >  
> >     heci_gsc->irq = irq_alloc_desc(0);
> 
> nit: what about moving to devm_irq_alloc_desc() first?

I think fixing this should be addressed in a different patch series.

> 
> >     if (heci_gsc->irq < 0) {
> > -           drm_err(&xe->drm, "gsc irq error %d\n", heci_gsc->irq);
> > +           xe_err(xe, "gsc irq error %d\n", heci_gsc->irq);
> 
> can we print error code in more friendly way using %pe
> 
> and I guess we should use "GSC" name, not "gsc", so maybe:
> 
>       xe_err(xe, "GSC: irq allocation failed (%pe)\n", ERR_PTR(..
> 
> >             return heci_gsc->irq;
> >     }
> >  
> >     ret = heci_gsc_irq_init(heci_gsc->irq);
> >     if (ret < 0)
> > -           drm_err(&xe->drm, "gsc irq init failed %d\n", ret);
> > +           xe_err(xe, "gsc irq init failed %d\n", ret);
> 
>       xe_err(xe, "GSC: irq initialization failed (%pe)\n", ERR_PTR(..
> 
> >  
> >     return ret;
> >  }
> > @@ -151,7 +150,7 @@ static int heci_gsc_add_device(struct xe_device *xe, 
> > const struct heci_gsc_def *
> >  
> >     ret = auxiliary_device_init(aux_dev);
> >     if (ret < 0) {
> > -           drm_err(&xe->drm, "gsc aux init failed %d\n", ret);
> > +           xe_err(xe, "gsc aux init failed %d\n", ret);
> >             kfree(adev);
> >             return ret;
> >     }
> > @@ -159,7 +158,7 @@ static int heci_gsc_add_device(struct xe_device *xe, 
> > const struct heci_gsc_def *
> >     heci_gsc->adev = adev; /* needed by the notifier */
> >     ret = auxiliary_device_add(aux_dev);
> >     if (ret < 0) {
> > -           drm_err(&xe->drm, "gsc aux add failed %d\n", ret);
> > +           xe_err(xe, "gsc aux add failed %d\n", ret);
> >             heci_gsc->adev = NULL;
> >  
> >             /* adev will be freed with the put_device() and .release 
> > sequence */
> > @@ -190,7 +189,7 @@ int xe_heci_gsc_init(struct xe_device *xe)
> >     }
> >  
> >     if (!def || !def->name) {
> 
> missing def looks like our coding error, shouldn't we just use xe_assert()?
> 
> missing def->name is also our coding error,
> we should have no runtime checks for it (except xe_assert)

I think this also should be addressed in a different patch series.

I can apply the rest of the revision notes, though.
-Jonathan Cavitt

> 
> > -           drm_warn(&xe->drm, "HECI is not implemented!\n");
> > +           xe_warn(xe, "HECI is not implemented!\n");
> >             return 0;
> >     }
> >  
> > @@ -215,7 +214,7 @@ void xe_heci_gsc_irq_handler(struct xe_device *xe, u32 
> > iir)
> >             return;
> >  
> >     if (!xe->info.has_heci_gscfi) {
> > -           drm_warn_once(&xe->drm, "GSC irq: not supported");
> > +           xe_warn_once(xe, "GSC irq: not supported");
> 
>               xe_warn_once(xe, "GSC: unexpected irq %#x\n", iir);
> 
> >             return;
> >     }
> >  
> > @@ -224,7 +223,7 @@ void xe_heci_gsc_irq_handler(struct xe_device *xe, u32 
> > iir)
> >  
> >     ret = generic_handle_irq_safe(xe->heci_gsc.irq);
> >     if (ret)
> > -           drm_err_ratelimited(&xe->drm, "error handling GSC irq: %d\n", 
> > ret);
> > +           xe_err_ratelimited(xe, "error handling GSC irq: %d\n", ret);
> 
>               xe_err_ratelimited(xe, "GSC: irq handling failed (%pe)\n", 
> 
> >  }
> >  
> >  void xe_heci_csc_irq_handler(struct xe_device *xe, u32 iir)
> > @@ -235,7 +234,7 @@ void xe_heci_csc_irq_handler(struct xe_device *xe, u32 
> > iir)
> >             return;
> >  
> >     if (!xe->info.has_heci_cscfi) {
> > -           drm_warn_once(&xe->drm, "CSC irq: not supported");
> > +           xe_warn_once(xe, "CSC irq: not supported");
> 
>               xe_warn_once(xe, "CSC: unexpected irq %#x\n", iir);
> 
> >             return;
> >     }
> >  
> > @@ -244,5 +243,5 @@ void xe_heci_csc_irq_handler(struct xe_device *xe, u32 
> > iir)
> >  
> >     ret = generic_handle_irq_safe(xe->heci_gsc.irq);
> >     if (ret)
> > -           drm_err_ratelimited(&xe->drm, "error handling GSC irq: %d\n", 
> > ret);
> > +           xe_err_ratelimited(xe, "error handling GSC irq: %d\n", ret);
> 
> GSC or CSC ? function is 'heci_csc'
> 
> >  }
> 
> 

Reply via email to