[PATCH v2 00/13] Samsung Trinity NPU device driver-v2

Jiho Chu posted 13 patches 3 years, 6 months ago
.../ABI/testing/sysfs-driver-trinity          |   55 +
.../bindings/arm/samsung,trinity.yaml         |  115 ++
MAINTAINERS                                   |    8 +
drivers/misc/Kconfig                          |    1 +
drivers/misc/Makefile                         |    1 +
drivers/misc/trinity/Kconfig                  |   25 +
drivers/misc/trinity/Makefile                 |   13 +
drivers/misc/trinity/trinity.c                | 1019 ++++++++++
drivers/misc/trinity/trinity_common.h         |  437 +++++
drivers/misc/trinity/trinity_debug.c          |  331 ++++
drivers/misc/trinity/trinity_dma.c            |   83 +
drivers/misc/trinity/trinity_dma.h            |   87 +
drivers/misc/trinity/trinity_hwmem.c          |  380 ++++
drivers/misc/trinity/trinity_hwmem.h          |   81 +
drivers/misc/trinity/trinity_sched.c          |  338 ++++
drivers/misc/trinity/trinity_sched.h          |   24 +
drivers/misc/trinity/trinity_stat.c           |  898 +++++++++
drivers/misc/trinity/trinity_stat.h           |   56 +
drivers/misc/trinity/trinity_sysfs.c          |  667 +++++++
drivers/misc/trinity/trinity_trace.c          |   15 +
drivers/misc/trinity/trinity_trace.h          |  329 ++++
drivers/misc/trinity/trinity_vision2_drv.c    | 1685 +++++++++++++++++
.../misc/trinity/trinity_vision2_profile.h    |  324 ++++
drivers/misc/trinity/trinity_vision2_regs.h   |  210 ++
include/uapi/misc/trinity.h                   |  476 +++++
25 files changed, 7658 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-driver-trinity
create mode 100644 Documentation/devicetree/bindings/arm/samsung,trinity.yaml
create mode 100644 drivers/misc/trinity/Kconfig
create mode 100644 drivers/misc/trinity/Makefile
create mode 100644 drivers/misc/trinity/trinity.c
create mode 100644 drivers/misc/trinity/trinity_common.h
create mode 100644 drivers/misc/trinity/trinity_debug.c
create mode 100644 drivers/misc/trinity/trinity_dma.c
create mode 100644 drivers/misc/trinity/trinity_dma.h
create mode 100644 drivers/misc/trinity/trinity_hwmem.c
create mode 100644 drivers/misc/trinity/trinity_hwmem.h
create mode 100644 drivers/misc/trinity/trinity_sched.c
create mode 100644 drivers/misc/trinity/trinity_sched.h
create mode 100644 drivers/misc/trinity/trinity_stat.c
create mode 100644 drivers/misc/trinity/trinity_stat.h
create mode 100644 drivers/misc/trinity/trinity_sysfs.c
create mode 100644 drivers/misc/trinity/trinity_trace.c
create mode 100644 drivers/misc/trinity/trinity_trace.h
create mode 100644 drivers/misc/trinity/trinity_vision2_drv.c
create mode 100644 drivers/misc/trinity/trinity_vision2_profile.h
create mode 100644 drivers/misc/trinity/trinity_vision2_regs.h
create mode 100644 include/uapi/misc/trinity.h
[PATCH v2 00/13] Samsung Trinity NPU device driver-v2
Posted by Jiho Chu 3 years, 6 months ago
Hello,

This patch set is v2 of Samsung Trinity NPU driver.
As reviews of v1, unnecessary logs are removed, and essential documents
including binding and ABI are presented.

There were some violations like user space access, abstraction and open
count. They modified in right way as much as possible, but if there are any
faults, please let me know.

Unnecessary functions are removed, and each patch is reduced
in size for better reading.

Thanks for reviews.

The main changes are:

Since V2:
- Remove all tracing info logs
- Remove abstraction layer for scheduler
- Remove access to user space file
- USE IDA to generate id
- Add ABI document for sysfs
- Add dt-bindings document
- Use default group for sysfs

