From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (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 6BFFF2E282C for ; Thu, 25 Sep 2025 15:17:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813438; cv=none; b=K89O1TSvT5bScARDWJfmfPMSga3p58cbm+Rp2Baw9J5WmyI7LOANSPSDXuxP3EikObfM5ShOOWlomCCP3H7XmUHExW7AjXLSC/jn1EpzaiSJelb18omJ8ViA1D0zaaIY49cnfz+7NhgSYHWvowMks6QC1JLkpR44JdNZ7Nspy7g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813438; c=relaxed/simple; bh=LTR5RjKsGAR9+bAH5aId8zdbd/J2WS7Jbf7jhnjHh2g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SMtdaXMfP2VbTX61elXT/0bJIs60ZkToFjShUOwYQ6fOyaHHKRCKw8YRqbT7/bHvlH52Vta7ER+kBKsLhqlPecO4hKqcq2p1qX5Aql7Ilao8n8G+0kUzrm3JyTy1xudO76Px4SkekwYRYMBl9p7imRrN6tVVyTJ+rncv3bitWxc= 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=K1uDbu77; arc=none smtp.client-ip=209.85.167.47 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="K1uDbu77" Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-57e03279bfeso1447985e87.0 for ; Thu, 25 Sep 2025 08:17:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813433; x=1759418233; 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=FJzhHcbSPGNSkO+dGiry0FKeUcEvrlbPDe9AtAO0DK8=; b=K1uDbu77WSv0HxacMx488ZnU5xoTpHDBKdFRxXT/7c2H/3eLZ81POpaTjAGNm+rbl1 Donz9uH9ttZCwr2cjqc3h27JknDA/4l/8PYK9aJvpo+7Jex4WpCBiol0QskHJEdAoO74 Kq6e/up/YAgkpf4pRZtF0ZZ2qi+ZbBU47eTbTX2UabiyO/w4R5xrsptTPJtqqKERgL+Z SMmyg5JC05QvMhHPWUDXDleVOvC8LwQXwxe5RGKMxyt+zK7KuchEZpE6VBbIgEriMhqU Xoa67d9xmAsQY+VUp3x893qKgun80SCoEejepVAHn30LY5EsnM8aiEg3iL95++oFIQOM 1xeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813433; x=1759418233; 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=FJzhHcbSPGNSkO+dGiry0FKeUcEvrlbPDe9AtAO0DK8=; b=fxbWEmSnLuCkGnZs/WKSsARXzG2xLyH68ojipjGxy+CHHRr4wHU8di8zn2ZVigwFO0 qdEh4tL/7YBHiReGmp/2fyX/RJZWRVhyN6mp7B8hVJQZ6mO8gKYL4y0/DCA6tvmo9Nmq oQL9YTX8I0hEpXFcA5GBtaZBNoJZb/NCQH7uBE06p7m/Fm6K812Rl6KSXM0Co/lxfYHA 8k/J1wQ9JZGipevYtkEQN8+NtVQ8DLqguCir9AdyUjOTn4Sfih0u3DVOS4GZXpyi28cl hYNhvzyamTwIZnLOIQhHnO+XW4lu/Yop/zeO6VwNVLZPQzAYIvvIH+XBOaL14tg5kyyh E++Q== X-Forwarded-Encrypted: i=1; AJvYcCW6Osx60yMNHPDp2unncyY2qgTm9isUDICYeLmEkzdRFhmXYmf0CsFn7t+wfZmUODXtAPeJPRcU8SO44n8=@vger.kernel.org X-Gm-Message-State: AOJu0YxPyqIZCOjST79NUh1GCjPwfDK6JBGltytTJjGtvRiSTV0iRVnj qHJ8Dx4hQSVH5BYiiS9qUf7S6CQCLMRjESA0G8E7ffjFWqJRKiH5vYkZ X-Gm-Gg: ASbGncs3HGH1difkZrDd7Dd+/21AB7aKJqH0JUDaS5Am/nu7MHr/lwyDw8SzCQBOF+R QhZedzT2JW7OQ78TGa4sTJ4rNi78sR5mWVtUdWJKiF8XUhGfniqVGL1hiRUNRgE2x7aJY9s+YHu Kcv88ZkF5UQ8GFcYvBzZjaE/O5DgfIIMY0pNoOXmBrlPzBIFxtx3g3wXrt7x3/r8p4pqOGxDTHZ Tryn+JdNma47kBmDkz9iMAbOvc+B8/SuAXSgfru9qYYnAS+yynnMXHuF+AT0vp73U2mzJl3w/Nh digKjNszvtWtt1LIQUzhq5XVtx8V93tL51PzQl4xsdWuuPbrmO+jrkfgnwqo/2ijph4f7ur5rda lEDRe7U0u8957XQ== X-Google-Smtp-Source: AGHT+IFjiCsZyMZctlgolAlUOqm2uE7h1i2QBpyvCdGrkX6sgsV89T72gDOmbWkuD7pZo1TQUKEzMA== X-Received: by 2002:a05:6512:10cf:b0:579:5d8e:1629 with SMTP id 2adb3069b0e04-58305298285mr1034646e87.12.1758813433178; Thu, 25 Sep 2025 08:17:13 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:12 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 01/22] clk: tegra: set CSUS as vi_sensor's gate for Tegra20, Tegra30 and Tegra114 Date: Thu, 25 Sep 2025 18:16:27 +0300 Message-ID: <20250925151648.79510-2-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" The CSUS clock is a clock gate for the output clock signal primarily sourced from the VI_SENSOR clock. This clock signal is used as an input MCLK clock for cameras. Unlike later Tegra SoCs, the Tegra 20 can change its CSUS parent, which is why csus_mux is added in a similar way to how CDEV1 and CDEV2 are handled. Signed-off-by: Svyatoslav Ryhel --- drivers/clk/tegra/clk-tegra114.c | 7 ++++++- drivers/clk/tegra/clk-tegra20.c | 20 +++++++++++++------- drivers/clk/tegra/clk-tegra30.c | 7 ++++++- drivers/pinctrl/tegra/pinctrl-tegra20.c | 7 +++++++ 4 files changed, 32 insertions(+), 9 deletions(-) diff --git a/drivers/clk/tegra/clk-tegra114.c b/drivers/clk/tegra/clk-tegra= 114.c index 186b0b81c1ec..00282b0d3763 100644 --- a/drivers/clk/tegra/clk-tegra114.c +++ b/drivers/clk/tegra/clk-tegra114.c @@ -691,7 +691,6 @@ static struct tegra_clk tegra114_clks[tegra_clk_max] __= initdata =3D { [tegra_clk_tsec] =3D { .dt_id =3D TEGRA114_CLK_TSEC, .present =3D true }, [tegra_clk_xusb_host] =3D { .dt_id =3D TEGRA114_CLK_XUSB_HOST, .present = =3D true }, [tegra_clk_msenc] =3D { .dt_id =3D TEGRA114_CLK_MSENC, .present =3D true = }, - [tegra_clk_csus] =3D { .dt_id =3D TEGRA114_CLK_CSUS, .present =3D true }, [tegra_clk_mselect] =3D { .dt_id =3D TEGRA114_CLK_MSELECT, .present =3D t= rue }, [tegra_clk_tsensor] =3D { .dt_id =3D TEGRA114_CLK_TSENSOR, .present =3D t= rue }, [tegra_clk_i2s3] =3D { .dt_id =3D TEGRA114_CLK_I2S3, .present =3D true }, @@ -1047,6 +1046,12 @@ static __init void tegra114_periph_clk_init(void __i= omem *clk_base, 0, 82, periph_clk_enb_refcnt); clks[TEGRA114_CLK_DSIB] =3D clk; =20 + /* csus */ + clk =3D tegra_clk_register_periph_gate("csus", "vi_sensor", 0, + clk_base, 0, TEGRA114_CLK_CSUS, + periph_clk_enb_refcnt); + clks[TEGRA114_CLK_CSUS] =3D clk; + /* emc mux */ clk =3D clk_register_mux(NULL, "emc_mux", mux_pllmcp_clkm, ARRAY_SIZE(mux_pllmcp_clkm), diff --git a/drivers/clk/tegra/clk-tegra20.c b/drivers/clk/tegra/clk-tegra2= 0.c index 2c58ce25af75..d8d5afeb6f9b 100644 --- a/drivers/clk/tegra/clk-tegra20.c +++ b/drivers/clk/tegra/clk-tegra20.c @@ -530,7 +530,6 @@ static struct tegra_clk tegra20_clks[tegra_clk_max] __i= nitdata =3D { [tegra_clk_rtc] =3D { .dt_id =3D TEGRA20_CLK_RTC, .present =3D true }, [tegra_clk_timer] =3D { .dt_id =3D TEGRA20_CLK_TIMER, .present =3D true }, [tegra_clk_kbc] =3D { .dt_id =3D TEGRA20_CLK_KBC, .present =3D true }, - [tegra_clk_csus] =3D { .dt_id =3D TEGRA20_CLK_CSUS, .present =3D true }, [tegra_clk_vcp] =3D { .dt_id =3D TEGRA20_CLK_VCP, .present =3D true }, [tegra_clk_bsea] =3D { .dt_id =3D TEGRA20_CLK_BSEA, .present =3D true }, [tegra_clk_bsev] =3D { .dt_id =3D TEGRA20_CLK_BSEV, .present =3D true }, @@ -834,6 +833,12 @@ static void __init tegra20_periph_clk_init(void) clk_base, 0, 93, periph_clk_enb_refcnt); clks[TEGRA20_CLK_CDEV2] =3D clk; =20 + /* csus */ + clk =3D tegra_clk_register_periph_gate("csus", "csus_mux", 0, + clk_base, 0, TEGRA20_CLK_CSUS, + periph_clk_enb_refcnt); + clks[TEGRA20_CLK_CSUS] =3D clk; + for (i =3D 0; i < ARRAY_SIZE(tegra_periph_clk_list); i++) { data =3D &tegra_periph_clk_list[i]; clk =3D tegra_clk_register_periph_data(clk_base, data); @@ -1093,14 +1098,15 @@ static struct clk *tegra20_clk_src_onecell_get(stru= ct of_phandle_args *clkspec, hw =3D __clk_get_hw(clk); =20 /* - * Tegra20 CDEV1 and CDEV2 clocks are a bit special case, their parent - * clock is created by the pinctrl driver. It is possible for clk user - * to request these clocks before pinctrl driver got probed and hence - * user will get an orphaned clock. That might be undesirable because - * user may expect parent clock to be enabled by the child. + * Tegra20 CDEV1, CDEV2 and CSUS clocks are a bit special case, their + * parent clock is created by the pinctrl driver. It is possible for + * clk user to request these clocks before pinctrl driver got probed + * and hence user will get an orphaned clock. That might be undesirable + * because user may expect parent clock to be enabled by the child. */ if (clkspec->args[0] =3D=3D TEGRA20_CLK_CDEV1 || - clkspec->args[0] =3D=3D TEGRA20_CLK_CDEV2) { + clkspec->args[0] =3D=3D TEGRA20_CLK_CDEV2 || + clkspec->args[0] =3D=3D TEGRA20_CLK_CSUS) { parent_hw =3D clk_hw_get_parent(hw); if (!parent_hw) return ERR_PTR(-EPROBE_DEFER); diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra3= 0.c index 82a8cb9545eb..ca367184e185 100644 --- a/drivers/clk/tegra/clk-tegra30.c +++ b/drivers/clk/tegra/clk-tegra30.c @@ -779,7 +779,6 @@ static struct tegra_clk tegra30_clks[tegra_clk_max] __i= nitdata =3D { [tegra_clk_rtc] =3D { .dt_id =3D TEGRA30_CLK_RTC, .present =3D true }, [tegra_clk_timer] =3D { .dt_id =3D TEGRA30_CLK_TIMER, .present =3D true }, [tegra_clk_kbc] =3D { .dt_id =3D TEGRA30_CLK_KBC, .present =3D true }, - [tegra_clk_csus] =3D { .dt_id =3D TEGRA30_CLK_CSUS, .present =3D true }, [tegra_clk_vcp] =3D { .dt_id =3D TEGRA30_CLK_VCP, .present =3D true }, [tegra_clk_bsea] =3D { .dt_id =3D TEGRA30_CLK_BSEA, .present =3D true }, [tegra_clk_bsev] =3D { .dt_id =3D TEGRA30_CLK_BSEV, .present =3D true }, @@ -1008,6 +1007,12 @@ static void __init tegra30_periph_clk_init(void) 0, 48, periph_clk_enb_refcnt); clks[TEGRA30_CLK_DSIA] =3D clk; =20 + /* csus */ + clk =3D tegra_clk_register_periph_gate("csus", "vi_sensor", 0, + clk_base, 0, TEGRA30_CLK_CSUS, + periph_clk_enb_refcnt); + clks[TEGRA30_CLK_CSUS] =3D clk; + /* pcie */ clk =3D tegra_clk_register_periph_gate("pcie", "clk_m", 0, clk_base, 0, 70, periph_clk_enb_refcnt); diff --git a/drivers/pinctrl/tegra/pinctrl-tegra20.c b/drivers/pinctrl/tegr= a/pinctrl-tegra20.c index 737fc2000f66..437e0ac091cc 100644 --- a/drivers/pinctrl/tegra/pinctrl-tegra20.c +++ b/drivers/pinctrl/tegra/pinctrl-tegra20.c @@ -2230,6 +2230,10 @@ static const char *cdev2_parents[] =3D { "dev2_osc_div", "hclk", "pclk", "pll_p_out4", }; =20 +static const char *csus_parents[] =3D { + "pll_c_out1", "pll_p_out2", "pll_p_out3", "vi_sensor", +}; + static void tegra20_pinctrl_register_clock_muxes(struct platform_device *p= dev) { struct tegra_pmx *pmx =3D platform_get_drvdata(pdev); @@ -2239,6 +2243,9 @@ static void tegra20_pinctrl_register_clock_muxes(stru= ct platform_device *pdev) =20 clk_register_mux(NULL, "cdev2_mux", cdev2_parents, 4, 0, pmx->regs[1] + 0x8, 4, 2, CLK_MUX_READ_ONLY, NULL); + + clk_register_mux(NULL, "csus_mux", csus_parents, 4, 0, + pmx->regs[1] + 0x8, 6, 2, CLK_MUX_READ_ONLY, NULL); } =20 static int tegra20_pinctrl_probe(struct platform_device *pdev) --=20 2.48.1 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (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 390B72E5418 for ; Thu, 25 Sep 2025 15:17:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813439; cv=none; b=jMNUdDnPGtgI1Amf0UjAfqgnDWrF0um0uy1MzoqvOKQwDL5TEbKn4LQlAnsDF/cbYw4YIIrZ11ZYKGdW6B6essdsP+UIHlsK6vmTMm6wuT7lgoS4A2CvWCQGedRGysSGURlOsK+3IMAHXzysAwpWk+mI2au2CkUVqb4sYgYTGuQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813439; c=relaxed/simple; bh=7dAHRT2r7ftPVN1rS5b3fLL9XXBwlAPnHlEMfM9TlgA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EtcBZbD1ZUzM00OkhlS2DTHf4TuMGIbO5QZA98YCrsUwpECRLtvtCbwwmvccz/Hn/CpaH+wejIyvsnhqN+YoV973jQ5v4crEyrcoAvLPEbXMbqVpDX+Xg63m8YbcMqioUjSGMYdLGXeg1vzhtrBvHWb0sfhVSkk9iOkbJL5UdsM= 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=CDr6X9VL; arc=none smtp.client-ip=209.85.167.50 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="CDr6X9VL" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-57e8e67aa3eso3061172e87.1 for ; Thu, 25 Sep 2025 08:17:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813435; x=1759418235; 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=C/43znEe061f/mLeX5mGh0JaDqN09K9lxSSjlK2dh/Q=; b=CDr6X9VLqVd9Jf1udIg4rExPYE5xvc0Vw60gh4orvF/97AxXNsjBStbn5bwQPngaVm BhBaoPjy/AWaTa2e64Tf+QS5r+1sfACLDfceDQulrtNO50nTIzKesqQhCx7ZsaYKXjsQ pWmRSjoChJfHRSJXdnFsEKO/74zqtprgqZZm88N8ffPD/pLSVtjRnynu/pIUM886okyT jV9f7BjqSirNNbkKHGMrEIXwXhEX0WA7vrULIi2EsnT0+YpUuDcOL2iT87t8tn8LITOG VAp48VCRxJD3NFWQFQnbNMfuQ/h4JiNT7jI6TX+UlBnZw0gD/mJ++qCWalSIy5bh5iI6 S9xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813435; x=1759418235; 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=C/43znEe061f/mLeX5mGh0JaDqN09K9lxSSjlK2dh/Q=; b=YDxt3nPtcWTsLDdgGDo90HkiPPRAKLeGu6Oig9uj+ACZPZapcWYw8fCI1MDKWt8xS5 oTIVxdV9Fcb3EdIcUXfTAjythYqszP93HgVFoX+yKee0L2yHFGrbfJEvPqnqHO5BUccq BiRGjOUbKx5a2124pBEQylTDbeZSECFg+ez+uDM2GDeeTXjbvHcht9FvmCHdNtgtGss5 8ikqmUIWujMO6hJzxhY7Gnh/03QCMqEB+dBh2M+XAnznN43wzzOjGYRKuNewS/tMp8sv KgztxA1KCEdlKjx2+U979gDrkGGoPAUw91mH9YejynQ0wuUiakLqtZOi86/EpYgdFY/H W08Q== X-Forwarded-Encrypted: i=1; AJvYcCWMZ9CwejRgMbp1rAmCDzrVOSB/6FcJhHhyMtQ+eI71G0ICm9eN8yDJsjp4F8ee7ADXDMC962hhWDaqiUM=@vger.kernel.org X-Gm-Message-State: AOJu0YwQDJuBKG0caZYHj7oB8hf45hqHVYN4B9Wq8I+aZeC6CjT/8NHt fxEdY/1R1mmrO5NLIHCu20FZFMn72VzXucRhiQKPdehnjcwtKYj7bxnH X-Gm-Gg: ASbGncsyMv98CFm3ORXk4ClqdytAC20BpuQE5PcbQ9KooBwgspwobNp3YcWMR4kwkQe JqBkri8aGd1vKM8hAjawMJNxO87Aql6ixcmFoJAxtKg3flV4x95zUMKXqJcyrD6ZOkKP6jrLJD1 Dj449VgwwHyc/fctkP8FCYr38czDTI4pzugwrBg/9pzva16Rs7r3SLEIabnTRJ+3Usjp6w24f5M 9ED5j7Ks70OHrbVEMxK8ktXXlY8IXSs+0siHMjLSsETo4mkM0cOsphwFztxtkFYgYH8BEx/3XAX +x1Qdw1LtX+VAx8LrMFQNq562IWa8cBSvnlHj/kE9NKavn2FTcoxjnNM6OidH56LB1kPXevOo5w j3KRkTDbjjbkStkxR28meITQh X-Google-Smtp-Source: AGHT+IEZhoVTWc3JU2yVQQC2NvFxzQUmxQf+nrYtPw/ltnEPLZ7YBlNqTjchqSYHU9qwgFPB+3ThRA== X-Received: by 2002:a05:6512:10d4:b0:57e:2f8e:5f0c with SMTP id 2adb3069b0e04-58306406032mr1045775e87.15.1758813434918; Thu, 25 Sep 2025 08:17:14 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:14 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 02/22] dt-bindings: clock: tegra30: Add IDs for CSI pad clocks Date: Thu, 25 Sep 2025 18:16:28 +0300 Message-ID: <20250925151648.79510-3-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" Tegra30 has CSI pad clock enable bits embedded into PLLD/PLLD2 registers. Add ids for these clocks. Additionally, move TEGRA30_CLK_CLK_MAX into clk-tegra30 source. Signed-off-by: Svyatoslav Ryhel Acked-by: Krzysztof Kozlowski --- drivers/clk/tegra/clk-tegra30.c | 1 + include/dt-bindings/clock/tegra30-car.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra3= 0.c index ca367184e185..ca738bc64615 100644 --- a/drivers/clk/tegra/clk-tegra30.c +++ b/drivers/clk/tegra/clk-tegra30.c @@ -53,6 +53,7 @@ #define SYSTEM_CLK_RATE 0x030 =20 #define TEGRA30_CLK_PERIPH_BANKS 5 +#define TEGRA30_CLK_CLK_MAX 311 =20 #define PLLC_BASE 0x80 #define PLLC_MISC 0x8c diff --git a/include/dt-bindings/clock/tegra30-car.h b/include/dt-bindings/= clock/tegra30-car.h index f193663e6f28..763b81f80908 100644 --- a/include/dt-bindings/clock/tegra30-car.h +++ b/include/dt-bindings/clock/tegra30-car.h @@ -271,6 +271,7 @@ #define TEGRA30_CLK_AUDIO3_MUX 306 #define TEGRA30_CLK_AUDIO4_MUX 307 #define TEGRA30_CLK_SPDIF_MUX 308 -#define TEGRA30_CLK_CLK_MAX 309 +#define TEGRA30_CLK_CSIA_PAD 309 +#define TEGRA30_CLK_CSIB_PAD 310 =20 #endif /* _DT_BINDINGS_CLOCK_TEGRA30_CAR_H */ --=20 2.48.1 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (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 0D5F12E8B8F for ; Thu, 25 Sep 2025 15:17:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813441; cv=none; b=YiV5pnoJ1qC4z0cBLq5xkSjSDyALkaNNmrhzDFwbs94sEc1hu7+fLUYml69F0L6mEatUVawVLBJF8Nod6asIOHWchZJ0gQuuc0S8/ImwGbv0wE+BFyxs3ueqJ5EYaV4VWU82n/zkNkdZl8IghXg1PqmkDjWU5ZstpQEmhTd1PmI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813441; c=relaxed/simple; bh=FZOaPk/XiWFhkp3zMB+0dvCF3erehg3z6+zK/HzLAY4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=vBrsFSxcazQt5sIr+9f/9/8vT+sLxJDhhzQ9KIVA+T5NDe7P+m0h+a2gCKAfgOIuR8GpGJzwIfEuPjMFms2LS4ysb2wqiDIvsRzQKNoimBNqtsK7CR6p9yk85eDfjNFAK7pqgbpmRBfgMc8kirJ7p4NHp7oNG/o5ysXHZx8Xf9w= 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=fKEfCl7A; arc=none smtp.client-ip=209.85.167.41 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="fKEfCl7A" Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-57b8fc6097fso1343768e87.1 for ; Thu, 25 Sep 2025 08:17:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813437; x=1759418237; 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=Pg0HJx9UF6cc43KSohy1sFUTcyD1/BLQvc4mTLXMxcE=; b=fKEfCl7AVmJHQqhbtbf0R4rOqSa4No3ujMoQQUO4+qZ6MnivJ0ps65I9HNv38/87eC lB+ITMbyBYmBuupoEKppIyNcezWWfZsqDIz54H+0Psl3L+OGm5KbZLfLpRrNxBj9IgdY MOwGYtPbuT9wBz9E3iJl67ufMRzeWfRE3WCyRHXXndMipQNphpcuv8ip34fMD46Cw+i2 aEu4m+FcrjFbrnUEjm+8VuHonMRs1JRZfh5PVolg/zh/IAyJrIT9wDUYXfU6C578Q3gJ fmoiimzEow/g7wz/tVP5OLh4ZTTbz6PGhRfq/drTYD0a2X+hxLurRH+WTSlm8BeYUsj+ taKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813437; x=1759418237; 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=Pg0HJx9UF6cc43KSohy1sFUTcyD1/BLQvc4mTLXMxcE=; b=TrtKQUNhs1yH+qfUWG5LlskyF0Vz1Y9UdfGFx+fAGMhv1wqrXwXNcPnhdILnfKOAKm 6GTpqiYYg6FI977tQ/q+Awz7BXBnROr02+vlFZ6osJAN1xa6pVWfLJbVcigqvYck7xHt ENcqT4MmWX5k6hgNfnYMIABA2AoZuzCogBEChcIsckigEn43/kvyY80nxb/DqltdpYb2 5U36wfc4jEt8KkuDRSYk4ttr4sYAFk/9LvotZ/+2uUzawCWU/bpm7gL6n/a/0E3Zl0/j y4fdkR5o3/E3zSqiVPpUhlojvdeOH2uVNPJlRWNtExH3CS5/qkkgHZTnU/ixvbQF/J70 /Mqw== X-Forwarded-Encrypted: i=1; AJvYcCX+vUXSvNmRs8xd31lmSfA/kdkiYbmULpKQp8SgBEK0KLVmckvd+/1VX5fUpm65ztFOLrcQYaRHxjjRfMQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxKJuFO4RnsgrCXfovuSwpRznsudzdlAxo2t/mTGEGHw2Qf5Zxq w1F66RESulLPTPwnYPXJ4ci8NhvyW3tAQ6Wdc+MkgTwb0v7AHvl3WgAk X-Gm-Gg: ASbGncvvYvQVE41zmQw9avulnpu0kdz1zB5MaahaRaJRKHCvvnkAhvpLoHw7aa3NZrn 9QReceQKqJUWbq8UGC5OWbvxNUPV0oGnQ/VvbRX0Crbc5cKzjuqmRtUtSmo3kQ+cu+sVffUHYzF NGYy4kLMYGd+VUY5qcvrX1czlcp068t7+ZpJr7Tx4+kdAF20ev7smz2saxyRDnPH2JNSR7Lk0GC DzVFXkdp+B32PyFTf9jU11F2B6WB687bskv9O/AJAev9VesIAgV9crZYjJSETVq9KnD46EtplCt 50YnAvCZQcZx6NfSfaz6ikaGzCPiCkjCR2vlz80KYkh/OfcveS+yEkiCcqFGrT1YxZYpU0nudcc mBRTHj9ddmi3GBfp0eU54Thai X-Google-Smtp-Source: AGHT+IE0utS+jecb/LkEfFuQRpDoO+zVGhi+NkEAr1FLNmKoWaS6Wce1hEkVKYRO90wTwE672u05Dg== X-Received: by 2002:a05:6512:3e11:b0:57a:de0d:d9ce with SMTP id 2adb3069b0e04-582d2f273a4mr1035976e87.44.1758813436654; Thu, 25 Sep 2025 08:17:16 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:16 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 03/22] clk: tegra30: add CSI pad clock gates Date: Thu, 25 Sep 2025 18:16:29 +0300 Message-ID: <20250925151648.79510-4-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" Tegra30 has CSI pad bits in both PLLD and PLLD2 clocks that are required for the correct work of the CSI block. Add CSI pad A and pad B clock gates with PLLD/PLLD2 parents, respectively. Add a plld2 spinlock, like one plld uses, to prevent simultaneous access since both the PLLDx and CSIx_PAD clocks use the same registers Signed-off-by: Svyatoslav Ryhel Reviewed-by: Mikko Perttunen --- drivers/clk/tegra/clk-tegra30.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra3= 0.c index ca738bc64615..61fe527ee6c1 100644 --- a/drivers/clk/tegra/clk-tegra30.c +++ b/drivers/clk/tegra/clk-tegra30.c @@ -154,6 +154,7 @@ static unsigned long input_freq; =20 static DEFINE_SPINLOCK(cml_lock); static DEFINE_SPINLOCK(pll_d_lock); +static DEFINE_SPINLOCK(pll_d2_lock); =20 #define TEGRA_INIT_DATA_MUX(_name, _parents, _offset, \ _clk_num, _gate_flags, _clk_id) \ @@ -859,7 +860,7 @@ static void __init tegra30_pll_init(void) =20 /* PLLD2 */ clk =3D tegra_clk_register_pll("pll_d2", "pll_ref", clk_base, pmc_base, 0, - &pll_d2_params, NULL); + &pll_d2_params, &pll_d2_lock); clks[TEGRA30_CLK_PLL_D2] =3D clk; =20 /* PLLD2_OUT0 */ @@ -1008,6 +1009,16 @@ static void __init tegra30_periph_clk_init(void) 0, 48, periph_clk_enb_refcnt); clks[TEGRA30_CLK_DSIA] =3D clk; =20 + /* csia_pad */ + clk =3D clk_register_gate(NULL, "csia_pad", "pll_d", CLK_SET_RATE_PARENT, + clk_base + PLLD_BASE, 26, 0, &pll_d_lock); + clks[TEGRA30_CLK_CSIA_PAD] =3D clk; + + /* csib_pad */ + clk =3D clk_register_gate(NULL, "csib_pad", "pll_d2", CLK_SET_RATE_PARENT, + clk_base + PLLD2_BASE, 26, 0, &pll_d2_lock); + clks[TEGRA30_CLK_CSIB_PAD] =3D clk; + /* csus */ clk =3D tegra_clk_register_periph_gate("csus", "vi_sensor", 0, clk_base, 0, TEGRA30_CLK_CSUS, --=20 2.48.1 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (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 24F0D2E36E1 for ; Thu, 25 Sep 2025 15:17:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813445; cv=none; b=Fy5BoJbD0VFSSOrd8JmcytaxkAzhYcKo6IYbZEDlZsFGB0z+Pm20/9JfSY8GAQiUVNw1bruLboOpbMXGtw/d6eZ1IDd1PZy/s//9pwYAXwi26cvJQfmlEscRghqh/gzjW2qdCFiBMiS/JizxpX1DGwYICTMaAp9EDCt4vGk0Ong= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813445; c=relaxed/simple; bh=pmC8gc0UmEUr7LvPdnrQX6KOLyuZeAx82zdJKSWgn9E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qEOYg2dWiT1lvGee2iNOEoL5KbRVJNvflZtKGUngubm3u06RH5KUy/h5uEV/eoUYSZl41Q7q1k00OJRudqTGYx9hdYc38onpSnd/bX75N7FmbVWmRGiLO8an6yR6Z08/eT2ZFkBOq9mXJFxNHJ9LNDiyH9LyE22lZynkJVGLuBA= 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=cS/rXfIy; arc=none smtp.client-ip=209.85.167.44 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="cS/rXfIy" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-57edfeaa05aso1155316e87.0 for ; Thu, 25 Sep 2025 08:17:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813439; x=1759418239; 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=J0spy4sLoz5G0gz2wiaev4JFU/nZDYKwDr/0mjQIAt8=; b=cS/rXfIy2T5rHsjmPCMZkk0jdTw35peiUQZE0s9kQbMO0TJ+bXNxHcMv16KxGvEWzt jTE2lV43shmQuVfkpwIROC08oCctaF+YDFlCDgbLVXXk4Wk3qnxFwkxk+8rW5KWmkud5 64RZpv31eL7CEm0K7XBio+xzKnvHDkY2MC1JdYhGP1HWObUuGva5N03fzBVXJDaxtpUJ IjXXhyIt87OmGQ/Soxwyb+fSmIZURRHckOTuZ5TukC4h+OvBggf2t/rRZNSI06tpvf1K vv4zW2i8sGoRjDpTtTfTyHV0Z2vInMxwk2DbdXm7R9zjeJgGk5WnXqp9zG8AiYyF10Jm ZzIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813439; x=1759418239; 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=J0spy4sLoz5G0gz2wiaev4JFU/nZDYKwDr/0mjQIAt8=; b=ElmCWelIIlOsV5wtn0w7pk8qLVp3mTtskDrnIySqOrCmusduSV14CMcVCwR6VZKJW9 ahaor448zx9uonWjypO03d7m8flgGyWD3H+0+jPwC+Jq3XV1PqLtVrIm1NWxecMVrryi F0pPz0C49WkpHyzgjQce/buC2fPrENSZ/7NTiP7/kxIVmDJkWffM6aSOtUUPQSoqzqDV iZTS7zkVa6HYzjOEzBGqVJkR2LBi6k15Uk7J6C4HBGHrppza+Yx18T7BPaDfIkVNVYoZ bK9K5fVj1dkdvqTF7ArfBAVTMr2FsvLm5nebc83EI9U31Sf80NMNCM4JaBQ9NGd5dIgf Y9AQ== X-Forwarded-Encrypted: i=1; AJvYcCXhMACpd6JIB9t8AJKJjuslSfQ7zHSK57kSYoZ3KwUZv6bTrcDR09IhNg8dR7YPjfd0cZd5yzO7VAlhl5E=@vger.kernel.org X-Gm-Message-State: AOJu0Yytrolg3meSiKT7hxD/+Ofo2Z5EW6Z0LQRWpcptHmawWw14HH31 gMOk/FlUPD8jNyLduSWkp619m/Po6SV3lRFDEecwqrq3vReXx3OAFlvG X-Gm-Gg: ASbGncs24A2MkfY6BG7hXBlX9gj9QI1cnItg3x4EcpWe5bmonYVdgpQTuxIJt3Zl0WD HpZDE7TtNWXdX9Oe4sU8IzsAWx0V6Ej6XPZOW8xobVf5Y49T4GcCZZdsCeQxy3nUdW2oSQm2V7n LRq200rLxB/VsDGJnTym20tGIB1rNfUXKb2PbhqS6wolr6lZoKihU7hLcH6e+Oyf7jRVFZ0ndW+ JR3ciS/F6vKbIDVOdgFs2bboVbdp665tvxl1Ax4qt7rkKTZmxjqJ6gohDGvOZU2gaBV/E2molRl HmB4XNhfXh0VsC6/MfZ4jN1D6fvjk61JEZhkJA0rQyGlWWqDNd8TD+ckTIa/C+ekc4b8f5fpzw/ g/WtEUZ+JHp9ShQ== X-Google-Smtp-Source: AGHT+IGqaK5Z05hEk75mGW8qDiu630uMdDhjqt6kFcIL4trP2Pfk6uAyKaszBGaqiiXlJzv0dGCm8w== X-Received: by 2002:a05:6512:104a:b0:57b:8675:e35b with SMTP id 2adb3069b0e04-582d073f694mr1192520e87.5.1758813438490; Thu, 25 Sep 2025 08:17:18 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:18 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 04/22] dt-bindings: display: tegra: document Tegra30 VI and VIP Date: Thu, 25 Sep 2025 18:16:30 +0300 Message-ID: <20250925151648.79510-5-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" Existing Parallel VI interface schema for Tegra20 is fully compatible with Tegra30; hence, lets reuse it by setting fallback for Tegra30. Adjust existing VI schema to reflect that Tegra20 VI is compatible with Tegra30 by setting a fallback for Tegra30. Additionally, switch to using an enum instead of list of const. Signed-off-by: Svyatoslav Ryhel --- .../display/tegra/nvidia,tegra20-vi.yaml | 19 ++++++++++++------- .../display/tegra/nvidia,tegra20-vip.yaml | 9 +++++++-- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20= -vi.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-v= i.yaml index 2181855a0920..dd67d4162884 100644 --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml @@ -16,16 +16,21 @@ properties: =20 compatible: oneOf: - - const: nvidia,tegra20-vi - - const: nvidia,tegra30-vi - - const: nvidia,tegra114-vi - - const: nvidia,tegra124-vi + - enum: + - nvidia,tegra20-vi + - nvidia,tegra114-vi + - nvidia,tegra124-vi + - nvidia,tegra210-vi + - nvidia,tegra186-vi + - nvidia,tegra194-vi + + - items: + - const: nvidia,tegra30-vi + - const: nvidia,tegra20-vi + - items: - const: nvidia,tegra132-vi - const: nvidia,tegra124-vi - - const: nvidia,tegra210-vi - - const: nvidia,tegra186-vi - - const: nvidia,tegra194-vi =20 reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20= -vip.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-= vip.yaml index 14294edb8d8c..9104a36e16d9 100644 --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vip.ya= ml +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vip.ya= ml @@ -11,8 +11,13 @@ maintainers: =20 properties: compatible: - enum: - - nvidia,tegra20-vip + oneOf: + - enum: + - nvidia,tegra20-vip + + - items: + - const: nvidia,tegra30-vip + - const: nvidia,tegra20-vip =20 ports: $ref: /schemas/graph.yaml#/properties/ports --=20 2.48.1 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (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 6EAC72FB63E for ; Thu, 25 Sep 2025 15:17:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813445; cv=none; b=nhJs7Z+iWrHV6SAIOj5LSpsARGLZkWS0YF8v1hWwY3Kclkjlm/G1sp2O3W25qDfhbf3zH1uEG4o6wFsKY0qoLaFhGVrDrBFJXkzxb3cU2rzokkZUNKCS3z+kBM8eYIw7GRGvcUkEU/oMOTlVGJsu32OuCLPJ6rVUQ5EA9CpCsy4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813445; c=relaxed/simple; bh=sgN5V56YM4qhVdHy0m6Dz/yGVt5884z/MxNndOF+8Hg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Vt9a8SurEOiB7CLOJbjygp5HK0lRcIn0pI8VSFBd+BzAZ/DI1tNli1+6aIhRJqtDNqxi4YfB8RMNjSlXghGDBY2T3OlBu35qN08mWh5qqEeCjM3LUUvHWRzr+GmuOd7m+LVYETYBHuekkrUvqujT4e1YP4CeUyZfWbRz1Iygdcg= 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=IeOsWAPr; arc=none smtp.client-ip=209.85.167.54 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="IeOsWAPr" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5688ac2f39dso1245324e87.3 for ; Thu, 25 Sep 2025 08:17:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813440; x=1759418240; 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=LDpFX1J+/TUvWrJNHxxt+1RfUZNV6gVxsd2JBSzQm/w=; b=IeOsWAPr8SMfIMaqxq4PqiC+FaNO1jATMYo0rE+eRBfB8F3/sIlD7yZlu7IEBijI88 veXtgLh6HJR1pONPT8MmOXiTon1+Y6SjB+99LxyNVVKpSzxal+/+0MdlQu2b696b29oW btuMPhaRTDvln9ujHcdGGh0hEYbt1Qb41raKX/2G24oguXqYaDQ8oKg08exCZXCjhgzp pqQW3GYB+7T2Ct2xf8CcWGIH+9kv3nPHVolEj7UmIPR6v8na9wcGuemAXjh3sZAn2RkV wWg7Z7eDli4W4095wJtpRePl47JMnAXdfGcXhP2vUicUBMaIUetG77OLzImfy3y7YKaZ gvaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813440; x=1759418240; 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=LDpFX1J+/TUvWrJNHxxt+1RfUZNV6gVxsd2JBSzQm/w=; b=gU6OykyIjfQ1S56IZXazQDkjWYeWJfk5tkHyc/f9S/e82U00wtE/clBIAbeLrKhyKZ Nr8w84xUOWWcC61qMSULEXaK+pCVT2eujE9loB0UBWR9V5+G95rRZRdzvFLIGqprZvyR Vi917kzFQh1/mjmrMoBv+JoYBFIVV2Vid/vL9FXyW4AgFwLOe+cJm2K/hEwUqERim39G PMBG2W0CiYro3RkGZ7ABsZjXR0pA1DKU/3r1/EuI4KzWZaQoJ75IRtnLN/muh7jWnqd5 fTBshXigDAf5vRTdqyWFSLiczr+Oa5smpy5nSEJRIE2JbkJJyR6zgMiHY4rWdUa4jYIH Uh1A== X-Forwarded-Encrypted: i=1; AJvYcCWyDH79EwOq9K/rmYpqO7e3orwkZF1y0q11XNxRaKRcSSCtchkRvBIaDBOn9EQ7pDXf1ACCFKEYDTRSMoI=@vger.kernel.org X-Gm-Message-State: AOJu0YxjGALX0D3FNEo+hLpVHBn04nbPqJUmNpdnPNP4EVrQnaeGAOU2 /9hl7bOv3k2C8MsfN11YCiFVedIOvJK6oAq1CC/Ks0+6TuPc4QX6Szzk X-Gm-Gg: ASbGncsFPVL8lSvne1xJ8UQgJ66U8F3/XbxEieq317qyfgNjBlOdrkiqGEtEIZWvfP3 zOvb87jPQBWbih4z/KFAB+RAN7O+x6vTNe43kU93tN7ZLDcCmfJh47uz/aIA4rpTjjPjMGT2/sY shzW6UAZ0A0ji4QZeU1InmeSYSnQ5UZ7bZW1KQq9nc8yzwBY19piI8yxfzyI5xhyOONpLnpouTt 7aK88VxjpdKGpO0Nvq071J2sSqL/MyPWdfFuBWehO40tO1aXhXucL+JWGhQU5Ea4Zq4YQPSKZi/ F/ZMDn4z8SjA1uVC3YE/OUngxxSkYpHerQMDSKrcreUSN5IVM8jNMZRtUGdnx3/Br2POealaPSD UaT2zer7ql9BtX3nR3jiu+cWo X-Google-Smtp-Source: AGHT+IF5ZI2beyyzEW/PAtDOxp+J3O6NLq/9OKReZs2Hy68TyNyWNxXVchzXa+SA2R9q+HUVhQzW8g== X-Received: by 2002:a05:6512:10c9:b0:55f:6f5b:8e65 with SMTP id 2adb3069b0e04-582d25839efmr1072613e87.30.1758813440236; Thu, 25 Sep 2025 08:17:20 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:19 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 05/22] staging: media: tegra-video: expand VI and VIP support to Tegra30 Date: Thu, 25 Sep 2025 18:16:31 +0300 Message-ID: <20250925151648.79510-6-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" Existing VI and VIP implementation for Tegra20 is fully compatible with Tegra30. Signed-off-by: Svyatoslav Ryhel Tested-by: Luca Ceresoli # Tegra20 VIP Reviewed-by: Luca Ceresoli --- drivers/staging/media/tegra-video/Makefile | 1 + drivers/staging/media/tegra-video/vi.c | 2 +- drivers/staging/media/tegra-video/vi.h | 2 +- drivers/staging/media/tegra-video/video.c | 2 +- drivers/staging/media/tegra-video/vip.c | 4 ++-- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/staging/media/tegra-video/Makefile b/drivers/staging/m= edia/tegra-video/Makefile index 6c7552e05109..96380b5dbd8b 100644 --- a/drivers/staging/media/tegra-video/Makefile +++ b/drivers/staging/media/tegra-video/Makefile @@ -6,5 +6,6 @@ tegra-video-objs :=3D \ csi.o =20 tegra-video-$(CONFIG_ARCH_TEGRA_2x_SOC) +=3D tegra20.o +tegra-video-$(CONFIG_ARCH_TEGRA_3x_SOC) +=3D tegra20.o tegra-video-$(CONFIG_ARCH_TEGRA_210_SOC) +=3D tegra210.o obj-$(CONFIG_VIDEO_TEGRA) +=3D tegra-video.o diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media= /tegra-video/vi.c index c9276ff76157..7c44a3448588 100644 --- a/drivers/staging/media/tegra-video/vi.c +++ b/drivers/staging/media/tegra-video/vi.c @@ -1956,7 +1956,7 @@ static void tegra_vi_remove(struct platform_device *p= dev) } =20 static const struct of_device_id tegra_vi_of_id_table[] =3D { -#if defined(CONFIG_ARCH_TEGRA_2x_SOC) +#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC) { .compatible =3D "nvidia,tegra20-vi", .data =3D &tegra20_vi_soc }, #endif #if defined(CONFIG_ARCH_TEGRA_210_SOC) diff --git a/drivers/staging/media/tegra-video/vi.h b/drivers/staging/media= /tegra-video/vi.h index 1e6a5caa7082..cac0c0d0e225 100644 --- a/drivers/staging/media/tegra-video/vi.h +++ b/drivers/staging/media/tegra-video/vi.h @@ -296,7 +296,7 @@ struct tegra_video_format { u32 fourcc; }; =20 -#if defined(CONFIG_ARCH_TEGRA_2x_SOC) +#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC) extern const struct tegra_vi_soc tegra20_vi_soc; #endif #if defined(CONFIG_ARCH_TEGRA_210_SOC) diff --git a/drivers/staging/media/tegra-video/video.c b/drivers/staging/me= dia/tegra-video/video.c index 074ad0dc56ca..6fe8d5301b9c 100644 --- a/drivers/staging/media/tegra-video/video.c +++ b/drivers/staging/media/tegra-video/video.c @@ -123,7 +123,7 @@ static int host1x_video_remove(struct host1x_device *de= v) } =20 static const struct of_device_id host1x_video_subdevs[] =3D { -#if defined(CONFIG_ARCH_TEGRA_2x_SOC) +#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC) { .compatible =3D "nvidia,tegra20-vip", }, { .compatible =3D "nvidia,tegra20-vi", }, #endif diff --git a/drivers/staging/media/tegra-video/vip.c b/drivers/staging/medi= a/tegra-video/vip.c index 5ec717f3afd5..34397b73bb61 100644 --- a/drivers/staging/media/tegra-video/vip.c +++ b/drivers/staging/media/tegra-video/vip.c @@ -263,12 +263,12 @@ static void tegra_vip_remove(struct platform_device *= pdev) pm_runtime_disable(&pdev->dev); } =20 -#if defined(CONFIG_ARCH_TEGRA_2x_SOC) +#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC) extern const struct tegra_vip_soc tegra20_vip_soc; #endif =20 static const struct of_device_id tegra_vip_of_id_table[] =3D { -#if defined(CONFIG_ARCH_TEGRA_2x_SOC) +#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC) { .compatible =3D "nvidia,tegra20-vip", .data =3D &tegra20_vip_soc }, #endif { } --=20 2.48.1 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) (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 ECDB22FFFB7 for ; Thu, 25 Sep 2025 15:17:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813446; cv=none; b=RXNK01Wnc3QibW4a4KKeiFPQNOTPIsAdTBiSplt23BTuaDKPltRpTVMmvaWDoJbqMlSHCvjNrCV0BCpT/ZJ1DOeThGWc8J5tkNodQeayvi+Q69BghNR46zqCIwvwP/86S6sJP0WAShz1I30C2MvvCVgWV/OgHCz4KfAZv/KqtwQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813446; c=relaxed/simple; bh=u+qJVWyapenrodgmMyyh5sdeoJQIHo+UHZurPNrBBEU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dsWWc5whIuqe7COrnSNQZSRFBIg+aex2lhawNa9XoXady1ZZUwMpGimtGgPX92qVzzrcu7w75TW2N27rl5fJTK2rA0JQP2CTmF7J6uQt+JovkDiFhQsWB2wqeS4vi+Shd24+xhcK1BUvMc/O4YRc0GAWYDU8ROWNX81DmgBRcpY= 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=ASxPoWgg; arc=none smtp.client-ip=209.85.167.45 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="ASxPoWgg" Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-5818de29d15so1400828e87.2 for ; Thu, 25 Sep 2025 08:17:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813442; x=1759418242; 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=oNnZ9HXiG4U5oHkge6rfZLR0dPMVP9tD5A0n1Dg/8XI=; b=ASxPoWggU2jE6P99zI4CRqeV7JuShOT1D/mfEc2RqTFGTqRfTvoolVpC+su4R2SMBi uscAI/KyVs4csYRuIyhjwY1lGPJc5YaCnncVKxuBUCAKCB3b2pmvXjxtnYjIXB8Csmjo KWIsVNQvQdB8AyrwSD0El3/1UziL8zd+KKgE7UZNeiTfDuTC9s5qls9ath6D0PXvVNrJ wjTAwc43k2FkfBJrk8p5TMHt6TF8NAW6Cz1vFC1QnNko/u6tLDj214hUDDqBXk7bnCzj YHMkvnzLZj++BOxhVTxp6dctM+RnAu7PlIqBSOLYoWStJ80XFVnXXC42Q6BEns1e8BuU MPqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813442; x=1759418242; 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=oNnZ9HXiG4U5oHkge6rfZLR0dPMVP9tD5A0n1Dg/8XI=; b=A3Ek24lu23rFExUEK+rhXV43qKdaMkF/8/n2EjZ8cfcz/7kQr1BoyZZvbH2HuSC/1/ oixrK7MRY0LFKNx7LoPyJeK8WhuZUXSBshy3DCL0dgMCafgpvDMGitetik/Nc/a/nqqN Rlepr4odCuV1PQf3nlSEezXCuEsfSQwcc4hmbgyPmLmBmvEzQTDFZJDvQfnYpMvlS8R4 Z3SSlAxk948v6ZtD7otA/Ix2MYohzzDgk4BUe22y6Syrn1xGuI6+EaN3oGQEetlj+JiS D2OEK2QmsAE06P1YYjXKV+egrdxRm2tZGVEVHNH7z6trcfE99YHvrsVB5sIGNSIrY90L E/xg== X-Forwarded-Encrypted: i=1; AJvYcCWMLBrwz+SCtMP3y7W7pOeC+HT/RKorQPNzatorvVSbQlURoql+80VTnDR0xLy0HCyGFjQR1am0If5h6qw=@vger.kernel.org X-Gm-Message-State: AOJu0YwKYa79qgMMBB+YXSoHNHqKSFZ0FRR9nTRBMbrDk8V5uT3sR+v5 dF4I1lM2N6OGfHORhBVbduwUCRkMPjMErxypRWXR511RhZP3s3hmP82/ X-Gm-Gg: ASbGncsJ7wTnsrbrF2OOZJEKTLiUACNMX6AdtxFf4/eHAOj5Jqxkjj4h5NBaI4K2yVr CY1qEQB3EuSglf/YJADC+CTi1RGRlVuzYAWOyeMfJsozScyn6wpFcoLicWTWDUAYVU8MrH0e8oR 9WaWiN+70lGVXpj/6fJhS2WXd9KR0N96bz3AZ57TELYH9MQIyFscsQqjGxRUbbggpzZl5WGnJsW tv/N+VoVxQw1o6FkyBoqJPR7yTy6b3Gd9EAFTUbYgnVhOmQdqlUB07skVlPW42MlrT6XFCovneF RofhZN6yrvoybj/XsvRxygO1O+xA57XQOYCiD+06eyziTjPmZP6wzXlS8wDs5SFYtlG9JWGO7TK gPNac3n7ZYYthTQ== X-Google-Smtp-Source: AGHT+IGR2iv+Kh9ab2Gm8gGsLzPj15GIU7TA9oRp1epPRzVsSpV56VOyWvYjJkH+/G6EVhjFNycXFg== X-Received: by 2002:a05:6512:6d1:b0:57e:ef77:699c with SMTP id 2adb3069b0e04-582d09297aemr1358949e87.3.1758813441925; Thu, 25 Sep 2025 08:17:21 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:21 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 06/22] staging: media: tegra-video: vi: adjust get_selection op check Date: Thu, 25 Sep 2025 18:16:32 +0300 Message-ID: <20250925151648.79510-7-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" Get_selection operation may be implemented only for sink pad and may return error code. Set try_crop to 0 instead of returning error. Signed-off-by: Svyatoslav Ryhel --- drivers/staging/media/tegra-video/vi.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media= /tegra-video/vi.c index 7c44a3448588..856b7c18b551 100644 --- a/drivers/staging/media/tegra-video/vi.c +++ b/drivers/staging/media/tegra-video/vi.c @@ -476,15 +476,11 @@ static int __tegra_channel_try_format(struct tegra_vi= _channel *chan, fse.code =3D fmtinfo->code; ret =3D v4l2_subdev_call(subdev, pad, enum_frame_size, sd_state, &fse); if (ret) { - if (!v4l2_subdev_has_op(subdev, pad, get_selection)) { + if (!v4l2_subdev_has_op(subdev, pad, get_selection) || + v4l2_subdev_call(subdev, pad, get_selection, NULL, &sdsel)) { try_crop->width =3D 0; try_crop->height =3D 0; } else { - ret =3D v4l2_subdev_call(subdev, pad, get_selection, - NULL, &sdsel); - if (ret) - return -EINVAL; - try_crop->width =3D sdsel.r.width; try_crop->height =3D sdsel.r.height; } --=20 2.48.1 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (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 E15582FFFA5 for ; Thu, 25 Sep 2025 15:17:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813448; cv=none; b=gGozNdMfl8XLZ6iZu0scQrlNTg7Ux03eSkGFbu1/hcBVX0eaoDhqRX27Gme/hz6PbO0d4pZ+AuPTkIa/uXhkCU0jljlJO/ZTNbCNASq4In20UpmZcAOZkgm9kvd5WYaHYLoAZj6RO37f3Cd0NVqeg8z4qKh8sZiuKKR9U/jIh3A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813448; c=relaxed/simple; bh=unhDWU3j7HXm8tKnMiJwHfKNJbf2ZhuKuePm6ASfLQM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Qql7iYWUvUH1Wm0NfbaTbn2vwa3xICKOu1YUWxFSmJOs3x1Pkio66x9B7MBE/7Rk8KHMdjJWydmQYSiD3UTCI4Y7zfjIv9Nu56vKOKa0qpPMxw5oHHZR/sfMWQTKhKppVgFtMVZTYAZ0q+4bY3mEkQAqyLRhDqbq4y2BU7jhB+A= 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=HiTJ/jLG; arc=none smtp.client-ip=209.85.167.42 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="HiTJ/jLG" Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-578ecc56235so1057123e87.0 for ; Thu, 25 Sep 2025 08:17:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813444; x=1759418244; 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=HiTJ/jLGiTglZ13RT2F/aEa2SHIvfFiQtpSMa7WWgdSnWEHfVGSegysVVJ25pl4rdX DTgWFAzO5ZdhK5ZluiPlzG1Emwr7eSBN1/CJq/WpIvTNXG9LuTGnFN6gtM8GTrFelvgX x0x/NOG2V0acDlCdrawcFEd/rtJAGX+xsSLeFtkDHuDFhyaIehY5dVmQ9MZQCuw3OyvM tbD41lmAN+0l/PNFl8Midbp5pf+1zz7zHadVoMz+BXF/0bAB4HvDMXZ8aeD7kW2Nwe6+ Pt7Q0hVw6fMKFQzx59eFIUCbfx2jj3r0smNgxhjrNkfBh7Wu45LI+xKo2k88JFBe2cm+ 2VGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813444; x=1759418244; 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=efQQ+Wzsun6g3BnrUlX8kCABqQIHdHLv8p7VN4xzcfT2LwZVtHCEuKfpHNeQg7yf6P SKAByjrr3c1GlUSk8Xfpy1gCfUJTiUQtsBBSUVtbwbkcMb9wQ2FZIZKrXoKh7XxieIdk oaRPweSgLqG2hHAP0P9ABbcwBYL7Jtx+YyM4AdnXGKmq3P0uncpaY3bgZ4U5+zDSICLP aGFSPYrB1rFzTeMCgshNCaCbdHcDApsdgCinbuJ3ua7/PZR2OB794Y+nX7OhvQ6MTu9q 2+IdfVHCp8a1pEYDk8HeC7OMGHI/Dk2jaMEf6S72w4vHmGGENgN+w5M65dSBnwgxN09v ctWw== X-Forwarded-Encrypted: i=1; AJvYcCWOWGdW7FOKhgN7yeOM1eKtU6UwwW/znnv9CbLaM51Sfhv3FcPCSR0dWz2Fg8jvrqBm1TOGa/itN6qpCmI=@vger.kernel.org X-Gm-Message-State: AOJu0Yxw1W97tqCxlyke16sWRLPeV/t0vT1wMAi/3RMyTL0zZz+/WvMG WBPzAAFYf6EgDt9YblMniZlSv4S49/XILsXITELcde92JXnhL7TlY+os X-Gm-Gg: ASbGncuyScJqjXq4gCKP5s57Z2Y34g0/pOEyCfy8EhBcRe1nJSRB3Ks7/BHnN+BnDDu BsR9HNJDtchUmMLOBMRfSLTYNlSQhPdVyFFhQ8gdhPxhWTVnO88i2IFjEig8944MZ7aix3BYIDL r4HsJ6of/cJnl/EsmZMDdH//NnmdULqESvNimt2GkeAzCcwXneo69x3Ces3KL3IdpzzjfgTsyWg hYokkgAOuPRoLgXD6Fu9vVpKkqSxtvMnH2wybn/lm+SGuiKiwVLx+N93pvRV2aL0QLmKcdyDCV8 DroGwqPRvRRxnWnxw06e0FiO7VQTec57hFJFPaLrpv2yV3IdFnEhP511PAJCFAv4fUYEwaCdFrr OypHsTk4+5Ti8+g== X-Google-Smtp-Source: AGHT+IGmndnr7Gh0aHTSxGSLl1Clt2mwmPdyke+G1kRc2c45XCUN1RqNAuzwlMAkSvKsRinuBceSbQ== X-Received: by 2002:a05:6512:684:b0:578:f613:ed9c with SMTP id 2adb3069b0e04-582d39b6b06mr1182270e87.43.1758813443698; Thu, 25 Sep 2025 08:17:23 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:23 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 07/22] staging: media: tegra-video: vi: add flip controls only if no source controls are provided Date: Thu, 25 Sep 2025 18:16:33 +0300 Message-ID: <20250925151648.79510-8-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 A8182304BBD for ; Thu, 25 Sep 2025 15:17:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813449; cv=none; b=WNXmc0M+cLXqjRhiJCxDMq7hP+AYLcLDeJAZz/feVbFFwrzQGshmWgJlDG1Smods3/OF1nSi8Pird8Gl9WKpQsqR/y55/UVcPwBo1ltJ5VJ0j0l8PhRUvEz36w+aEMpXcQMNdZ+Q9WPkrfsi5U2UFi20vhsrXJWwyV0EG6KEu90= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813449; c=relaxed/simple; bh=EkGBXhItwLWxgQ/aIBX1I+SuRG7//x8trI9XTwjIFpA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=guSWBzwIzOBrkiQJkDwfyc6gEIJZzJO1iXzDZpIsOWg6BxpJRalCaINgLGGZxODP1S3e4fpXYHwGQ1kucvMDOCUqftoaR1YjUGNyfRwHTuoaHX6aFV0uQvyDxTBDcyXCBeyG0ypmZ1WgdNXYiBKyp9WCqV7n4r/DxkS+K90ruMc= 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=Ee1+Pmd5; arc=none smtp.client-ip=209.85.167.43 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="Ee1+Pmd5" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-57afc648b7dso1345927e87.2 for ; Thu, 25 Sep 2025 08:17:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813446; x=1759418246; 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=PboKxjSSvW6h8IWsKUFqt3oWZleCNVGyc+XkVJL1pxE=; b=Ee1+Pmd5vceJDQtXZ7rwfNWCU7h6i302CDtsRcFCxjbwrVE/eHzdV/Ex0qlmKZUHpd r89HPbSiuXkj/o0JJvrjUD1fRpFbX8/+Y7+hbcXEUtI20cYvp8WXGhKRdsCmg4/t/bvw rXtG+t8hDb4ZKIJnWM1bvf1ug7Bk9TTA2ZCAYrjO6oj2DR5JV5dsriSHVPPzWCrWmuqO yKZCTJRbZR13tKLtYj+fgsJ5wbUUaTPHthsIVaqX4Agbc9R5FNx3oIIJ+mzqz7Qkgeix llGT42EuzeioYw7dJbwDF/eNbenlZZc5eJS4aS2wyWIcrmtjAhqmmOkFR38ryJ/Xqvlh YwYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813446; x=1759418246; 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=PboKxjSSvW6h8IWsKUFqt3oWZleCNVGyc+XkVJL1pxE=; b=hn0N9vqvg58YZ1KoGJHnMlwHNthz4jdJCW+NODCWlrGYW4Fs553CN7QTgNbzr7z09U UKnune/apeB50Qa9F8uNh2OzZPo1Hh63VRenwprvZtY9Tu2tJB/cadqxyDxDu/de9afi XzcwBGvz8Lh9MNEyrFkOB2jL2XL5JgdmmUWqJXxV5uwrf9WK0TLQ25dWjy12P+KJBO8I ZL5RmxF21wy/EOg8DwBfN9IRtrH9nVz4q4eguAYcUV3hIG/e2bq61dv9+xTf9RucFZPu gzmcp3XTL5S8haZAvctBunMXNvQXln9uYwBctP1qugYhVX0SSK3TfzLAsNeRgRLSqLOe R5Yg== X-Forwarded-Encrypted: i=1; AJvYcCXh88sldcybq8/yLrkXud4Fn2nyuX5+FexSP8dTU52TBgkFusvDBsELmFsNtvm1Q97ebkqjI9lukMqEd7w=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5eWlVMCPpoB90YZbfA4359BQDc4EowT0jdUmAS48cA914Q1JO y0CLs75i8aKBc5ty0h67GucCeL1hvaNpJhazD8zSz6nyyGDmOStJTHUK X-Gm-Gg: ASbGncs+U+/VeFFiMIlMbb0ezUrBueM8Of2HDFGmf/MujATy3GV9rkQoEb2UBf7TEhz avPcXI43vBlT6xGLlLuqHTrrUz2VsZDG26qXEKW5dIGKuo7uKSGAVrQZzxDNKeHjOx2dAUdUWtp JdmdtsfYo+sUjqds2CXpqQW0tZ7FOUnD0nZZYguThtOOeUI4aCMS/GgEoNqpiuxBSANFObX/X91 ObN+98jz7qWDLtYnPmUJAlwBy6q5E0q8JPJVyYtqCMCrkuYEeTFlOCZxRpACu7GPBy4hlNA6h9H Q82mvr+Oy99wIR7zvW5CUdbwSal6KK4UVrCx/RkxkIcEs7QFpSRXGTsMelttn2O0PPZ8w4sl7uh Kl1nOyKVbuJHJFA== X-Google-Smtp-Source: AGHT+IE9s8LEs7isC/WkOOjmZSczeI87yN4+QY99sZheQ8v0ntKzIh9SCdVR9v8GQcLfMhBuoMmtIg== X-Received: by 2002:a05:6512:39d1:b0:55b:842d:5828 with SMTP id 2adb3069b0e04-582d2f2796emr1520385e87.36.1758813445428; Thu, 25 Sep 2025 08:17:25 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:25 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 08/22] staging: media: tegra-video: csi: move CSI helpers to header Date: Thu, 25 Sep 2025 18:16:34 +0300 Message-ID: <20250925151648.79510-9-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" Move CSI helpers into the header for easier access from SoC-specific video driver parts. Signed-off-by: Svyatoslav Ryhel --- drivers/staging/media/tegra-video/csi.c | 11 ----------- drivers/staging/media/tegra-video/csi.h | 10 ++++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/drivers/staging/media/tegra-video/csi.c b/drivers/staging/medi= a/tegra-video/csi.c index 604185c00a1a..74c92db1032f 100644 --- a/drivers/staging/media/tegra-video/csi.c +++ b/drivers/staging/media/tegra-video/csi.c @@ -20,17 +20,6 @@ =20 #define MHZ 1000000 =20 -static inline struct tegra_csi * -host1x_client_to_csi(struct host1x_client *client) -{ - return container_of(client, struct tegra_csi, client); -} - -static inline struct tegra_csi_channel *to_csi_chan(struct v4l2_subdev *su= bdev) -{ - return container_of(subdev, struct tegra_csi_channel, subdev); -} - /* * CSI is a separate subdevice which has 6 source pads to generate * test pattern. CSI subdevice pad ops are used only for TPG and diff --git a/drivers/staging/media/tegra-video/csi.h b/drivers/staging/medi= a/tegra-video/csi.h index 3e6e5ee1bb1e..3ed2dbc73ce9 100644 --- a/drivers/staging/media/tegra-video/csi.h +++ b/drivers/staging/media/tegra-video/csi.h @@ -151,6 +151,16 @@ struct tegra_csi { struct list_head csi_chans; }; =20 +static inline struct tegra_csi *host1x_client_to_csi(struct host1x_client = *client) +{ + return container_of(client, struct tegra_csi, client); +} + +static inline struct tegra_csi_channel *to_csi_chan(struct v4l2_subdev *su= bdev) +{ + return container_of(subdev, struct tegra_csi_channel, subdev); +} + void tegra_csi_error_recover(struct v4l2_subdev *subdev); void tegra_csi_calc_settle_time(struct tegra_csi_channel *csi_chan, u8 csi_port_num, --=20 2.48.1 From nobody Thu Oct 2 01:01:41 2025 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (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 61CFA307AE3 for ; Thu, 25 Sep 2025 15:17:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813454; cv=none; b=SplKpkZirtjMW2dpeJyPaAER9pLM4A2wCA13foyzovCQwlvwQF6IdJ6nJpSkeVoJ/lplr2F0j8sIMLlB8XH/nZMR5u+4XhxHf5LT8BVktQROI5ZVu9rY+eG9wEqdkjnPP1geA++LYnYiR9D0wdjjHVcDVEFPR/SQVUu1wAxWT6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758813454; c=relaxed/simple; bh=+vaguLiscLlY2wui/x0Pc+b0HHHunb2rL7xeIcPuIcw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OnD6+qCS9mS7m5/JRhtIa50xeWtOWZl5CmJRdEmsWfMX1XK1Jb1/3Tj/5xGoDZ11ibL/QxPyeD32ViXm2Ot7y6ZEl66jo7xC29pLHdcfIuSHiCTfWAq8HcIdXSCc1S5eTFHKsBmP16PRc6Hkd/GA0cEJ/Avr3OwAmDF0KICegLA= 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=OrGxSkdh; arc=none smtp.client-ip=209.85.167.51 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="OrGxSkdh" Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-57eef777d3eso1212738e87.1 for ; Thu, 25 Sep 2025 08:17:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758813448; x=1759418248; 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=T0Uqms/e6UmF0yeUD6oONuQebIlURzRqwaWDPzObW1o=; b=OrGxSkdh/bwlGnZOGtOyFGG8M0eUQT0QUnWwj2iLAt7VjLqtW14eHkyyuPOyGgdXkf dSQ+KpF9pd+Ubqt/aT8VYMYTAvPMuhkBrpv3OQ/wcMETEbYqRBh9ayLw9+MntHQR8s4F tlj1u7jAZQOzsEQ92DkVLEUIyRNUvTyPl9U0vEBjgkD3Jr04rI0mh7FCuMOrvxQj+0Qz 4PzD6ACE8iK0r4gw40wKDo3KhidURSonwUWJc98ujMAu1Uu6tB9xtCWfYW2VN8/mJxHx YT7BoXsxyugeSD2w8c6FlsDtJiXfdwmdRioZvT3p8+1HoVeogmYX2LAk3MUN0G/zaZzt 8Bgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758813448; x=1759418248; 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=T0Uqms/e6UmF0yeUD6oONuQebIlURzRqwaWDPzObW1o=; b=XxujaIfWq1G0p6RAQHzPKvkAjOCJT8snzTVQh2/Kf8ksZfe/dW7LEGMhf7rPf8Z0Wj xFkSrUIbuozeuSK3053fwvnUxvS70ZEdFy6bBvEBndMKT7pDZu7suNbaDq4Xw4pTYr9X Igm5VAexbktf2mlZmy+ixYgJYJ/A/gWfayc4fAsnJO4s4cPKdPSs6Yucpw6oZ7/8Ixiz sd6NN+Yd0YYaAuMlz3d4auaWVWz2Q+wW1A9LQeFviCHbte0ZmWEQBTRB5SM0SPUUV80K Gffc7xPxSn/YnjmLYoViKfVhfN6ftJeimeMnvisN/J+UfzalfOoLiaEGjL0kb0nQRzNM 7nMQ== X-Forwarded-Encrypted: i=1; AJvYcCX9cSw8IlRj6Wc5iaQqlBSZfUzrf5WvUza7iQn8Rph044odk/4R3YmeX+YlpnaMVlrjjJNKkr10YzQNbS8=@vger.kernel.org X-Gm-Message-State: AOJu0YwPb7U40VUiuWBgHn7Te5Fu5dgc9dfjVhssDmM3zSPmZ6/oouEJ cX6cbVK7uX79BJv+36oZMj2NNWluArcGyM9LnNtrFyXgiFGXhtErFr3O X-Gm-Gg: ASbGnctffK31A12CMFKSPyj3wUSXQ2QJFoWwM39xX+DKiDMY29wic2N69paopIDBAjS /Jj4MAv6NuaAzHn8ACDV0ojgG657oKlVBSEEB6vDPUAx1SedEGOaWFJ4srtnfkT+vfs3TNN2diu k4TATE+ooo6Dom+2DiRzrbT3mK0xR4D4Gv7wtCb0ADP+Ftspe5K9Wc4PcdQreOH1IUIrE2Z6Jnc Y9+KD26uPVwoKhpk5lbLnRFl2aA55NCpROly0V06/ypSAH6+riw9yAcFaCAkP/4yZHbKCB1nZFY yJzNjibJXHvGJcEr1n3kw8w4H1O+I/nr9DpxXzQbc4lG+jKxJhhbt+2O41/4So8qgVCpyX8ZqCA b8h+e8kLBKaZ1iA== X-Google-Smtp-Source: AGHT+IFX1ZdY2cz58VocSZY1fSPcc1gcXq7OoXBGoQv9NhpHvkkKv4qu3+e0KtQDD4yCo/x14CJLXg== X-Received: by 2002:ac2:51c6:0:b0:573:8044:a98c with SMTP id 2adb3069b0e04-582d12fe24dmr1261609e87.18.1758813447316; Thu, 25 Sep 2025 08:17:27 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58313430496sm870084e87.27.2025.09.25.08.17.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 08:17:26 -0700 (PDT) From: Svyatoslav Ryhel To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , 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 v3 09/22] gpu: host1x: convert MIPI to use operation function pointers Date: Thu, 25 Sep 2025 18:16:35 +0300 Message-ID: <20250925151648.79510-10-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250925151648.79510-1-clamor95@gmail.com> References: <20250925151648.79510-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" Convert existing MIPI code to use operation function pointers, a necessary step for supporting Tegra20/Tegra30 SoCs. All common MIPI configuration that is SoC-independent remains in mipi.c, while all SoC-specific code is moved to tegra114-mipi.c (The naming matches the first SoC generation with a dedicated calibration block). Shared structures and function calls are placed into tegra-mipi-cal.h. Signed-off-by: Svyatoslav Ryhel --- drivers/gpu/drm/tegra/dsi.c | 1 + drivers/gpu/host1x/Makefile | 1 + drivers/gpu/host1x/dev.c | 2 + drivers/gpu/host1x/dev.h | 2 + drivers/gpu/host1x/mipi.c | 501 +++--------------------- drivers/gpu/host1x/tegra114-mipi.c | 483 +++++++++++++++++++++++ drivers/staging/media/tegra-video/csi.c | 1 + include/linux/host1x.h | 10 - include/linux/tegra-mipi-cal.h | 56 +++ 9 files changed, 594 insertions(+), 463 deletions(-) create mode 100644 drivers/gpu/host1x/tegra114-mipi.c create mode 100644 include/linux/tegra-mipi-cal.h diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index 64f12a85a9dd..278bf2c85524 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -14,6 +14,7 @@ #include #include #include +#include =20 #include