From patchwork Wed Jul 22 11:23:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jai Luthra X-Patchwork-Id: 27435 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id E67A2BDE17 for ; Wed, 22 Jul 2026 11:24:39 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0360B67E96; Wed, 22 Jul 2026 13:24:39 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="OFEzmqoS"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 79476660AE for ; Wed, 22 Jul 2026 13:24:37 +0200 (CEST) Received: from mail.ideasonboard.com (unknown [IPv6:2401:4900:1c68:25d4:fa24:78d1:31:7a56]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id D988F227; Wed, 22 Jul 2026 13:23:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1784719417; bh=0JWTS+jawq5uzbOV/aCpbnCp076URDQYBF0SMrq7we0=; h=From:Subject:Date:To:Cc:From; b=OFEzmqoScfhX+7MmsXSKVTAJD+H7VEy/WWhC8J6kBS88JlhiPCbTIt89IFurRbm2T VEpkSIMWBMO5Oig06ciMb4GMC1gZSX/8Je4iv0jKE1awFeRemPIs6QsRxXQyX22X1R 7eytS096SXKQrMm3ROiuAsrws1UrYjDRWnabEvI0= From: Jai Luthra Subject: [PATCH v2 0/8] Raspberry Pi: Update VC4 pipeline for mainline Date: Wed, 22 Jul 2026 16:53:16 +0530 Message-Id: <20260722-pi4-upstream-v2-0-eb44d3c6fd92@ideasonboard.com> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAAAAAAAC/3XMQQ6DIBCF4auYWZcGCIJ21Xs0LhDGOgvFgCVtD Hcvdd/l/5L3HZAwEia4NQdEzJQorDXkpQE32/WJjHxtkFxqLgVnGyn22tIe0S6s073jrbGKawP 1skWc6H1yj6H2TGkP8XPqWfzWP1AWjDNp+k4JJ9pptHfyaFNYx2Cjv7qwwFBK+QL8YIg1rwAAA A== X-Change-ID: 20260210-pi4-upstream-869c057a4067 To: libcamera-devel@lists.libcamera.org Cc: Naushir Patuck , David Plowman , Laurent Pinchart , Kieran Bingham , Jacopo Mondi , Daniel Scally , Jai Luthra X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2992; i=jai.luthra@ideasonboard.com; h=from:subject:message-id; bh=0JWTS+jawq5uzbOV/aCpbnCp076URDQYBF0SMrq7we0=; b=owEBbQKS/ZANAwAKAUPekfkkmnFFAcsmYgBqYKhZXCglGo7ZHSM+veUPXvfRmbPxJojxi/rkH /FTr9v+4LuJAjMEAAEKAB0WIQRN4NgY5dV16NRar8VD3pH5JJpxRQUCamCoWQAKCRBD3pH5JJpx Rc0DD/4lkJgc9EQ8D//2ryr9ddevo4V2K4wn3wmtjxBHJgZRliVHcyw7AIdTLToUbIlwaFI3gFa e2AB3Rn8SYmUcuM8OY0dDpOUxplXxhTKODoBg2WMQSfTyKdiumdmoJR+laumxsZA0U1ZXqx6hfQ AmQ7t8BMqulZEG88USlEYB3HBId8WV716aMjmu3ctA3PFmbi5wGVs0A5nL+Q3TQrZPCLdl+ahqc MefciH+l9ae2Xv3UwbnRgMVepvD+K1M77fMS5ERfZDLQ2P9IqDEzwnNC0R2N18IRFVtEUj0MKQJ G1YfwB+Bqbl7Tg1OU293nYa3jjahZ/jfnkSlWjVBs1/B2QJPT+HeVdgXlqStGLyA/eIAAw7muo6 NIQS+3Ghd09bdCKWUVmFr0PX3CDOeHslmWDpaVq5f2L27UBjxFBFomnEci4r9OtKMc8j0vBAvc3 UynI5N1JGweFKmjnKajaJRdaN7dzxZH9Zd9NkyCYv0YWHaR4Xoe3UKGIvE+uZBvrG+Hkq63zMHl AZF7xq063898j/h/OMcGjq4NVqMv+yIljc/1JDWCfveoGv6zLTZPqiKH85v3P6uAB+MTh2BQIp6 KllyKYXPgzw9ym5rw3qpBJxi/onVIUhtspfvX8UwxrYC3ZzYxGo66ow27HUKGUvbZpoGBQGSLRA xIM1ECKPa9IgScA== X-Developer-Key: i=jai.luthra@ideasonboard.com; a=openpgp; fpr=4DE0D818E5D575E8D45AAFC543DE91F9249A7145 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, This series has updates to the Raspberry Pi VC4-based image pipeline to work with the mainline variants of the capture (unicam) and ISP (VC4) drivers. The unicam driver is already merged in mainline. The latest revision of the ISP driver is posted here: https://lore.kernel.org/all/20260717-b4-vchiq-isp-v3-0-fb8235e15c68@ideasonboard.com/ For testing this series you can use this kernel branch (with overlays, VCHIQ dependencies and a temporary firmware clock fix): https://github.com/jailuthra/linux/commits/b4/rpi-isp As this series breaks backward-compatibility with older downstream kernels, and modifies a lot of different things, I've tried to split the migration into multiple patches for ease of review: PATCH 1-4 are preparation patches, and should still work with a downstream kernel. PATCH 5-8 transition to the mainline kernel. All of these should be 'bisectable' w.r.t. compilation, but actually running libcamera on a mainline kernel in between the transition of PATCH 5 and PATCH 7 might not work. Signed-off-by: Jai Luthra --- Changes in v2: - Populate the LS table's DMABUF descriptor in the pipeline handler - Split and reorganize migration patches to ease review - Cleanup unused PrepareParams argument in platformPrepareIsp() - Link to v1: https://lore.kernel.org/r/20260210-pi4-upstream-v1-0-279841c15fba@ideasonboard.com --- Jai Luthra (7): ipa: rpi: Drop unused params argument from platformPrepareIsp() include: uapi: bcm2835-isp: Add extensible parameter buffer interface ipa: rpi: vc4: Add Bcm2835Params helper ipa: rpi: Allow sharing params buffer to the IPA pipeline: rpi: vc4: Switch to mainline media topology for bcm2835-isp pipeline/ipa: rpi: vc4: Switch configuration from controls to param buffer include: uapi: bcm2835-isp: Drop legacy V4L2 controls Laurent Pinchart (1): pipeline: rpi: vc4: Configure format on Unicam subdev include/libcamera/ipa/raspberrypi.mojom | 15 +- include/linux/bcm2835-isp.h | 274 +++++++++++++++++++++---- include/linux/v4l2-controls.h | 3 - include/linux/videodev2.h | 3 +- src/ipa/rpi/common/ipa_base.cpp | 13 +- src/ipa/rpi/common/ipa_base.h | 7 +- src/ipa/rpi/pisp/pisp.cpp | 6 +- src/ipa/rpi/vc4/params.h | 79 +++++++ src/ipa/rpi/vc4/vc4.cpp | 225 +++++++++----------- src/libcamera/pipeline/rpi/common/rpi_stream.h | 1 + src/libcamera/pipeline/rpi/pisp/pisp.cpp | 6 +- src/libcamera/pipeline/rpi/vc4/vc4.cpp | 238 ++++++++++++++++----- 12 files changed, 622 insertions(+), 248 deletions(-) --- base-commit: 8c453beec03e428cb63c79f588fbb12b59baddef change-id: 20260210-pi4-upstream-869c057a4067 Best regards,