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

From: Jiho Chu
Date: Sat Sep 17 2022 - 03:24:50 EST


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@xxxxxxxxxxx/

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