[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230117134139.1298-1-nipun.gupta@amd.com>
Date: Tue, 17 Jan 2023 19:11:32 +0530
From: Nipun Gupta <nipun.gupta@....com>
To: <robh+dt@...nel.org>, <krzysztof.kozlowski+dt@...aro.org>,
<gregkh@...uxfoundation.org>, <rafael@...nel.org>,
<eric.auger@...hat.com>, <alex.williamson@...hat.com>,
<cohuck@...hat.com>, <song.bao.hua@...ilicon.com>,
<mchehab+huawei@...nel.org>, <maz@...nel.org>,
<f.fainelli@...il.com>, <jeffrey.l.hugo@...il.com>,
<saravanak@...gle.com>, <Michael.Srba@...nam.cz>,
<mani@...nel.org>, <yishaih@...dia.com>, <jgg@...pe.ca>,
<jgg@...dia.com>, <robin.murphy@....com>, <will@...nel.org>,
<joro@...tes.org>, <masahiroy@...nel.org>,
<ndesaulniers@...gle.com>, <linux-arm-kernel@...ts.infradead.org>,
<linux-kbuild@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<devicetree@...r.kernel.org>
CC: <okaya@...nel.org>, <harpreet.anand@....com>,
<nikhil.agarwal@....com>, <michal.simek@....com>, <git@....com>,
Nipun Gupta <nipun.gupta@....com>
Subject: [PATCH 0/7] add support for CDX bus
Introduces AMD CDX bus, which provides a mechanism to
discover/rescan CDX devices. The CDX devices are
memory mapped on system bus for embedded CPUs.
CDX controller interacts with the firmware to query different
CDX devices present in the Fabric and expose them to the Linux
host on CDX bus.
This patch series:
- Introduces the CDX bus and CDX devices.
- Device tree binding for CDX controller
- Support for CDX bus in arm-smmu-v3 driver
- Add MCDI (Management CPU Driver Interface) as a protocol
for communication with RPU Firmware
- Support RPMSg channel for Firmware communication
MSI patches for CDX are not added in this series as it's
support is being revisited as per patch series:
https://lore.kernel.org/all/20221111133158.196269823@linutronix.de/
It will be added as separate patches.
RFC changes with stubs were submitted at:
https://lore.kernel.org/linux-arm-kernel/20221014044049.2557085-1-nipun.gupta@amd.com/
Abhijit Gangurde (1):
bus/cdx: add rpmsg communication channel for CDX
Nipun Gupta (6):
bus/cdx: add the cdx bus driver
iommu/arm-smmu-v3: support ops registration for CDX bus
dt-bindings: bus: add CDX bus controller device tree bindings
bus/cdx: add MCDI protocol interface for firmware interaction
bus/cdx: add cdx controller
bus/cdx: add device attributes
Documentation/ABI/testing/sysfs-bus-cdx | 46 +
.../bindings/bus/xlnx,cdxbus-controller.yaml | 68 ++
MAINTAINERS | 8 +
drivers/bus/Kconfig | 1 +
drivers/bus/Makefile | 2 +
drivers/bus/cdx/Kconfig | 16 +
drivers/bus/cdx/Makefile | 8 +
drivers/bus/cdx/cdx.c | 577 +++++++++++
drivers/bus/cdx/cdx.h | 62 ++
drivers/bus/cdx/controller/Kconfig | 30 +
drivers/bus/cdx/controller/Makefile | 9 +
drivers/bus/cdx/controller/bitfield.h | 88 ++
drivers/bus/cdx/controller/cdx_controller.c | 282 ++++++
drivers/bus/cdx/controller/cdx_controller.h | 30 +
drivers/bus/cdx/controller/cdx_rpmsg.c | 222 +++++
drivers/bus/cdx/controller/mc_cdx_pcol.h | 707 ++++++++++++++
drivers/bus/cdx/controller/mcdi.c | 918 ++++++++++++++++++
drivers/bus/cdx/controller/mcdi.h | 259 +++++
drivers/bus/cdx/controller/mcdi_functions.c | 139 +++
drivers/bus/cdx/controller/mcdi_functions.h | 61 ++
drivers/iommu/iommu.c | 4 +
include/linux/cdx/cdx_bus.h | 176 ++++
include/linux/mod_devicetable.h | 15 +
scripts/mod/devicetable-offsets.c | 4 +
scripts/mod/file2alias.c | 12 +
25 files changed, 3744 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-cdx
create mode 100644 Documentation/devicetree/bindings/bus/xlnx,cdxbus-controller.yaml
create mode 100644 drivers/bus/cdx/Kconfig
create mode 100644 drivers/bus/cdx/Makefile
create mode 100644 drivers/bus/cdx/cdx.c
create mode 100644 drivers/bus/cdx/cdx.h
create mode 100644 drivers/bus/cdx/controller/Kconfig
create mode 100644 drivers/bus/cdx/controller/Makefile
create mode 100644 drivers/bus/cdx/controller/bitfield.h
create mode 100644 drivers/bus/cdx/controller/cdx_controller.c
create mode 100644 drivers/bus/cdx/controller/cdx_controller.h
create mode 100644 drivers/bus/cdx/controller/cdx_rpmsg.c
create mode 100644 drivers/bus/cdx/controller/mc_cdx_pcol.h
create mode 100644 drivers/bus/cdx/controller/mcdi.c
create mode 100644 drivers/bus/cdx/controller/mcdi.h
create mode 100644 drivers/bus/cdx/controller/mcdi_functions.c
create mode 100644 drivers/bus/cdx/controller/mcdi_functions.h
create mode 100644 include/linux/cdx/cdx_bus.h
--
2.17.1
Powered by blists - more mailing lists