Skip to content

Intel Vision Processing Unit base enabling part 1

[email protected] linux-devicetree linux-doc lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest22 patches 10 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/22Add Vision Processing Unit (VPU) documentation.Documentation/index.rst Documentation/vpu/index.rst Documentation/vpu/vpu-stack-overview.rst+285 -10 replies
2/22dt-bindings: Add bindings for Keem Bay IPC driverDocumentation/devicetree/bindings/soc/intel/intel,keembay-ipc.yaml+63 -00 replies
3/22keembay-ipc: Add Keem Bay IPC moduleMAINTAINERS drivers/soc/Kconfig drivers/soc/Makefile +4 more+1730 -00 replies
4/22dt-bindings: Add bindings for Keem Bay VPU IPC driverDocumentation/devicetree/bindings/soc/intel/intel,keembay-vpu-ipc.yaml+151 -00 replies
5/22keembay-vpu-ipc: Add Keem Bay VPU IPC moduleMAINTAINERS drivers/soc/intel/Kconfig drivers/soc/intel/Makefile +2 more+2124 -10 replies
6/22misc: xlink-pcie: Add documentation for XLink PCIe driverDocumentation/vpu/index.rst Documentation/vpu/xlink-pcie.rst+92 -00 replies
7/22misc: xlink-pcie: lh: Add PCIe EPF driver for Local HostMAINTAINERS drivers/misc/Kconfig drivers/misc/Makefile +6 more+527 -07 replies
8/22misc: xlink-pcie: lh: Add PCIe EP DMA functionalitydrivers/misc/xlink-pcie/local_host/Makefile drivers/misc/xlink-pcie/local_host/dma.c drivers/misc/xlink-pcie/local_host/epf.c +1 more+631 -30 replies
9/22misc: xlink-pcie: lh: Add core communication logicdrivers/misc/xlink-pcie/local_host/Makefile drivers/misc/xlink-pcie/local_host/core.c drivers/misc/xlink-pcie/local_host/core.h +6 more+1847 -81 reply
10/22misc: xlink-pcie: lh: Prepare changes for adding remote host driverdrivers/misc/xlink-pcie/common/core.h drivers/misc/xlink-pcie/common/util.c drivers/misc/xlink-pcie/common/util.h +4 more+5 -50 replies
11/22misc: xlink-pcie: rh: Add PCIe EP driver for Remote HostMAINTAINERS drivers/misc/xlink-pcie/Kconfig drivers/misc/xlink-pcie/Makefile +5 more+625 -10 replies
12/22misc: xlink-pcie: rh: Add core communication logicdrivers/misc/xlink-pcie/common/core.h drivers/misc/xlink-pcie/remote_host/Makefile drivers/misc/xlink-pcie/remote_host/core.c +1 more+696 -120 replies
13/22misc: xlink-pcie: Add XLink API interfacedrivers/misc/xlink-pcie/common/interface.c drivers/misc/xlink-pcie/local_host/Makefile drivers/misc/xlink-pcie/remote_host/Makefile+111 -00 replies
14/22misc: xlink-pcie: Add asynchronous event notification support for XLinkdrivers/misc/xlink-pcie/common/core.h drivers/misc/xlink-pcie/common/interface.c drivers/misc/xlink-pcie/local_host/core.c +4 more+85 -00 replies
15/22xlink-ipc: Add xlink ipc device tree bindingsDocumentation/devicetree/bindings/misc/intel,keembay-xlink-ipc.yaml+49 -00 replies
16/22xlink-ipc: Add xlink ipc driverDocumentation/vpu/index.rst Documentation/vpu/xlink-ipc.rst MAINTAINERS +6 more+997 -00 replies
17/22xlink-core: Add xlink core device tree bindingsDocumentation/devicetree/bindings/misc/intel,keembay-xlink.yaml+27 -00 replies
18/22xlink-core: Add xlink core driver xLinkDocumentation/vpu/index.rst Documentation/vpu/xlink-core.rst MAINTAINERS +12 more+2225 -00 replies
19/22xlink-core: Enable xlink protocol over pciedrivers/misc/xlink-core/Makefile drivers/misc/xlink-core/xlink-core.c drivers/misc/xlink-core/xlink-dispatcher.c +2 more+1001 -40 replies
20/22xlink-core: Enable VPU IP management and runtime controldrivers/misc/xlink-core/xlink-core.c drivers/misc/xlink-core/xlink-defs.h drivers/misc/xlink-core/xlink-multiplexer.c +2 more+573 -60 replies
21/22xlink-core: add async channel and eventsdrivers/misc/xlink-core/xlink-core.c drivers/misc/xlink-core/xlink-defs.h drivers/misc/xlink-core/xlink-dispatcher.c +3 more+609 -880 replies
22/22xlink-core: factorize xlink_ioctl function by creating sub-functions for each ioctl commanddrivers/misc/xlink-core/Makefile drivers/misc/xlink-core/xlink-core.c drivers/misc/xlink-core/xlink-core.h +3 more+773 -5000 replies

