From nobody Tue Feb 10 04:12:24 2026 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 487962F5474 for ; Wed, 8 Oct 2025 07:31:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759908691; cv=none; b=qhy+MYEghCDxHUqD1J/mZj8ZR/U6USsXbt1i3/rCLaiHQlvTXXVKwp/Y+wP9QQ21jncidrpUkakDX25trny4tBbQWxcqmdhwrXZ5uTHM5HcxxXvI+y4ABe8gbFhIzxqnOgcuKmPIR51gWTFO35e4HsjZOlDZ9Oe5M5PJcfGKAko= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759908691; c=relaxed/simple; bh=unhDWU3j7HXm8tKnMiJwHfKNJbf2ZhuKuePm6ASfLQM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nNO0bLAzZhaQWqJt0/uQoCCUhxk12IBbVOqpDN9yMwnjyklBuldxjz0oJwyB2xdDlYOqqc1AhQJg/GM72Cv0Ti6RiJrylxEY6VwZCIZEKiyK1d/rjSacRNLjVF4In8DD1etPJgOx7gntoC9FhNkR9JiiC+96VmpCsxyw4exMcQ4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=icM78hie; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="icM78hie" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-586883eb9fbso2494837e87.1 for ; Wed, 08 Oct 2025 00:31:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759908687; x=1760513487; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rAO9OwRfZdFmlMl3mS0tub2HzSBi7qv3ODFvIZHKgFU=; b=icM78hie9U+Z0fwC/uppdOSKbaas91nW9zLII2laUcdu3ka+DZHNMfrL+Vxi2jv/bt w7c+T++TX/LkIvCMQSIXDqys/PElxerQI3VKp11Ih4qWTdAei3W+pppBlgUbeJPU8gfM Z8t1pk4k7ztXptaNWC6JkhYUa3iKcPOaRkqz7k5ylw0XtPhAiivwpCzN3bmuAak0yXq/ 8UtHPBX8YZcg/mY7ow3ta5cO5Lr/iZvm2mCeDYaP4y6fIIf98mG3NT8yYvg1BEayJblu s0kScq8exE+I9jitwwZgHGXmVTZdYv8X7myxANDsyNMSIbAmmjNd0fbNDsBkhwE9pXcB ovHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759908687; x=1760513487; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rAO9OwRfZdFmlMl3mS0tub2HzSBi7qv3ODFvIZHKgFU=; b=bQOdZyCdsCoGb6faItFWb0bxdDPmOL2bw6b6HeSm10VNkEUQfdusKBGYaGykjJ/3EB eD44YG+63bcn4mDpOjlCuAoPueAXbtuQAYIfJ2xtxAn0DO2Jjshso1FIZcXPNG3FAOqt oLkwksT3gLjJkcsnXdN1M1AzHbCItWtrUSCaVj1c8GYYEkSqyD89gXrliOM7UkLOYCi6 hbukJpZt+LO1mrWLGsQxGIz7VGn14ZzkLfZ+shC8xQyMEW8WecXjasVe7k49Zwcv78oD lrdfcwcpFlOQ2LDV6j1TYcyswkcb/PqxgUx20+hfv01kE2jcijh2axjxoGWvn/Y5UgUv nhfA== X-Forwarded-Encrypted: i=1; AJvYcCXo1VNL5LAYopmwBq9YE3lmNx+jqcvIfbOGJXLUbOkzTSnYqfeQ0GJgJO+8B9lvAGlkd2yTHcoAh/j+NME=@vger.kernel.org X-Gm-Message-State: AOJu0YxF+FFiFwA1nCGfhV2ErGqMgObyPf6nFuqxWSBKkgjYg6JIZIpS PXRygTpEpqHHFqqb88x8wYnTehAISKdewJZd4IptA3TE9+Dcn3AH7GRC X-Gm-Gg: ASbGncvBY52RZNEmleczlJ1/6KbVPM39UYxQ7MW/sMunJHiYMTxRCe88HBpGFiCb5Ut /tLkVCDYzqiQRXgQHCAOBXISbXzxhrpYB7r4A1O9ZTl+0yz6cJwTKQLyVycR1c0S7IleDIlryu4 uZDWy8TreUMn7MUT5zeAY4FgPmNqO9LN/8g59iXL/XZSgoKO6SmuVs/IHcw2zsQ4pI99l+HSpRn aNCSKDklOK2Q0rpGCep8x1HUlLPxxLuuHHEZBh/fLOEinM8+IxzDPOksv4OEPbgn2c0XIGa1XKG 7C0KhEbtRspaBhQF8bulEVKU662y7AcVRD1fykl+4jGn/iPxreJQ9b1KR2zHRYdWeUGqP/t1alu +RDZgnriz8Z2UBHGLrQHv+lAy6QVZ94t4Mp4ZnRgiGCtO6hLD X-Google-Smtp-Source: AGHT+IE+7DyJpwvFP5qOZN8PeNT6/Gm3MISOvz3ifkWRFTEcK846nRXZ88LLrVfYB+NusyJQJau+2g== X-Received: by 2002:a05:6512:3f28:b0:590:656c:d10c with SMTP id 2adb3069b0e04-5906d88b1aemr661760e87.16.1759908687027; Wed, 08 Oct 2025 00:31:27 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58b0118d22bsm6911016e87.85.2025.10.08.00.31.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Oct 2025 00:31:26 -0700 (PDT) From: Svyatoslav Ryhel To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Jonathan Hunter , Sowjanya Komatineni , Luca Ceresoli , Prashant Gaikwad , Michael Turquette , Stephen Boyd , Mikko Perttunen , Linus Walleij , Mauro Carvalho Chehab , Greg Kroah-Hartman , Svyatoslav Ryhel , =?UTF-8?q?Jonas=20Schw=C3=B6bel?= , Dmitry Osipenko , Charan Pedumuru , Diogo Ivo , Aaron Kling , Arnd Bergmann Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-staging@lists.linux.dev Subject: [PATCH v4 08/24] staging: media: tegra-video: vi: add flip controls only if no source controls are provided Date: Wed, 8 Oct 2025 10:30:30 +0300 Message-ID: <20251008073046.23231-9-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251008073046.23231-1-clamor95@gmail.com> References: <20251008073046.23231-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Because the current Tegra video driver is video-centric, it exposes all controls via /dev/video. If both the camera sensor and the VI provide hflip and vflip, the driver will fail because only one control is allowed. To address this, hflip and vflip should be added from the SoC only if the camera sensor doesn't provide those controls. Signed-off-by: Svyatoslav Ryhel --- drivers/staging/media/tegra-video/vi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media= /tegra-video/vi.c index 856b7c18b551..90473729b546 100644 --- a/drivers/staging/media/tegra-video/vi.c +++ b/drivers/staging/media/tegra-video/vi.c @@ -961,6 +961,7 @@ static int tegra_channel_setup_ctrl_handler(struct tegr= a_vi_channel *chan) } #else struct v4l2_subdev *subdev; + struct v4l2_ctrl *hflip, *vflip; =20 /* custom control */ v4l2_ctrl_new_custom(&chan->ctrl_handler, &syncpt_timeout_ctrl, NULL); @@ -986,11 +987,13 @@ static int tegra_channel_setup_ctrl_handler(struct te= gra_vi_channel *chan) return ret; } =20 - if (chan->vi->soc->has_h_v_flip) { + hflip =3D v4l2_ctrl_find(subdev->ctrl_handler, V4L2_CID_HFLIP); + if (chan->vi->soc->has_h_v_flip && !hflip) v4l2_ctrl_new_std(&chan->ctrl_handler, &vi_ctrl_ops, V4L2_CID_HFLIP, 0, = 1, 1, 0); - v4l2_ctrl_new_std(&chan->ctrl_handler, &vi_ctrl_ops, V4L2_CID_VFLIP, 0, = 1, 1, 0); - } =20 + vflip =3D v4l2_ctrl_find(subdev->ctrl_handler, V4L2_CID_VFLIP); + if (chan->vi->soc->has_h_v_flip && !vflip) + v4l2_ctrl_new_std(&chan->ctrl_handler, &vi_ctrl_ops, V4L2_CID_VFLIP, 0, = 1, 1, 0); #endif =20 /* setup the controls */ --=20 2.48.1