mbox series

[0/3] HW layer refactor

Message ID 20240515113006.457472-1-jacek.lawrynowicz@linux.intel.com (mailing list archive)
Headers show
Series HW layer refactor | expand

Message

Jacek Lawrynowicz May 15, 2024, 11:30 a.m. UTC
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

Comments

Jacek Lawrynowicz May 17, 2024, 6:53 a.m. UTC | #1
Applied to drm-misc-next

On 15.05.2024 13:30, Jacek Lawrynowicz wrote:
> 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