Reviews trailers per patch

All 22 patches have a Reviewed-by or Acked-by.

PatchMark Gross
1/22R-b
2/22R-b
3/22R-b
4/22R-b
5/22R-b
6/22R-b
7/22R-b
8/22R-b
9/22R-b
10/22R-b
11/22R-b
12/22R-b
13/22R-b
14/22R-b
15/22R-b
16/22R-b
17/22R-b
18/22R-b
19/22R-b
20/22R-b
21/22R-b
22/22R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/22] Intel Vision Processing Unit base enabling part 1

From: mark gross <[email protected]>

The Intel Vision Processing Unit (VPU) is an IP block that is showing up for the first time as part of the Keem Bay SOC. Keem Bay is a quad core A53 Arm SOC. It is designed to be used as a stand alone SOC as well as in an PCIe Vision Processing accelerator add in card.

This part 1 of the patches make up the base or core of the stack needed to enable both use cases for the VPU.

Part 2 includes 11 more patches that depend on part 1. Those should be ready in a couple of weeks or less.

I am trying something a bit new with this sequence where I've been working with the driver developers as a "pre-maintainer" reviewing and enforcing the kernel expectations as I understand them. Its taken a couple of months to get this code to the point I feel its ready for public posting. My goal is to make sure it meets expectations for quality and compliance with kernel expectations and there will be mostly technical / design issues to talk about.

Thanks for looking at these and providing feedback.

--mark
p.s. I have had a problem my MTA configuration between mutt and git send-email where I was using msmpt to send from mutt (because 15+ years ago its the first way I got to work and never changed) while my worstation MTA that git send-email uses was un-configured resulting in my return-path naming my workstion withing the firewall. I suck at email administration.

I appologies for the multiple copies.

Daniele Alessandrelli (2):
dt-bindings: Add bindings for Keem Bay IPC driver
keembay-ipc: Add Keem Bay IPC module

Paul Murphy (2):
dt-bindings: Add bindings for Keem Bay VPU IPC driver
keembay-vpu-ipc: Add Keem Bay VPU IPC module

Seamus Kelly (8):
xlink-ipc: Add xlink ipc device tree bindings
xlink-ipc: Add xlink ipc driver
xlink-core: Add xlink core device tree bindings
xlink-core: Add xlink core driver xLink
xlink-core: Enable xlink protocol over pcie
xlink-core: Enable VPU IP management and runtime control
xlink-core: add async channel and events
xlink-core: factorize xlink_ioctl function by creating sub-functions
for each ioctl command

Srikanth Thokala (9):
misc: xlink-pcie: Add documentation for XLink PCIe driver
misc: xlink-pcie: lh: Add PCIe EPF driver for Local Host
misc: xlink-pcie: lh: Add PCIe EP DMA functionality
misc: xlink-pcie: lh: Add core communication logic
misc: xlink-pcie: lh: Prepare changes for adding remote host driver
misc: xlink-pcie: rh: Add PCIe EP driver for Remote Host
misc: xlink-pcie: rh: Add core communication logic
misc: xlink-pcie: Add XLink API interface
misc: xlink-pcie: Add asynchronous event notification support for
XLink

