Commit e8ab57b5 authored by Karol Wachowski's avatar Karol Wachowski
Browse files

accel/ivpu: Add disable clock relinquish workaround for NVL-A0



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: 550f4dd2 ("accel/ivpu: Add support for Nova Lake's NPU")
Cc: <stable@vger.kernel.org> # v6.19+

Reviewed-by: default avatarLizhi.hou <lizhi.hou@amd.com>
Signed-off-by: default avatarKarol Wachowski <karol.wachowski@linux.intel.com>
Link: https://patch.msgid.link/20260323095029.64613-1-karol.wachowski@linux.intel.com
parent fc3bbf34
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+4 −2
Original line number Diff line number Diff line
@@ -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)