From patchwork Thu May 7 12:20:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 26671 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 E84C7BE173 for ; Thu, 7 May 2026 12:55:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4CD3463025; Thu, 7 May 2026 14:55:04 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="b5YkILJg"; dkim-atps=neutral Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 7A3D162010 for ; Thu, 7 May 2026 14:55:02 +0200 (CEST) Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-43d73422431so705443f8f.2 for ; Thu, 07 May 2026 05:55:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1778158502; x=1778763302; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=7UkN3cnnarvb30PMakfaYrpbwzco4n6JnduTeo2meMo=; b=b5YkILJgMG/VBabxHZCXGMABwRYBNILMeL1bbdWRfMp6FEh7Jlz1VFfaOG3pQBYn90 /ErVqc5Pl7sORdm1txVjRCCJBDTpCKEfauWc6Y4oFXgHMBgmY4hBkLtFB6VjoIrO2Yqv OxQKEy3nQIFi7KS0p2HfF0xFAlNvm6i1ULn5Jgi7H8GMKfieqVPgZoH+74xuI0qFu7B7 eAdkocGyVQ43BtmRHWnifVm8g5W1xjSKulZxtzZeHj1ld4gBOFJQ8+D0YkXAUI/XRcz3 InVCSlwQhgGX6zvnVp8FrxXEu1lzME+L/LtNMFJmTC5DY+kwlEq2TvhAXQy97lJxjmSi O9Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778158502; x=1778763302; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7UkN3cnnarvb30PMakfaYrpbwzco4n6JnduTeo2meMo=; b=a4q7vmT4pZVs4+HMBrGSx0FAYLUJrLmPGiOiphNaNScGOKVLOcVBcfDJHgaU+J6Edb JaZov3gNMRnqGdUEAJLYgEqh+57OF13Y12Cb3DrTP/JxYMUbi653bQ/5LevsPDI7Jf36 qhe7uyozC1UyPBssD+OkOCT21K7ixlnoYPRO0dHoK8nLaGpSLha9JxpVFguF/GDh2j2e Ipmzq/azL+d4ZPuxGiH4RNhgeGTnLTxyd9TzZW9+35fhHPwEpmqpV1o6s6/u9EnzZGKO WgXn4A8eeokcIdnz3SfR5NdugPe5Z6932F51b+5fX6qgLkg9QNN+M2kCKOeRIkQcx8Rc e4AQ== X-Gm-Message-State: AOJu0Yw5whrzgZQNoQrW9FN4hk282HVM3p+jlDAHtqW+02AkqGCIPlOr qOOAOUxj2GKpcg4F1ZFwChRi64Pzt+PqVcbLd4zMe1f4gTio8Wq8mExF/4gdScPKH3oizUfX9Yh vTEhH X-Gm-Gg: AeBDieuJab6DR+IxN3kXjFoN8U9FBY3nkMV9Ghkj363WJyMP1gNO7/hBuZozi2iBOIU LF7qC3KxCW4wOZKNJCUlgUOtkfObBytqCpSnsIicjUnfeEBhnTg9/HeMMcaqK3heoRI8BGUXelJ 2etI/wSujnP1PMKaXiX3wim1orUyuzsXAeTNdqgZPZkOGnJ3JngHFZjJPT8bSVfB1XEPNkeXGYb dwiA3MilqKoDCp4aaIqLEUzPUAdWMjqsRmnPGA8INSGZV+PnI9P7SgO4XTEhvSTEYGKb8KKRiKx Qyhu+DO6DO1w/WNikNh55UIJcO9Rv8/Y0KDM5twem7SMS66NgIzgwT+ok4aT909F0mVmgbBfmcZ 7tUpZsHYHQMKGDO076HsLx3JYOE86nAe8cT3sfpMXlb+BFiEZUOrNFJiTPgRVClEyngeHHCIOeG wzi/wsTAZN03w68mszdO/5zp8hg4xAztavTa5RSjUxXO9bgdL0yOwH+8WXEwQNEwjOwHZMMOZxg hQOHIbFTdVEVgI1uhUXvublDGR29PDvaJ4hiShfS5b+F70CIPDo X-Received: by 2002:a05:6000:2507:b0:43d:77c6:be78 with SMTP id ffacd0b85a97d-4515d9a005cmr12291433f8f.39.1778158501472; Thu, 07 May 2026 05:55:01 -0700 (PDT) Received: from davidp-pi5.pitowers.org ([2a00:1098:3142:1f:88ea:c658:5b20:5e46]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-450524833e1sm20396324f8f.2.2026.05.07.05.55.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 May 2026 05:55:01 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Cc: David Plowman Subject: [PATCH v4 0/3] Atomic control lists on Raspberry Pi Date: Thu, 7 May 2026 13:20:33 +0100 Message-ID: <20260507125458.12140-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 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 Here's v4 of this set. I've reinstated Naush's "Reviewed-by" tags, and also added Jacopo's (including for the first patch, hope that's OK now). The only functional change is in the final patch where the order of operations in both the PiSP/VC4 pipeline handlers is swizzled slightly so that we can pass a copy of the request's controls to handleControlLists, thereby leaving the original ones in the request untouched. Thanks David David Plowman (3): pipeline: rpi: Simplify delayed controls controls: rpi: Add ControlListSequence control pipeline: rpi: Make control lists in requests properly atomic src/ipa/rpi/common/ipa_base.cpp | 24 ++++--- src/libcamera/control_ids_rpi.yaml | 9 +++ .../pipeline/rpi/common/delayed_controls.cpp | 62 +++++++++++-------- .../pipeline/rpi/common/delayed_controls.h | 1 - .../pipeline/rpi/common/pipeline_base.cpp | 49 +++++++++++++++ .../pipeline/rpi/common/pipeline_base.h | 9 +++ src/libcamera/pipeline/rpi/pisp/pisp.cpp | 9 ++- src/libcamera/pipeline/rpi/vc4/vc4.cpp | 9 ++- 8 files changed, 131 insertions(+), 41 deletions(-)