mark gross (1):
Add Vision Processing Unit (VPU) documentation.

 .../misc/intel,keembay-xlink-ipc.yaml         |   49 +
 .../bindings/misc/intel,keembay-xlink.yaml    |   27 +
 .../bindings/soc/intel/intel,keembay-ipc.yaml |   63 +
 .../soc/intel/intel,keembay-vpu-ipc.yaml      |  151 ++
 Documentation/index.rst                       |    3 +-
 Documentation/vpu/index.rst                   |   19 +
 Documentation/vpu/vpu-stack-overview.rst      |  267 +++
 Documentation/vpu/xlink-core.rst              |   80 +
 Documentation/vpu/xlink-ipc.rst               |   50 +
 Documentation/vpu/xlink-pcie.rst              |   91 +
 MAINTAINERS                                   |   41 +
 drivers/misc/Kconfig                          |    3 +
 drivers/misc/Makefile                         |    3 +
 drivers/misc/xlink-core/Kconfig               |   33 +
 drivers/misc/xlink-core/Makefile              |    5 +
 drivers/misc/xlink-core/xlink-core.c          | 1335 +++++++++++
 drivers/misc/xlink-core/xlink-core.h          |   24 +
 drivers/misc/xlink-core/xlink-defs.h          |  181 ++
 drivers/misc/xlink-core/xlink-dispatcher.c    |  436 ++++
 drivers/misc/xlink-core/xlink-dispatcher.h    |   26 +
 drivers/misc/xlink-core/xlink-ioctl.c         |  584 +++++
 drivers/misc/xlink-core/xlink-ioctl.h         |   36 +
 drivers/misc/xlink-core/xlink-multiplexer.c   | 1164 ++++++++++
 drivers/misc/xlink-core/xlink-multiplexer.h   |   35 +
 drivers/misc/xlink-core/xlink-platform.c      |  273 +++
 drivers/misc/xlink-core/xlink-platform.h      |   65 +
 drivers/misc/xlink-ipc/Kconfig                |    7 +
 drivers/misc/xlink-ipc/Makefile               |    4 +
 drivers/misc/xlink-ipc/xlink-ipc.c            |  879 +++++++
 drivers/misc/xlink-pcie/Kconfig               |   20 +
 drivers/misc/xlink-pcie/Makefile              |    2 +
 drivers/misc/xlink-pcie/common/core.h         |  247 ++
 drivers/misc/xlink-pcie/common/interface.c    |  126 +
 drivers/misc/xlink-pcie/common/util.c         |  375 +++
 drivers/misc/xlink-pcie/common/util.h         |   70 +
 drivers/misc/xlink-pcie/common/xpcie.h        |  120 +
 drivers/misc/xlink-pcie/local_host/Makefile   |    6 +
 drivers/misc/xlink-pcie/local_host/core.c     |  905 ++++++++
 drivers/misc/xlink-pcie/local_host/dma.c      |  577 +++++
 drivers/misc/xlink-pcie/local_host/epf.c      |  523 +++++
 drivers/misc/xlink-pcie/local_host/epf.h      |  106 +
 drivers/misc/xlink-pcie/remote_host/Makefile  |    6 +
 drivers/misc/xlink-pcie/remote_host/core.c    |  647 ++++++
 drivers/misc/xlink-pcie/remote_host/main.c    |   96 +
 drivers/misc/xlink-pcie/remote_host/pci.c     |  525 +++++
 drivers/misc/xlink-pcie/remote_host/pci.h     |   67 +
 drivers/soc/Kconfig                           |    1 +
 drivers/soc/Makefile                          |    1 +
 drivers/soc/intel/Kconfig                     |   32 +
 drivers/soc/intel/Makefile                    |    5 +
 drivers/soc/intel/keembay-ipc.c               | 1669 ++++++++++++++
 drivers/soc/intel/keembay-vpu-ipc.c           | 2036 +++++++++++++++++
 include/linux/soc/intel/keembay-ipc.h         |   30 +
 include/linux/soc/intel/keembay-vpu-ipc.h     |   62 +
 include/linux/xlink-ipc.h                     |   48 +
 include/linux/xlink.h                         |  146 ++
 include/linux/xlink_drv_inf.h                 |   72 +
 include/uapi/misc/xlink_uapi.h                |  145 ++
 58 files changed, 14598 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/misc/intel,keembay-xlink-ipc.yaml
 create mode 100644 Documentation/devicetree/bindings/misc/intel,keembay-xlink.yaml
 create mode 100644 Documentation/devicetree/bindings/soc/intel/intel,keembay-ipc.yaml
 create mode 100644 Documentation/devicetree/bindings/soc/intel/intel,keembay-vpu-ipc.yaml
 create mode 100644 Documentation/vpu/index.rst
 create mode 100644 Documentation/vpu/vpu-stack-overview.rst
 create mode 100644 Documentation/vpu/xlink-core.rst
 create mode 100644 Documentation/vpu/xlink-ipc.rst
 create mode 100644 Documentation/vpu/xlink-pcie.rst
 create mode 100644 drivers/misc/xlink-core/Kconfig
 create mode 100644 drivers/misc/xlink-core/Makefile
 create mode 100644 drivers/misc/xlink-core/xlink-core.c
 create mode 100644 drivers/misc/xlink-core/xlink-core.h
 create mode 100644 drivers/misc/xlink-core/xlink-defs.h
 create mode 100644 drivers/misc/xlink-core/xlink-dispatcher.c
 create mode 100644 drivers/misc/xlink-core/xlink-dispatcher.h
 create mode 100644 drivers/misc/xlink-core/xlink-ioctl.c
 create mode 100644 drivers/misc/xlink-core/xlink-ioctl.h
 create mode 100644 drivers/misc/xlink-core/xlink-multiplexer.c
 create mode 100644 drivers/misc/xlink-core/xlink-multiplexer.h
 create mode 100644 drivers/misc/xlink-core/xlink-platform.c
 create mode 100644 drivers/misc/xlink-core/xlink-platform.h
 create mode 100644 drivers/misc/xlink-ipc/Kconfig
 create mode 100644 drivers/misc/xlink-ipc/Makefile
 create mode 100644 drivers/misc/xlink-ipc/xlink-ipc.c
 create mode 100644 drivers/misc/xlink-pcie/Kconfig
 create mode 100644 drivers/misc/xlink-pcie/Makefile
 create mode 100644 drivers/misc/xlink-pcie/common/core.h
 create mode 100644 drivers/misc/xlink-pcie/common/interface.c
 create mode 100644 drivers/misc/xlink-pcie/common/util.c
 create mode 100644 drivers/misc/xlink-pcie/common/util.h
 create mode 100644 drivers/misc/xlink-pcie/common/xpcie.h
 create mode 100644 drivers/misc/xlink-pcie/local_host/Makefile
 create mode 100644 drivers/misc/xlink-pcie/local_host/core.c
 create mode 100644 drivers/misc/xlink-pcie/local_host/dma.c
 create mode 100644 drivers/misc/xlink-pcie/local_host/epf.c
 create mode 100644 drivers/misc/xlink-pcie/local_host/epf.h
 create mode 100644 drivers/misc/xlink-pcie/remote_host/Makefile
 create mode 100644 drivers/misc/xlink-pcie/remote_host/core.c
 create mode 100644 drivers/misc/xlink-pcie/remote_host/main.c
 create mode 100644 drivers/misc/xlink-pcie/remote_host/pci.c
 create mode 100644 drivers/misc/xlink-pcie/remote_host/pci.h
 create mode 100644 drivers/soc/intel/Kconfig
 create mode 100644 drivers/soc/intel/Makefile
 create mode 100644 drivers/soc/intel/keembay-ipc.c
 create mode 100644 drivers/soc/intel/keembay-vpu-ipc.c
 create mode 100644 include/linux/soc/intel/keembay-ipc.h
 create mode 100644 include/linux/soc/intel/keembay-vpu-ipc.h
 create mode 100644 include/linux/xlink-ipc.h
 create mode 100644 include/linux/xlink.h
 create mode 100644 include/linux/xlink_drv_inf.h
 create mode 100644 include/uapi/misc/xlink_uapi.h
Signature · 1 line
2.17.1