* [PATCH] accel/ivpu: Add disable clock relinquish workaround for NVL-A0
@ 2026-03-23 9:50 Karol Wachowski
2026-03-23 16:53 ` Lizhi Hou
0 siblings, 1 reply; 3+ messages in thread
From: Karol Wachowski @ 2026-03-23 9:50 UTC (permalink / raw)
To: dri-devel
Cc: oded.gabbay, jeff.hugo, maciej.falkowski, lizhi.hou,
andrzej.kacprowski, Karol Wachowski, stable
Turn on disable clock relinquish workaround for Nova Lake A0.
Without this workaround NPU may not power off correctly after
inference, leading to unexpected system behavior.
Fixes: 550f4dd2cedd ("accel/ivpu: Add support for Nova Lake's NPU")
Cc: <stable@vger.kernel.org> # v6.19+
Signed-off-by: Karol Wachowski <karol.wachowski@linux.intel.com>
---
drivers/accel/ivpu/ivpu_drv.h | 1 +
drivers/accel/ivpu/ivpu_hw.c | 6 ++++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/accel/ivpu/ivpu_drv.h b/drivers/accel/ivpu/ivpu_drv.h
index 5b34b6f50e69..f1b6155065ff 100644
--- a/drivers/accel/ivpu/ivpu_drv.h
+++ b/drivers/accel/ivpu/ivpu_drv.h
@@ -35,6 +35,7 @@
#define IVPU_HW_IP_60XX 60
#define IVPU_HW_IP_REV_LNL_B0 4
+#define IVPU_HW_IP_REV_NVL_A0 0
#define IVPU_HW_BTRS_MTL 1
#define IVPU_HW_BTRS_LNL 2
diff --git a/drivers/accel/ivpu/ivpu_hw.c b/drivers/accel/ivpu/ivpu_hw.c
index d69cd0d93569..d4a9bcda4100 100644
--- a/drivers/accel/ivpu/ivpu_hw.c
+++ b/drivers/accel/ivpu/ivpu_hw.c
@@ -70,8 +70,10 @@ static void wa_init(struct ivpu_device *vdev)
if (ivpu_hw_btrs_gen(vdev) == IVPU_HW_BTRS_MTL)
vdev->wa.interrupt_clear_with_0 = ivpu_hw_btrs_irqs_clear_with_0_mtl(vdev);
- if (ivpu_device_id(vdev) == PCI_DEVICE_ID_LNL &&
- ivpu_revision(vdev) < IVPU_HW_IP_REV_LNL_B0)
+ if ((ivpu_device_id(vdev) == PCI_DEVICE_ID_LNL &&
+ ivpu_revision(vdev) < IVPU_HW_IP_REV_LNL_B0) ||
+ (ivpu_device_id(vdev) == PCI_DEVICE_ID_NVL &&
+ ivpu_revision(vdev) == IVPU_HW_IP_REV_NVL_A0))
vdev->wa.disable_clock_relinquish = true;
if (ivpu_test_mode & IVPU_TEST_MODE_CLK_RELINQ_ENABLE)
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] accel/ivpu: Add disable clock relinquish workaround for NVL-A0
2026-03-23 9:50 [PATCH] accel/ivpu: Add disable clock relinquish workaround for NVL-A0 Karol Wachowski
@ 2026-03-23 16:53 ` Lizhi Hou
2026-03-24 8:32 ` Karol Wachowski
0 siblings, 1 reply; 3+ messages in thread
From: Lizhi Hou @ 2026-03-23 16:53 UTC (permalink / raw)
To: Karol Wachowski, dri-devel
Cc: oded.gabbay, jeff.hugo, maciej.falkowski, andrzej.kacprowski,
stable
On 3/23/26 02:50, Karol Wachowski wrote:
> Turn on disable clock relinquish workaround for Nova Lake A0.
> Without this workaround NPU may not power off correctly after
> inference, leading to unexpected system behavior.
>
> Fixes: 550f4dd2cedd ("accel/ivpu: Add support for Nova Lake's NPU")
> Cc: <stable@vger.kernel.org> # v6.19+
>
> Signed-off-by: Karol Wachowski <karol.wachowski@linux.intel.com>
> ---
> drivers/accel/ivpu/ivpu_drv.h | 1 +
> drivers/accel/ivpu/ivpu_hw.c | 6 ++++--
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/accel/ivpu/ivpu_drv.h b/drivers/accel/ivpu/ivpu_drv.h
> index 5b34b6f50e69..f1b6155065ff 100644
> --- a/drivers/accel/ivpu/ivpu_drv.h
> +++ b/drivers/accel/ivpu/ivpu_drv.h
> @@ -35,6 +35,7 @@
> #define IVPU_HW_IP_60XX 60
>
> #define IVPU_HW_IP_REV_LNL_B0 4
> +#define IVPU_HW_IP_REV_NVL_A0 0
>
> #define IVPU_HW_BTRS_MTL 1
> #define IVPU_HW_BTRS_LNL 2
> diff --git a/drivers/accel/ivpu/ivpu_hw.c b/drivers/accel/ivpu/ivpu_hw.c
> index d69cd0d93569..d4a9bcda4100 100644
> --- a/drivers/accel/ivpu/ivpu_hw.c
> +++ b/drivers/accel/ivpu/ivpu_hw.c
> @@ -70,8 +70,10 @@ static void wa_init(struct ivpu_device *vdev)
> if (ivpu_hw_btrs_gen(vdev) == IVPU_HW_BTRS_MTL)
> vdev->wa.interrupt_clear_with_0 = ivpu_hw_btrs_irqs_clear_with_0_mtl(vdev);
>
> - if (ivpu_device_id(vdev) == PCI_DEVICE_ID_LNL &&
> - ivpu_revision(vdev) < IVPU_HW_IP_REV_LNL_B0)
> + if ((ivpu_device_id(vdev) == PCI_DEVICE_ID_LNL &&
> + ivpu_revision(vdev) < IVPU_HW_IP_REV_LNL_B0) ||
> + (ivpu_device_id(vdev) == PCI_DEVICE_ID_NVL &&
> + ivpu_revision(vdev) == IVPU_HW_IP_REV_NVL_A0))
Reviewed-by: Lizhi.hou <lizhi.hou@amd.com>
> vdev->wa.disable_clock_relinquish = true;
>
> if (ivpu_test_mode & IVPU_TEST_MODE_CLK_RELINQ_ENABLE)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] accel/ivpu: Add disable clock relinquish workaround for NVL-A0
2026-03-23 16:53 ` Lizhi Hou
@ 2026-03-24 8:32 ` Karol Wachowski
0 siblings, 0 replies; 3+ messages in thread
From: Karol Wachowski @ 2026-03-24 8:32 UTC (permalink / raw)
To: Lizhi Hou, dri-devel
Cc: oded.gabbay, jeff.hugo, maciej.falkowski, andrzej.kacprowski,
stable
On 3/23/2026 5:53 PM, Lizhi Hou wrote:
>
> On 3/23/26 02:50, Karol Wachowski wrote:
>> Turn on disable clock relinquish workaround for Nova Lake A0.
>> Without this workaround NPU may not power off correctly after
>> inference, leading to unexpected system behavior.
>>
>> Fixes: 550f4dd2cedd ("accel/ivpu: Add support for Nova Lake's NPU")
>> Cc: <stable@vger.kernel.org> # v6.19+
>>
>> Signed-off-by: Karol Wachowski <karol.wachowski@linux.intel.com>
>> ---
>> drivers/accel/ivpu/ivpu_drv.h | 1 +
>> drivers/accel/ivpu/ivpu_hw.c | 6 ++++--
>> 2 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/accel/ivpu/ivpu_drv.h b/drivers/accel/ivpu/
>> ivpu_drv.h
>> index 5b34b6f50e69..f1b6155065ff 100644
>> --- a/drivers/accel/ivpu/ivpu_drv.h
>> +++ b/drivers/accel/ivpu/ivpu_drv.h
>> @@ -35,6 +35,7 @@
>> #define IVPU_HW_IP_60XX 60
>> #define IVPU_HW_IP_REV_LNL_B0 4
>> +#define IVPU_HW_IP_REV_NVL_A0 0
>> #define IVPU_HW_BTRS_MTL 1
>> #define IVPU_HW_BTRS_LNL 2
>> diff --git a/drivers/accel/ivpu/ivpu_hw.c b/drivers/accel/ivpu/ivpu_hw.c
>> index d69cd0d93569..d4a9bcda4100 100644
>> --- a/drivers/accel/ivpu/ivpu_hw.c
>> +++ b/drivers/accel/ivpu/ivpu_hw.c
>> @@ -70,8 +70,10 @@ static void wa_init(struct ivpu_device *vdev)
>> if (ivpu_hw_btrs_gen(vdev) == IVPU_HW_BTRS_MTL)
>> vdev->wa.interrupt_clear_with_0 =
>> ivpu_hw_btrs_irqs_clear_with_0_mtl(vdev);
>> - if (ivpu_device_id(vdev) == PCI_DEVICE_ID_LNL &&
>> - ivpu_revision(vdev) < IVPU_HW_IP_REV_LNL_B0)
>> + if ((ivpu_device_id(vdev) == PCI_DEVICE_ID_LNL &&
>> + ivpu_revision(vdev) < IVPU_HW_IP_REV_LNL_B0) ||
>> + (ivpu_device_id(vdev) == PCI_DEVICE_ID_NVL &&
>> + ivpu_revision(vdev) == IVPU_HW_IP_REV_NVL_A0))
> Reviewed-by: Lizhi.hou <lizhi.hou@amd.com>
Thank you, applied to drm-misc-fixes.
Karol
>> vdev->wa.disable_clock_relinquish = true;
>> if (ivpu_test_mode & IVPU_TEST_MODE_CLK_RELINQ_ENABLE)
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-24 8:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-23 9:50 [PATCH] accel/ivpu: Add disable clock relinquish workaround for NVL-A0 Karol Wachowski
2026-03-23 16:53 ` Lizhi Hou
2026-03-24 8:32 ` Karol Wachowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox