[{"id":35952,"web_url":"https://patchwork.libcamera.org/comment/35952/","msgid":"<CAEmqJPptkESDJqiDRU3B7xsaAKvdMUdeDRtY1yLHa5EkNAo3mQ@mail.gmail.com>","date":"2025-09-22T12:43:59","subject":"Re: [PATCH] ipa: rpi: agc: Allow exposure mode to be updated in auto\n\tmode","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi David,\n\n\nOn Mon, 22 Sept 2025 at 09:37, David Plowman <david.plowman@raspberrypi.com>\nwrote:\n\n> The code was only allowing the exposure mode to be updated when both\n> exposure/gain were in manual mode, which is a mistake. It needs to be\n> updatable precisely when the auto modes are enabled.\n>\n> The fix is to ignore the enabled/disabled status of AEC/AGC, matching\n> our other controls (metering mode, constraint mode etc.). While there\n> might be a debate to be had about what the actual behaviour of all\n> these controls should be, for the time being we'll just match\n> everything else.\n>\n> Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n>\n\nSeems correct to me.\n\nReviewed-by: Naushir Patuck <naush@raspberrypi.com>\n\n\n\n> ---\n>  src/ipa/rpi/common/ipa_base.cpp | 7 -------\n>  1 file changed, 7 deletions(-)\n>\n> diff --git a/src/ipa/rpi/common/ipa_base.cpp\n> b/src/ipa/rpi/common/ipa_base.cpp\n> index 6448e6ab..8dfe35cc 100644\n> --- a/src/ipa/rpi/common/ipa_base.cpp\n> +++ b/src/ipa/rpi/common/ipa_base.cpp\n> @@ -1026,13 +1026,6 @@ void IpaBase::applyControls(const ControlList\n> &controls)\n>                                 break;\n>                         }\n>\n> -                       /*\n> -                        * Ignore AE_EXPOSURE_MODE if the shutter or the\n> gain\n> -                        * are in auto mode.\n> -                        */\n> -                       if (agc->autoExposureEnabled() ||\n> agc->autoGainEnabled())\n> -                               break;\n> -\n>                         int32_t idx = ctrl.second.get<int32_t>();\n>                         if (ExposureModeTable.count(idx)) {\n>\n> agc->setExposureMode(ExposureModeTable.at(idx));\n> --\n> 2.39.5\n>\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 7EF74C328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 22 Sep 2025 12:44:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D18596B5F3;\n\tMon, 22 Sep 2025 14:44:34 +0200 (CEST)","from mail-ua1-x929.google.com (mail-ua1-x929.google.com\n\t[IPv6:2607:f8b0:4864:20::929])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 05F8862C35\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 22 Sep 2025 14:44:31 +0200 (CEST)","by mail-ua1-x929.google.com with SMTP id\n\ta1e0cc1a2514c-8e2988a1584so223289241.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 22 Sep 2025 05:44:31 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"MLrqRqSQ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1758545071; x=1759149871;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=uXFwP7OQh52eqgR7NTBifhyfKwebXAYp9l7vI9YESA0=;\n\tb=MLrqRqSQVqtk+rNNMtDmfbA5zw/ER8BN1zCeTX3j4q8VBedv4X00WM1ttE945bFpqF\n\t2oaQpcAisROlUCEW9k0azWvwae7pMycz8ZjfQi9w+qLRfuUmxJkEDnGHut1wmmw5MyWF\n\tLiBzyT7GuisbN1QU28y9IFcbn056tuXillTnk8KpUwV5NmyhuHgaP6bG1h7qejTPCq8X\n\tepNCLbl5g68fs+3uloHK/wyWjfMlvz9b/CkopzwgHmSvQ1aNhiOIFhVQcTF6U9InDeil\n\tdl4AohX/mhK8Gs6tFrBRarkiMhOjoM2OMpPro8ShLDEjCgSXgTnxvOwaw6OgbPGYyLrk\n\tFC6w==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1758545071; x=1759149871;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=uXFwP7OQh52eqgR7NTBifhyfKwebXAYp9l7vI9YESA0=;\n\tb=pqntzBuPlraa0FPhN0l5ThdpmRi8Lt2HyhERohNf1ET7TLasRWr6Q0R6oRG2RWiYJ2\n\tcQLDSArf9H7Q7PkweOQxouqSg35IoJxyOusSLnTbPEUxnaBW9swhGDAGJx4N+Hm/yai3\n\txzUgoA+M7aAMd65sdwPdgJ63F+1KX0nv7lgJy9rfUtRPKXA8/PoEMnv8pV7iZbLRWwft\n\tUNcQ3qohZHEs2dRIvm3RoxP1Q22S+NbDHI6XzwyeU4bCaGNzRqFXxuuphMpMZdI5gpRs\n\tT7spZFLgjyYk5R9kvYAgap5xzVJJ1LvFbuZmYV/YeuRWju6+pfXf8aPFuHPtE9murFD/\n\tIkKw==","X-Gm-Message-State":"AOJu0Yz+zDk47e/sg5JWiHWmqGWqErg8CbkNulqBr0vXna3W5KYJnzsZ\n\tmluGAl8ihgULAriVWwRlDXdJ788pamEoSy46IJsvF2Tptg88s79F4tlcfNz4emA8O3GuKU4i1G8\n\te+qLfeHm+IzJB/mPA2Sf0diQtF2lHNTsLDZIeh82JRg==","X-Gm-Gg":"ASbGncsmb2jzMcnzOL+wWx4a8DSbxDH4Deb2fxL3M7lC1PrKTd76+4cUPs5Vi2EkNGi\n\thynofXZCARUzJ5ix3BkpKmyGenbu4qoaCg2pVeuusq9oo/OB8Jl0sGp/2tvJWF16Vx1TMo2NcvA\n\tgY+PPC+jPMg7Gx2zbito0K5walTjpJN2GVlKytYV27vR8TiTjoaMX9AWfUhjsCPUtk4buNDTfQA\n\tDp9kOfKZA1O1V625oE0QQVMpTrQTEQ4FsLLBQk=","X-Google-Smtp-Source":"AGHT+IHhC2TP8jK0zM3p0wfcsrs3rKaMDNXwL3N0iebUImbRlriEkmVQvLBjlqTgLmf/v0RE/3Di6xLZXhI6GtQDUoM=","X-Received":"by 2002:a05:6102:30d8:20b0:5a0:baac:bf99 with SMTP id\n\tada2fe7eead31-5a0baacc0b3mr360294137.3.1758545070699; Mon, 22 Sep 2025\n\t05:44:30 -0700 (PDT)","MIME-Version":"1.0","References":"<20250922083712.3364-1-david.plowman@raspberrypi.com>","In-Reply-To":"<20250922083712.3364-1-david.plowman@raspberrypi.com>","From":"Naushir Patuck <naush@raspberrypi.com>","Date":"Mon, 22 Sep 2025 13:43:59 +0100","X-Gm-Features":"AS18NWBwU0aRBbgBepBGdcgXfFZRIPWHuUzU8vuF5N1PMD_UTwcNa--zFVCi7cE","Message-ID":"<CAEmqJPptkESDJqiDRU3B7xsaAKvdMUdeDRtY1yLHa5EkNAo3mQ@mail.gmail.com>","Subject":"Re: [PATCH] ipa: rpi: agc: Allow exposure mode to be updated in auto\n\tmode","To":"David Plowman <david.plowman@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"multipart/alternative; boundary=\"00000000000042c361063f632e77\"","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]