All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tauro, Riana" <riana.tauro@intel.com>
To: "Mallesh, Koujalagi" <mallesh.koujalagi@intel.com>,
	<intel-xe@lists.freedesktop.org>
Cc: <anshuman.gupta@intel.com>, <rodrigo.vivi@intel.com>,
	<aravind.iddamsetty@linux.intel.com>, <badal.nilawar@intel.com>,
	<raag.jadav@intel.com>, <ravi.kishore.koppuravuri@intel.com>,
	<tejas.upadhyay@intel.com>
Subject: Re: [PATCH v2 1/9] drm/xe/hw_error: Reuse CSC worker for generic error handling
Date: Thu, 29 Oct 2026 13:37:12 +0530	[thread overview]
Message-ID: <4feec7c1-5e02-42bb-a9e4-ca9383d895f1@intel.com> (raw)
In-Reply-To: <f99f8a5b-9810-4c1d-93c2-6c50f2b3397c@intel.com>


On 27-10-2026 18:31, Mallesh, Koujalagi wrote:
>
> On 26-10-2026 11:35 am, Riana Tauro wrote:
>> Convert the CSC hardware error worker to a delayed work item so it
>> can be reused for generic hardware error handling in later patches.
>>
>> Signed-off-by: Riana Tauro <riana.tauro@intel.com>
>> ---
>>   drivers/gpu/drm/xe/xe_hw_error.c   | 10 +++++-----
>>   drivers/gpu/drm/xe/xe_tile_types.h |  6 +++---
>>   2 files changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_hw_error.c 
>> b/drivers/gpu/drm/xe/xe_hw_error.c
>> index ac720710c8e8..41ddd997478b 100644
>> --- a/drivers/gpu/drm/xe/xe_hw_error.c
>> +++ b/drivers/gpu/drm/xe/xe_hw_error.c
>> @@ -166,9 +166,9 @@ 
>> static_assert(ARRAY_SIZE(pvc_master_local_nonfatal_err_reg) == 
>> XE_RAS_REG_SIZE);
>>                            pvc_master_local_fatal_err_reg : \
>>                            pvc_master_local_nonfatal_err_reg)
>>   -static void csc_hw_error_work(struct work_struct *work)
>> +static void hw_error_work(struct work_struct *work)
>>   {
>> -    struct xe_tile *tile = container_of(work, typeof(*tile), 
>> csc_hw_error_work);
>> +    struct xe_tile *tile = container_of(work, typeof(*tile), 
>> hw_error_work.work);
>>       struct xe_device *xe = tile_to_xe(tile);
>>         guard(xe_pm_runtime)(xe);
>> @@ -204,7 +204,7 @@ static void csc_hw_error_handler(struct xe_tile 
>> *tile, const enum hardware_error
>>                            hec_uncorrected_fw_errors[err_bit], 
>> severity_str,
>>                            err_bit);
>>   -            schedule_work(&tile->csc_hw_error_work);
>> +            schedule_delayed_work(&tile->hw_error_work, 0);
>
> hmm, what is rational to use delay work? and making CSC work as 
> generic hardware error handling?
>
> do u see any impact when we trigger fault injection etc.

This is used in patch [4]
We shouldn't have csc error injection in systems with sysctrl. So 
shouldn't affect.

Thanks
Riana


>
>>           }
>>       }
>>   @@ -513,7 +513,7 @@ void xe_hw_error_irq_handler(struct xe_tile 
>> *tile, const u32 master_ctl)
>>       enum hardware_error hw_err;
>>         if (xe_fault_csc_hw_error())
>> -        schedule_work(&tile->csc_hw_error_work);
>> +        schedule_delayed_work(&tile->hw_error_work, 0);
>>         for (hw_err = 0; hw_err < HARDWARE_ERROR_MAX; hw_err++) {
>>           if (master_ctl & ERROR_IRQ(hw_err))
>> @@ -551,7 +551,7 @@ void xe_hw_error_init(struct xe_device *xe)
>>       if (!IS_DGFX(xe) || IS_SRIOV_VF(xe))
>>           return;
>>   -    INIT_WORK(&tile->csc_hw_error_work, csc_hw_error_work);
>> +    INIT_DELAYED_WORK(&tile->hw_error_work, hw_error_work);
>>         process_hw_errors(xe);
>>   }
>> diff --git a/drivers/gpu/drm/xe/xe_tile_types.h 
>> b/drivers/gpu/drm/xe/xe_tile_types.h
>> index e1368c04846a..0f41738635c5 100644
>> --- a/drivers/gpu/drm/xe/xe_tile_types.h
>> +++ b/drivers/gpu/drm/xe/xe_tile_types.h
>> @@ -7,7 +7,7 @@
>>   #define _XE_TILE_TYPES_H_
>>     #include <linux/mutex_types.h>
>> -#include <linux/workqueue_types.h>
>> +#include <linux/workqueue.h>
>>     #include "xe_lmtt_types.h"
>>   #include "xe_memirq_types.h"
>> @@ -118,8 +118,8 @@ struct xe_tile {
>>       /** @memirq: Memory Based Interrupts. */
>>       struct xe_memirq memirq;
>>   -    /** @csc_hw_error_work: worker to report CSC HW errors */
>> -    struct work_struct csc_hw_error_work;
>> +    /** @hw_error_work: delayed work to handle HW errors */
>> +    struct delayed_work hw_error_work;
>>         /** @pcode: tile's PCODE */
>>       struct {

  reply	other threads:[~2026-10-29  8:07 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-26  6:04 [PATCH v2 0/9] Handle non-fatal errors routed via IRQ Riana Tauro
2026-10-26  6:05 ` [PATCH v2 1/9] drm/xe/hw_error: Reuse CSC worker for generic error handling Riana Tauro
2026-10-27 13:01   ` Mallesh, Koujalagi
2026-10-29  8:07     ` Tauro, Riana [this message]
2026-10-26  6:05 ` [PATCH v2 2/9] drm/xe/hw_error: Initialize hw_error_work per tile Riana Tauro
2026-10-26  9:37   ` sashiko-bot
2026-10-27 14:51   ` Mallesh, Koujalagi
2026-10-29  8:11     ` Tauro, Riana
2026-10-28 16:07   ` Andi Shyti
2026-10-26  6:05 ` [PATCH v2 3/9] drm/xe: Add wa_14028434957 to Graphics Version 35.11 Riana Tauro
2026-10-28  6:16   ` Mallesh, Koujalagi
2026-10-29  8:12     ` Tauro, Riana
2026-10-28 14:19   ` Gustavo Sousa
2026-10-29  8:32     ` Tauro, Riana
2026-10-26  6:05 ` [PATCH v2 4/9] drm/xe/xe_hw_error: Handle non-fatal errors routed via direct IRQ Riana Tauro
2026-10-26 10:09   ` sashiko-bot
2026-10-26 10:49   ` Upadhyay, Tejas
2026-10-26 14:08     ` Tauro, Riana
2026-10-29  6:36       ` Mallesh, Koujalagi
2026-10-29  8:17         ` Tauro, Riana
2026-10-28 16:15   ` Andi Shyti
2026-10-29  8:23     ` Tauro, Riana
2026-10-28 16:17   ` Andi Shyti
2026-10-29  8:20     ` Tauro, Riana
2026-10-26  6:05 ` [PATCH v2 5/9] drm/xe/ras: Treat non-fatal PCIe errors as recovered Riana Tauro
2026-10-28  9:24   ` Mallesh, Koujalagi
2026-10-29  8:27     ` Tauro, Riana
2026-10-26  6:05 ` [PATCH v2 6/9] drm/xe/pci: Add upstream switch port lookup helper Riana Tauro
2026-10-28  9:45   ` Mallesh, Koujalagi
2026-10-28 16:19   ` Andi Shyti
2026-10-29  8:28     ` Tauro, Riana
2026-10-26  6:05 ` [PATCH v2 7/9] drm/xe/xe_ras: Disable hw error worker when AER handling is in progress Riana Tauro
2026-10-26 10:32   ` sashiko-bot
2026-10-26  6:05 ` [PATCH v2 8/9] drm/xe/xe_ras: Trigger SBR for all device errors Riana Tauro
2026-10-28 16:25   ` Andi Shyti
2026-10-29  5:18   ` Mallesh, Koujalagi
2026-10-26  6:05 ` [PATCH v2 9/9] drm/xe/ras: Skip double-bit ECC page offlining on AER path Riana Tauro
2026-10-28 16:26   ` Andi Shyti
2026-10-29  5:25   ` Mallesh, Koujalagi
2026-10-26  6:30 ` ✓ CI.KUnit: success for Handle non-fatal errors routed via IRQ (rev2) Patchwork
2026-10-26  7:05 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-26  8:55 ` ✗ Xe.CI.FULL: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4feec7c1-5e02-42bb-a9e4-ca9383d895f1@intel.com \
    --to=riana.tauro@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=aravind.iddamsetty@linux.intel.com \
    --cc=badal.nilawar@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=mallesh.koujalagi@intel.com \
    --cc=raag.jadav@intel.com \
    --cc=ravi.kishore.koppuravuri@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=tejas.upadhyay@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.