Link to v1:
https://lore.kernel.org/all/20220725065308.2457024-1-jiho.chu@samsung.com/

I would highly appreciate your feedback.
Reviews, questions or anythings.

Thanks,
Jiho Chu
 
Jiho Chu (13):
  trinity: Add base driver
  tirnity: Add memory module
  trinity: Add IDU feature
  trinity: Add schduler module
  trinity: Add debugfs module
  trinity: add statistics module
  trinity: Add sysfs module
  trinity: Add ioctl feature
  trinity: Add request and pm feature
  trinity: Add profile module
  trinity: Add trace module
  MAINTAINERS: add TRINITY driver
  dt-bindings: arm: Add Samsung Trinity bindings

 .../ABI/testing/sysfs-driver-trinity          |   55 +
 .../bindings/arm/samsung,trinity.yaml         |  115 ++
 MAINTAINERS                                   |    8 +
 drivers/misc/Kconfig                          |    1 +
 drivers/misc/Makefile                         |    1 +
 drivers/misc/trinity/Kconfig                  |   25 +
 drivers/misc/trinity/Makefile                 |   13 +
 drivers/misc/trinity/trinity.c                | 1019 ++++++++++
 drivers/misc/trinity/trinity_common.h         |  437 +++++
 drivers/misc/trinity/trinity_debug.c          |  331 ++++
 drivers/misc/trinity/trinity_dma.c            |   83 +
 drivers/misc/trinity/trinity_dma.h            |   87 +
 drivers/misc/trinity/trinity_hwmem.c          |  380 ++++
 drivers/misc/trinity/trinity_hwmem.h          |   81 +
 drivers/misc/trinity/trinity_sched.c          |  338 ++++
 drivers/misc/trinity/trinity_sched.h          |   24 +
 drivers/misc/trinity/trinity_stat.c           |  898 +++++++++
 drivers/misc/trinity/trinity_stat.h           |   56 +
 drivers/misc/trinity/trinity_sysfs.c          |  667 +++++++
 drivers/misc/trinity/trinity_trace.c          |   15 +
 drivers/misc/trinity/trinity_trace.h          |  329 ++++
 drivers/misc/trinity/trinity_vision2_drv.c    | 1685 +++++++++++++++++
 .../misc/trinity/trinity_vision2_profile.h    |  324 ++++
 drivers/misc/trinity/trinity_vision2_regs.h   |  210 ++
 include/uapi/misc/trinity.h                   |  476 +++++
 25 files changed, 7658 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-trinity
 create mode 100644 Documentation/devicetree/bindings/arm/samsung,trinity.yaml
 create mode 100644 drivers/misc/trinity/Kconfig
 create mode 100644 drivers/misc/trinity/Makefile
 create mode 100644 drivers/misc/trinity/trinity.c
 create mode 100644 drivers/misc/trinity/trinity_common.h
 create mode 100644 drivers/misc/trinity/trinity_debug.c
 create mode 100644 drivers/misc/trinity/trinity_dma.c
 create mode 100644 drivers/misc/trinity/trinity_dma.h
 create mode 100644 drivers/misc/trinity/trinity_hwmem.c
 create mode 100644 drivers/misc/trinity/trinity_hwmem.h
 create mode 100644 drivers/misc/trinity/trinity_sched.c
 create mode 100644 drivers/misc/trinity/trinity_sched.h
 create mode 100644 drivers/misc/trinity/trinity_stat.c
 create mode 100644 drivers/misc/trinity/trinity_stat.h
 create mode 100644 drivers/misc/trinity/trinity_sysfs.c
 create mode 100644 drivers/misc/trinity/trinity_trace.c
 create mode 100644 drivers/misc/trinity/trinity_trace.h
 create mode 100644 drivers/misc/trinity/trinity_vision2_drv.c
 create mode 100644 drivers/misc/trinity/trinity_vision2_profile.h
 create mode 100644 drivers/misc/trinity/trinity_vision2_regs.h
 create mode 100644 include/uapi/misc/trinity.h

-- 
2.25.1