RE: [PATCH v7 0/7] add support for CDX bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - General]

CDX bus driver series:

Tested-by: Nikhil Agarwal <nikhil.agarwal@xxxxxxx>

On a vnc board for versal-net. Also, on QEMU simulation platform.

> -----Original Message-----
> From: Nipun Gupta <nipun.gupta@xxxxxxx>
> Sent: Tuesday, January 31, 2023 2:11 PM
> To: robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
> gregkh@xxxxxxxxxxxxxxxxxxx; rafael@xxxxxxxxxx; eric.auger@xxxxxxxxxx;
> alex.williamson@xxxxxxxxxx; cohuck@xxxxxxxxxx;
> song.bao.hua@xxxxxxxxxxxxx; mchehab+huawei@xxxxxxxxxx; maz@xxxxxxxxxx;
> f.fainelli@xxxxxxxxx; jeffrey.l.hugo@xxxxxxxxx; saravanak@xxxxxxxxxx;
> Michael.Srba@xxxxxxxxx; mani@xxxxxxxxxx; yishaih@xxxxxxxxxx;
> jgg@xxxxxxxx; jgg@xxxxxxxxxx; robin.murphy@xxxxxxx; will@xxxxxxxxxx;
> joro@xxxxxxxxxx; masahiroy@xxxxxxxxxx; ndesaulniers@xxxxxxxxxx;
> rdunlap@xxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> kbuild@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx
> Cc: okaya@xxxxxxxxxx; Anand, Harpreet <harpreet.anand@xxxxxxx>;
> Agarwal, Nikhil <nikhil.agarwal@xxxxxxx>; Simek, Michal
> <michal.simek@xxxxxxx>; git (AMD-Xilinx) <git@xxxxxxx>; Gupta, Nipun
> <Nipun.Gupta@xxxxxxx>
> Subject: [PATCH v7 0/7] add support for CDX bus
> 
> Introduce 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
> 
> v6 patch series is at:
> https://lore.kernel.org/lkml/20230117134139.1298-4-
> nipun.gupta@xxxxxxx/T/
> 
> Changes v6 -> v7
> - Fix compilation for x86 environment in case CDX bus is enabled
> - Fixed crash in reset if device is not bound to any device driver
> - Update sysfs with typo and other minor changes
> - Removed header file issue reported by make versioncheck
> 
> Changes v5 -> v6
> - updated compatible name in the CDX dt-binding
> - updated reset CDX device and removed redundant function
> - moved from drivers/bus/cdx to drivers/cdx
> - used xarray instead of controller list and ID
> - updated sysfs documentation with more details
> 
> Changes RFC v4 -> v5
> - Fixed device tree documentation
> - Add MCDI as a protocol and RPMsg as transport for communication
>   with RPU Firmware instead of using MCDI stubs.
> - 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@xxxxxxxxxxxxx/
>   It will be added as separate patches.
> 
> Changes RFC v3 -> RFC v4:
>  - Separate CDX bus and CDX controller driver (Greg K-H)
>  - Added MSI interfacing to Firmware for writing MSI message
>    to firmware so it can be provided to the device.
>  - Fix MSI review comments - multiple cleanups (Mark Zynger)
>  - Fix the device tree yaml compilation (Rob Herring, Krzysztof)
>  - removed vfio-cdx from this series. It will be added after bus
>    support is complete (Jason)
> 
> Changes RFC v2 -> RFC v3:
> - Move CDX bus as a new bus type in kernel rather than
>   using the platform devices (Greg K-H, Marc Zynger)
> - Correspondingly update ARM SMMU v3
> - Add support for vfio-cdx driver
> - Updated device tree yaml with correct binding information
>   (Krzysztof Kozlowski)
> - remove 'compatible' sysfs platform patch which was required
>   for CDX devices exposed as platform devices
> 
> Changes RFC v1 -> RFC v2:
> - introduce CDX bus infrastructure
> - fixed code for making compatible visible for devices
>   having the 'compatible' property only (Greg K-H)
> - moved CDX-MSI domain as part of CDX bus infrastructure.
>   previously it was part of irqchip (Marc Zynger).
> - fixed few prints (Greg K-H)
> - support rescan and reset of CDX bus
> - add VFIO reset module for CDX bus based devices
> 
> Abhijit Gangurde (1):
>   cdx: add rpmsg communication channel for CDX
> 
> Nipun Gupta (6):
>   cdx: add the cdx bus driver
>   iommu/arm-smmu-v3: support ops registration for CDX bus
>   dt-bindings: bus: add CDX bus controller for versal net
>   cdx: add MCDI protocol interface for firmware interaction
>   cdx: add cdx controller
>   cdx: add device attributes
> 
>  Documentation/ABI/testing/sysfs-bus-cdx       |  56 ++
>  .../bindings/bus/xlnx,versal-net-cdx.yaml     |  68 ++
>  MAINTAINERS                                   |   8 +
>  drivers/Kconfig                               |   2 +
>  drivers/Makefile                              |   1 +
>  drivers/cdx/Kconfig                           |  19 +
>  drivers/cdx/Makefile                          |   8 +
>  drivers/cdx/cdx.c                             | 553 +++++++++++
>  drivers/cdx/cdx.h                             |  62 ++
>  drivers/cdx/controller/Kconfig                |  30 +
>  drivers/cdx/controller/Makefile               |   9 +
>  drivers/cdx/controller/bitfield.h             |  90 ++
>  drivers/cdx/controller/cdx_controller.c       | 230 +++++
>  drivers/cdx/controller/cdx_controller.h       |  30 +
>  drivers/cdx/controller/cdx_rpmsg.c            | 202 ++++
>  drivers/cdx/controller/mc_cdx_pcol.h          | 590 ++++++++++++
>  drivers/cdx/controller/mcdi.c                 | 911 ++++++++++++++++++
>  drivers/cdx/controller/mcdi.h                 | 247 +++++
>  drivers/cdx/controller/mcdi_functions.c       | 139 +++
>  drivers/cdx/controller/mcdi_functions.h       |  61 ++
>  drivers/iommu/iommu.c                         |   4 +
>  include/linux/cdx/cdx_bus.h                   | 174 ++++
>  include/linux/mod_devicetable.h               |  15 +
>  scripts/mod/devicetable-offsets.c             |   4 +
>  scripts/mod/file2alias.c                      |  12 +
>  25 files changed, 3525 insertions(+)
>  create mode 100644 Documentation/ABI/testing/sysfs-bus-cdx
>  create mode 100644 Documentation/devicetree/bindings/bus/xlnx,versal-
> net-cdx.yaml
>  create mode 100644 drivers/cdx/Kconfig
>  create mode 100644 drivers/cdx/Makefile  create mode 100644
> drivers/cdx/cdx.c  create mode 100644 drivers/cdx/cdx.h  create mode
> 100644 drivers/cdx/controller/Kconfig  create mode 100644
> drivers/cdx/controller/Makefile  create mode 100644
> drivers/cdx/controller/bitfield.h  create mode 100644
> drivers/cdx/controller/cdx_controller.c
>  create mode 100644 drivers/cdx/controller/cdx_controller.h
>  create mode 100644 drivers/cdx/controller/cdx_rpmsg.c
>  create mode 100644 drivers/cdx/controller/mc_cdx_pcol.h
>  create mode 100644 drivers/cdx/controller/mcdi.c  create mode 100644
> drivers/cdx/controller/mcdi.h  create mode 100644
> drivers/cdx/controller/mcdi_functions.c
>  create mode 100644 drivers/cdx/controller/mcdi_functions.h
>  create mode 100644 include/linux/cdx/cdx_bus.h
> 
> --
> 2.17.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux