From patchwork Tue Sep 8 08:45:43 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel LEGROS X-Patchwork-Id: 28200 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 5C924C3257 for ; Tue, 8 Sep 2026 08:53:40 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id EC9C368622; Tue, 8 Sep 2026 10:53:38 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PRaEUjfw"; dkim-atps=neutral Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1F5D868613 for ; Tue, 8 Sep 2026 10:45:47 +0200 (CEST) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4957eefd361so34294095e9.1 for ; Tue, 08 Sep 2026 01:45:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788857146; x=1789461946; 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:content-type; bh=7mJK1UpS8/Dk9vgvwasi/lG+XDhe7YU0GYjj4DhEybM=; b=PRaEUjfw8wMfynX7i9EHeGX1VAQvJ1bUGAkNaoqUwP+GC3IZropJKaqI27ssV3Db6o OUEUo8XP8GtHLHM2UksdsBGv3z2rlYwE+K2avEmnvUPu7010faBiu+3PMxl/LEWRqotx ld0+N/9R8qwYTgNZ8MBk9Sch8n4dtkX2UBN43EUUHVdkGfFa5A6AnsmbQ64EHGctJpI5 /KKYRN5AdbMpax3V3RUlPdWlmOg4nsaC4I1d1CtnjJ8yiZNdx/l3AzvYbp/YeOFCAHMM Lj2jPYy7AuKRPbQqRnM20mV2IJuvwMVC0S0RfiCneY6ffvLvJA6RXNZi3RUwvNsITacC WI3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788857146; x=1789461946; 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:content-type; bh=7mJK1UpS8/Dk9vgvwasi/lG+XDhe7YU0GYjj4DhEybM=; b=smZ2FLBG4mIliE4zhK6A23gWC/Pzw/qdUHWf1RIqyhUdkklFt49VVnjik1WOexaUYn 7tpufFPoVMDqaufX4sKvIRULqLiUiVf9tAgFpuK7K0sW8anGdcioeSlo9qVPMYOX1VQV qvfATQjkvjLv/2rmwVbaxAZUfVO+iaCApC4aFEHbnli38egrdmoblRtPYOKpPfAXwPtH cHo2548MV3PQ9/LFw3GKyrAe4dmuqxl6HpoRauGwdsO+uIfTYBXhmo2gauMJ8zW6zmSP DjCqdNLi51nS0uYOCFWHqcg5PvW2VSSAoQPut+VaVB4LTkXAHZiBQGCFbc3irlGH2pc0 3pjg== X-Gm-Message-State: AFuF++mNZcDTbh67naBh/6EXgPp6Kap4CS0z9wFTbC+xcwEBPBAUCfLA dMAAyh9lw3Mv5CMwpNFfbg269tUpdMjPjoB5C5A7XxvZUJjNsWCiysZRTZIp+TObf2o= X-Gm-Gg: AYBFou3vgq6W/Ev2yyXvfhA4xALtQ6I5Ie23IPE4Z40kL1PltJ9e9Qd4vRX0aTeahCw QVxQeEJlePKm9dgcwOiD3IfbUZctWX/F25b9JUPqMEAsSpNLtgTEdkuAiwkApCYJcVt8rWPKLLY rOM0X6riIfspjHAzRoO53gkTwc2/pDf8BrtqBkd0G4sL/3DqHpW/XRsE2jtyUFd8u1GjO/PqaaT oBDt8h3ZYQ3uuSYUMhO5yMdB5PNPzWxGAXwiAwv5xSjoPRLwFTjcaLIOIM1SqQ5KO1SRznP03MQ hoTMgY+7vU7EdWNNJVpv59ehooKDjUX62VU/lEYTE9SS8o8syS29jDVlCmfv4vbFcv4beNnrMGX e+4bsgjgDmALI+P1pjCNuQsYurrVJ2a8YYb9HRnLj/HlIashh0GaycOphgKSHQ/tZ5igSdPD+zZ EJGpnfMkFefL6PcSfT3sa2PG/7hywqEIpYCGNvmQDKmsA3cRCqkpH08Eti0HF/Ne14+qLG+Kxeo GJXMlwH7uU6xup0J8kDiTa75MCiv7Nz0gNItfAJl3hdcThAoivio0buUdl8Nn9BrQ4y8ozj X-Received: by 2002:a05:600c:1991:b0:49b:2796:be30 with SMTP id 5b1f17b1804b1-49cf824f7damr252365015e9.11.1788857146282; Tue, 08 Sep 2026 01:45:46 -0700 (PDT) Received: from laptop-sam.ss2i-services.local (lneuilly-657-1-3-33.w81-250.abo.wanadoo.fr. [81.250.130.33]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee7fec25sm538427965e9.13.2026.09.08.01.45.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 01:45:45 -0700 (PDT) From: Samuel LEGROS To: libcamera-devel@lists.libcamera.org Cc: naush@raspberrypi.com, robert.mader@collabora.com, Samuel LEGROS Subject: [PATCH 1/2] libcamera: camera_sensor: Fix IMX355 test pattern mode mapping Date: Tue, 8 Sep 2026 10:45:43 +0200 Message-ID: <20260908084544.274613-1-sam.legros@gmail.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 08 Sep 2026 10:53:38 +0200 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" The IMX355 sensor properties map TestPatternModeColorBars to menu index 1 and TestPatternModeSolidColor to index 2. The kernel driver defines the opposite order: static const char * const imx355_test_pattern_menu[] = { "Disabled", "Solid Colour", "Eight Vertical Colour Bars", "Colour Bars With Fade to Grey", "Pseudorandom Sequence (PN9)", }; This matches drivers/media/i2c/imx355.c in mainline Linux and in the Raspberry Pi kernel tree, and was confirmed on a Google Pixel 3a (front camera, imx355 4-001a) running postmarketOS: $ v4l2-ctl -d /dev/v4l-subdev19 --list-ctrls-menus test_pattern 0x009f0903 (menu) : min=0 max=4 default=0 value=0 0: Disabled 1: Solid Colour 2: Eight Vertical Colour Bars 3: Colour Bars With Fade to Grey 4: Pseudorandom Sequence (PN9) Requesting a solid colour test pattern therefore produces colour bars, and vice versa. Swap the two entries, which makes IMX355 consistent with IMX258 and IMX471, whose drivers expose the same menu and which are already described correctly. IMX214 and IMX219 keep their current mapping, as their drivers do list "Color Bars" at index 1. Fixes: a1db25dabaee ("libcamera: camera_sensor: Add Sony IMX355 sensor properties and helper") Signed-off-by: Samuel LEGROS --- src/libcamera/sensor/camera_sensor_properties.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp index 819f07b..ecf523c 100644 --- a/src/libcamera/sensor/camera_sensor_properties.cpp +++ b/src/libcamera/sensor/camera_sensor_properties.cpp @@ -269,8 +269,8 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen .unitCellSize = { 1120, 1120 }, .testPatternModes = { { controls::draft::TestPatternModeOff, 0 }, - { controls::draft::TestPatternModeColorBars, 1 }, - { controls::draft::TestPatternModeSolidColor, 2 }, + { controls::draft::TestPatternModeSolidColor, 1 }, + { controls::draft::TestPatternModeColorBars, 2 }, { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, { controls::draft::TestPatternModePn9, 4 }, },