The NPU device consists of two parts: NPU buttress and NPU IP. Buttress is a platform specific part that integrates the NPU IP with the CPU. NPU IP is the platform agnostic part that does the inference. This refactor enables support for multiple platforms using a single NPU IP, so for example NPU IP 37XX could be integrated into MTL and LNL platforms. Jacek Lawrynowicz (1): accel/ivpu: Replace wake_thread with kfifo Wachowski, Karol (2): accel/ivpu: Split IP and buttress headers accel/ivpu: Split IP and buttress code drivers/accel/ivpu/Makefile | 5 +- drivers/accel/ivpu/ivpu_debugfs.c | 2 +- drivers/accel/ivpu/ivpu_drv.c | 32 +- drivers/accel/ivpu/ivpu_drv.h | 33 +- drivers/accel/ivpu/ivpu_fw.c | 20 +- drivers/accel/ivpu/ivpu_hw.c | 313 +++++ drivers/accel/ivpu/ivpu_hw.h | 196 ++-- drivers/accel/ivpu/ivpu_hw_37xx.c | 1070 ------------------ drivers/accel/ivpu/ivpu_hw_37xx_reg.h | 72 -- drivers/accel/ivpu/ivpu_hw_40xx.c | 1255 --------------------- drivers/accel/ivpu/ivpu_hw_40xx_reg.h | 94 +- drivers/accel/ivpu/ivpu_hw_btrs.c | 881 +++++++++++++++ drivers/accel/ivpu/ivpu_hw_btrs.h | 46 + drivers/accel/ivpu/ivpu_hw_btrs_lnl_reg.h | 108 ++ drivers/accel/ivpu/ivpu_hw_btrs_mtl_reg.h | 83 ++ drivers/accel/ivpu/ivpu_hw_ip.c | 1174 +++++++++++++++++++ drivers/accel/ivpu/ivpu_hw_ip.h | 36 + drivers/accel/ivpu/ivpu_ipc.c | 17 +- drivers/accel/ivpu/ivpu_ipc.h | 4 +- drivers/accel/ivpu/ivpu_job.c | 2 +- 20 files changed, 2799 insertions(+), 2644 deletions(-) create mode 100644 drivers/accel/ivpu/ivpu_hw.c delete mode 100644 drivers/accel/ivpu/ivpu_hw_37xx.c delete mode 100644 drivers/accel/ivpu/ivpu_hw_40xx.c create mode 100644 drivers/accel/ivpu/ivpu_hw_btrs.c create mode 100644 drivers/accel/ivpu/ivpu_hw_btrs.h create mode 100644 drivers/accel/ivpu/ivpu_hw_btrs_lnl_reg.h create mode 100644 drivers/accel/ivpu/ivpu_hw_btrs_mtl_reg.h create mode 100644 drivers/accel/ivpu/ivpu_hw_ip.c create mode 100644 drivers/accel/ivpu/ivpu_hw_ip.h -- 2.43.2