Hi,
The vc-sm-cma driver allows contiguous memory blocks to be imported into the VideoCore VPU memory map. This series adds support for this driver and changes to VCHIQ MMAL layer required to get it functional.
These changes have lived in the staging directory of the downstream Raspberry Pi tree since quite some time, but are necessary for getting the VCHIQ based peripherals like the ISP and codec functional in mainline.
Thanks, Jai
Signed-off-by: Jai Luthra jai.luthra@ideasonboard.com --- Changes in v2: - Drop patches that are not related to vc-sm-cma, or used for codec and not ISP, so that is v1 PATCH 1, 2, 4, 5, 6, 7, 8, 12 - Move v1 PATCH 11 to the top, adding a Fixes tag - Don't use global singletons for storing `struct vchiq_device` in VCHIQ, instead converting the existing device drivers (audio) to be stored inside `struct vchiq_drv_mgmt` - Update the vc-sm-cma driver to latest standards, like: - Replace MODULE_ALIAS call with a proper device id_table - Add kernel-doc comments for exported functions - Move exported functions to a header under include/linux for use in MMAL (and later V4L2 ISP and codec drivers) - Use xarray instead of deprecated idr to map an integer ID to imported/allocated buffer pointers - Drop unnecessary pr_debug calls - Replacing pr_xxx use with dev_xxx wherever possible - Clean up stray comments - Link to v1: https://lore.kernel.org/r/20251031-b4-vc-sm-cma-v1-0-0dd5c0ec3f5c@ideasonboa...
--- Dave Stevenson (5): platform/raspberrypi: vchiq-mmal: Reset buffers_with_vpu on port_enable platform/raspberrypi: Add VideoCore shared memory support platform/raspberrypi: vchiq-mmal: Use vc-sm-cma to support zero copy platform/raspberrypi: vchiq-mmal: Support sending data to MMAL ports platform/raspberrypi: vchiq: Register vc-sm-cma as a platform driver
Jai Luthra (1): platform/raspberrypi: vchiq: Store audio device in driver management struct
MAINTAINERS | 7 + drivers/platform/raspberrypi/Kconfig | 2 + drivers/platform/raspberrypi/Makefile | 1 + drivers/platform/raspberrypi/vc-sm-cma/Kconfig | 9 + drivers/platform/raspberrypi/vc-sm-cma/Makefile | 5 + drivers/platform/raspberrypi/vc-sm-cma/vc_sm.c | 1571 ++++++++++++++++++++ drivers/platform/raspberrypi/vc-sm-cma/vc_sm.h | 83 ++ .../raspberrypi/vc-sm-cma/vc_sm_cma_vchi.c | 507 +++++++ .../raspberrypi/vc-sm-cma/vc_sm_cma_vchi.h | 63 + .../platform/raspberrypi/vc-sm-cma/vc_sm_defs.h | 298 ++++ .../raspberrypi/vchiq-interface/vchiq_arm.c | 13 +- drivers/platform/raspberrypi/vchiq-mmal/Kconfig | 3 +- .../platform/raspberrypi/vchiq-mmal/mmal-common.h | 4 + .../platform/raspberrypi/vchiq-mmal/mmal-vchiq.c | 85 +- .../platform/raspberrypi/vchiq-mmal/mmal-vchiq.h | 1 + include/linux/raspberrypi/vc_sm_cma_ioctl.h | 110 ++ include/linux/raspberrypi/vc_sm_knl.h | 75 + include/linux/raspberrypi/vchiq_arm.h | 9 + 18 files changed, 2827 insertions(+), 19 deletions(-) --- base-commit: 3e7f562e20ee87a25e104ef4fce557d39d62fa85 change-id: 20251030-b4-vc-sm-cma-f6727c39cd25
Best regards,