]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
accel/ivpu: Add initial Wildcat Lake support
authorMaciej Falkowski <maciej.falkowski@linux.intel.com>
Thu, 5 Jun 2025 16:19:47 +0000 (18:19 +0200)
committerJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Mon, 16 Jun 2025 11:35:27 +0000 (13:35 +0200)
Add support for Wildcat Lake (WCL) CPUs.
Wildcat Lake contains NPU5 just like Panther Lake
hence the initial support is very simple and adds
only PCI IDs.

Signed-off-by: Maciej Falkowski <maciej.falkowski@linux.intel.com>
Reviewed-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://lore.kernel.org/r/20250605161947.1237727-1-maciej.falkowski@linux.intel.com
drivers/accel/ivpu/ivpu_drv.c
drivers/accel/ivpu/ivpu_drv.h
drivers/accel/ivpu/ivpu_hw_ip.c

index 0e7748c5e11796084dc86c4cdfdf587ed2b27a93..3d6d52492536aab26ae44b39cacf0207fd98f77a 100644 (file)
@@ -704,6 +704,7 @@ static struct pci_device_id ivpu_pci_ids[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_ARL) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_LNL) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_PTL_P) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_WCL) },
        { }
 };
 MODULE_DEVICE_TABLE(pci, ivpu_pci_ids);
index b6d6b3238b596722e673f03bf47edbc7a228f9ba..17aa3532c76d1f10c6f92f2d20719144b9c90b00 100644 (file)
@@ -26,6 +26,7 @@
 #define PCI_DEVICE_ID_ARL      0xad1d
 #define PCI_DEVICE_ID_LNL      0x643e
 #define PCI_DEVICE_ID_PTL_P    0xb03e
+#define PCI_DEVICE_ID_WCL      0xfd3e
 
 #define IVPU_HW_IP_37XX 37
 #define IVPU_HW_IP_40XX 40
@@ -241,6 +242,7 @@ static inline int ivpu_hw_ip_gen(struct ivpu_device *vdev)
        case PCI_DEVICE_ID_LNL:
                return IVPU_HW_IP_40XX;
        case PCI_DEVICE_ID_PTL_P:
+       case PCI_DEVICE_ID_WCL:
                return IVPU_HW_IP_50XX;
        default:
                dump_stack();
@@ -257,6 +259,7 @@ static inline int ivpu_hw_btrs_gen(struct ivpu_device *vdev)
                return IVPU_HW_BTRS_MTL;
        case PCI_DEVICE_ID_LNL:
        case PCI_DEVICE_ID_PTL_P:
+       case PCI_DEVICE_ID_WCL:
                return IVPU_HW_BTRS_LNL;
        default:
                dump_stack();
index 823f6a57dc54681f70bf22260a28e1fd0df7456f..2bf9882ab52e2171472e2567d193bb8c95d0fa29 100644 (file)
@@ -683,6 +683,7 @@ static void pwr_island_delay_set(struct ivpu_device *vdev)
                return;
 
        switch (ivpu_device_id(vdev)) {
+       case PCI_DEVICE_ID_WCL:
        case PCI_DEVICE_ID_PTL_P:
                post = high ? 18 : 0;
                post1 = 0;