Skip to content

Commit c140244

Browse files
m-falkowskijlawryno
authored andcommitted
accel/ivpu: Add initial Panther Lake support
Add support for the 5th generation of Intel NPU that is going to be present in PTL_P (Panther Lake) CPUs. NPU5 code reuses almost all of previous driver code. Signed-off-by: Maciej Falkowski <maciej.falkowski@linux.intel.com> Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241004162505.1695605-2-maciej.falkowski@linux.intel.com Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
1 parent c4fd597 commit c140244

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

drivers/accel/ivpu/ivpu_drv.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,7 @@ static struct pci_device_id ivpu_pci_ids[] = {
742742
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_MTL) },
743743
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_ARL) },
744744
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_LNL) },
745+
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_PTL_P) },
745746
{ }
746747
};
747748
MODULE_DEVICE_TABLE(pci, ivpu_pci_ids);

drivers/accel/ivpu/ivpu_drv.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@
2222
#define DRIVER_NAME "intel_vpu"
2323
#define DRIVER_DESC "Driver for Intel NPU (Neural Processing Unit)"
2424

25-
#define PCI_DEVICE_ID_MTL 0x7d1d
26-
#define PCI_DEVICE_ID_ARL 0xad1d
27-
#define PCI_DEVICE_ID_LNL 0x643e
25+
#define PCI_DEVICE_ID_MTL 0x7d1d
26+
#define PCI_DEVICE_ID_ARL 0xad1d
27+
#define PCI_DEVICE_ID_LNL 0x643e
28+
#define PCI_DEVICE_ID_PTL_P 0xb03e
2829

2930
#define IVPU_HW_IP_37XX 37
3031
#define IVPU_HW_IP_40XX 40
@@ -224,6 +225,8 @@ static inline int ivpu_hw_ip_gen(struct ivpu_device *vdev)
224225
return IVPU_HW_IP_37XX;
225226
case PCI_DEVICE_ID_LNL:
226227
return IVPU_HW_IP_40XX;
228+
case PCI_DEVICE_ID_PTL_P:
229+
return IVPU_HW_IP_50XX;
227230
default:
228231
dump_stack();
229232
ivpu_err(vdev, "Unknown NPU IP generation\n");
@@ -238,6 +241,7 @@ static inline int ivpu_hw_btrs_gen(struct ivpu_device *vdev)
238241
case PCI_DEVICE_ID_ARL:
239242
return IVPU_HW_BTRS_MTL;
240243
case PCI_DEVICE_ID_LNL:
244+
case PCI_DEVICE_ID_PTL_P:
241245
return IVPU_HW_BTRS_LNL;
242246
default:
243247
dump_stack();

drivers/accel/ivpu/ivpu_fw.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,14 @@ static struct {
5757
{ IVPU_HW_IP_37XX, "intel/vpu/vpu_37xx_v0.0.bin" },
5858
{ IVPU_HW_IP_40XX, "vpu_40xx.bin" },
5959
{ IVPU_HW_IP_40XX, "intel/vpu/vpu_40xx_v0.0.bin" },
60+
{ IVPU_HW_IP_50XX, "vpu_50xx.bin" },
61+
{ IVPU_HW_IP_50XX, "intel/vpu/vpu_50xx_v0.0.bin" },
6062
};
6163

6264
/* Production fw_names from the table above */
6365
MODULE_FIRMWARE("intel/vpu/vpu_37xx_v0.0.bin");
6466
MODULE_FIRMWARE("intel/vpu/vpu_40xx_v0.0.bin");
67+
MODULE_FIRMWARE("intel/vpu/vpu_50xx_v0.0.bin");
6568

6669
static int ivpu_fw_request(struct ivpu_device *vdev)
6770
{

0 commit comments

Comments
 (0)