On Fri, Jun 05, 2026 at 04:53:12AM +0200, Raag Jadav wrote: > On Fri, Jun 05, 2026 at 04:25:48AM +0800, Jonathan Cavitt wrote: > > Currently, all but one uses of generic_handle_irq_safe() report error > > messages using .*_err_ratelimited() error reporting helper functions. > > These helper functions declare their error messages in the following > > form: > > > > "error handling [COMPONENT NAME] irq: %d\n" > > > > .*_err_ratelimited() already logs "error" as a part of the error > > message, so declaring the error is redundant. Reword it. > > > > The last usage of generic_handle_irq_safe() is in xe_i2c_irq_present(), > > and it currently lacks the same error reporting as in the other cases. > > This is not intentional, so put some logging here. > > Since you're here, also update these to xe_err_ratelimited() and > xe_gt_err_ratelimited().
Atleast the xe ones. Raag > > v2: > > - Use drm_err_ratelimited() correctly (jcavitt) > > > > Suggested-by: Raag Jadav <[email protected]> > > Signed-off-by: Jonathan Cavitt <[email protected]> > > --- > > drivers/gpu/drm/i915/display/intel_lpe_audio.c | 2 +- > > drivers/gpu/drm/i915/gt/intel_gsc.c | 2 +- > > drivers/gpu/drm/xe/xe_heci_gsc.c | 4 ++-- > > drivers/gpu/drm/xe/xe_i2c.c | 5 ++++- > > 4 files changed, 8 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c > > b/drivers/gpu/drm/i915/display/intel_lpe_audio.c > > index 022ad18044bf..e756ed1d1132 100644 > > --- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c > > +++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c > > @@ -265,7 +265,7 @@ void intel_lpe_audio_irq_handler(struct intel_display > > *display) > > ret = generic_handle_irq_safe(display->audio.lpe.irq); > > if (ret) > > drm_err_ratelimited(display->drm, > > - "error handling LPE audio irq: %d\n", ret); > > + "failed to handle LPE audio irq: %d\n", > > ret); > > } > > > > /** > > diff --git a/drivers/gpu/drm/i915/gt/intel_gsc.c > > b/drivers/gpu/drm/i915/gt/intel_gsc.c > > index 050d909fb4f8..c2d76b0bc5fe 100644 > > --- a/drivers/gpu/drm/i915/gt/intel_gsc.c > > +++ b/drivers/gpu/drm/i915/gt/intel_gsc.c > > @@ -286,7 +286,7 @@ static void gsc_irq_handler(struct intel_gt *gt, > > unsigned int intf_id) > > > > ret = generic_handle_irq_safe(gt->gsc.intf[intf_id].irq); > > if (ret) > > - gt_err_ratelimited(gt, "error handling GSC irq: %d\n", ret); > > + gt_err_ratelimited(gt, "failed to handle GSC irq: %d\n", ret); > > } > > > > void intel_gsc_irq_handler(struct intel_gt *gt, u32 iir) > > diff --git a/drivers/gpu/drm/xe/xe_heci_gsc.c > > b/drivers/gpu/drm/xe/xe_heci_gsc.c > > index 5af8903e10af..640db27137de 100644 > > --- a/drivers/gpu/drm/xe/xe_heci_gsc.c > > +++ b/drivers/gpu/drm/xe/xe_heci_gsc.c > > @@ -224,7 +224,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); > > + drm_err_ratelimited(&xe->drm, "failed to handle GSC irq: %d\n", > > ret); > > } > > > > void xe_heci_csc_irq_handler(struct xe_device *xe, u32 iir) > > @@ -244,5 +244,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); > > + drm_err_ratelimited(&xe->drm, "failed to handle GSC irq: %d\n", > > ret); > > } > > diff --git a/drivers/gpu/drm/xe/xe_i2c.c b/drivers/gpu/drm/xe/xe_i2c.c > > index 706783863d07..fa5fdf3a1024 100644 > > --- a/drivers/gpu/drm/xe/xe_i2c.c > > +++ b/drivers/gpu/drm/xe/xe_i2c.c > > @@ -177,12 +177,15 @@ static bool xe_i2c_irq_present(struct xe_device *xe) > > void xe_i2c_irq_handler(struct xe_device *xe, u32 master_ctl) > > { > > struct xe_mmio *mmio = xe_root_tile_mmio(xe); > > + int ret; > > > > if (!(master_ctl & I2C_IRQ) || !xe_i2c_irq_present(xe)) > > return; > > > > /* Forward interrupt to I2C adapter */ > > - generic_handle_irq_safe(xe->i2c->adapter_irq); > > + ret = generic_handle_irq_safe(xe->i2c->adapter_irq); > > + if (ret) > > + drm_err_ratelimited(&xe->drm, "failed to handle i2c irq: %d\n", > > ret); > > > > /* Deassert after I2C adapter clears the interrupt */ > > xe_mmio_rmw32(mmio, I2C_CONFIG_CMD, 0, PCI_COMMAND_INTX_DISABLE); > > -- > > 2.53.0 > >
