All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Heidelberg <david@ixit.cz>
To: Robert Foss <rfoss@kernel.org>, Todor Tomov <todor.too@gmail.com>,
	 Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
	 Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>,
	 Mauro Carvalho Chehab <mchehab@kernel.org>,
	 Luca Weiss <luca.weiss@fairphone.com>,
	Petr Hodina <phodina@protonmail.com>,
	 Casey Connolly <casey.connolly@linaro.org>,
	"Dr. Git" <drgitx@gmail.com>
Cc: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	 Joel Selvaraj <foss@joelselvaraj.com>,
	Kieran Bingham <kbingham@kernel.org>,
	 Sakari Ailus <sakari.ailus@linux.intel.com>,
	linux-media@vger.kernel.org,  linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org,  phone-devel@vger.kernel.org,
	David Heidelberg <david@ixit.cz>
Subject: [PATCH WIP v4 8/9] media: qcom: camss: csiphy-3ph: C-PHY needs own lane configuration
Date: Sun, 01 Mar 2026 01:51:27 +0100	[thread overview]
Message-ID: <20260301-qcom-cphy-v4-8-e53316d2cc65@ixit.cz> (raw)
In-Reply-To: <20260301-qcom-cphy-v4-0-e53316d2cc65@ixit.cz>

Catch when C-PHY configuration gets used on SoC with CAMSS missing C-PHY
configuration lane registers.

Hopefully this check will disappear as these lane regs gets populated.

--
@bod
Proliferating special cases in switch statements on a per-SoC basis is
verboten.

Please find another way to do this, you already have a bool to indicate
cphy in struct csid_phy_config {} so at some level CAMSS already has a
bool to indicate what to do.

Please make that logic accessible to logical consumers throughout,
in this case the CPHY code.
--

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
index e48f5c1290173..2164647211c8d 100644
--- a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
+++ b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
@@ -1221,6 +1221,22 @@ static int csiphy_lanes_enable(struct csiphy_device *csiphy,
 	u8 val;
 	int i;
 
+	if (c->phy_cfg == V4L2_MBUS_CSI2_CPHY) {
+		switch (csiphy->camss->res->version) {
+		case CAMSS_2290:
+		case CAMSS_8280XP:
+		case CAMSS_X1E80100:
+		case CAMSS_8550:
+		case CAMSS_8650:
+		case CAMSS_8300:
+		case CAMSS_8775P:
+			dev_err(dev, "Missing lane_regs definition for C-PHY\n");
+			return -EINVAL;
+		default:
+			break;
+		}
+	}
+
 	switch (csiphy->camss->res->version) {
 	case CAMSS_845:
 		if (c->phy_cfg == V4L2_MBUS_CSI2_CPHY) {

-- 
2.51.0


WARNING: multiple messages have this Message-ID (diff)
From: David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org>
To: Robert Foss <rfoss@kernel.org>, Todor Tomov <todor.too@gmail.com>,
	 Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
	 Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>,
	 Mauro Carvalho Chehab <mchehab@kernel.org>,
	 Luca Weiss <luca.weiss@fairphone.com>,
	Petr Hodina <phodina@protonmail.com>,
	 Casey Connolly <casey.connolly@linaro.org>,
	"Dr. Git" <drgitx@gmail.com>
Cc: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	 Joel Selvaraj <foss@joelselvaraj.com>,
	Kieran Bingham <kbingham@kernel.org>,
	 Sakari Ailus <sakari.ailus@linux.intel.com>,
	linux-media@vger.kernel.org,  linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org,  phone-devel@vger.kernel.org,
	David Heidelberg <david@ixit.cz>
Subject: [PATCH WIP v4 8/9] media: qcom: camss: csiphy-3ph: C-PHY needs own lane configuration
Date: Sun, 01 Mar 2026 01:51:27 +0100	[thread overview]
Message-ID: <20260301-qcom-cphy-v4-8-e53316d2cc65@ixit.cz> (raw)
In-Reply-To: <20260301-qcom-cphy-v4-0-e53316d2cc65@ixit.cz>

From: David Heidelberg <david@ixit.cz>

Catch when C-PHY configuration gets used on SoC with CAMSS missing C-PHY
configuration lane registers.

Hopefully this check will disappear as these lane regs gets populated.

--
@bod
Proliferating special cases in switch statements on a per-SoC basis is
verboten.

Please find another way to do this, you already have a bool to indicate
cphy in struct csid_phy_config {} so at some level CAMSS already has a
bool to indicate what to do.

Please make that logic accessible to logical consumers throughout,
in this case the CPHY code.
--

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
index e48f5c1290173..2164647211c8d 100644
--- a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
+++ b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
@@ -1221,6 +1221,22 @@ static int csiphy_lanes_enable(struct csiphy_device *csiphy,
 	u8 val;
 	int i;
 
+	if (c->phy_cfg == V4L2_MBUS_CSI2_CPHY) {
+		switch (csiphy->camss->res->version) {
+		case CAMSS_2290:
+		case CAMSS_8280XP:
+		case CAMSS_X1E80100:
+		case CAMSS_8550:
+		case CAMSS_8650:
+		case CAMSS_8300:
+		case CAMSS_8775P:
+			dev_err(dev, "Missing lane_regs definition for C-PHY\n");
+			return -EINVAL;
+		default:
+			break;
+		}
+	}
+
 	switch (csiphy->camss->res->version) {
 	case CAMSS_845:
 		if (c->phy_cfg == V4L2_MBUS_CSI2_CPHY) {

-- 
2.51.0



  parent reply	other threads:[~2026-03-01  0:51 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-01  0:51 [PATCH WIP v4 0/9] media: camss: Add support for C-PHY configuration on Qualcomm platforms David Heidelberg
2026-03-01  0:51 ` David Heidelberg via B4 Relay
2026-03-01  0:51 ` [PATCH WIP v4 1/9] media: qcom: camss: csiphy: Introduce PHY configuration David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-03  9:48   ` Bryan O'Donoghue
2026-03-01  0:51 ` [PATCH WIP v4 2/9] media: qcom: camss: csiphy-3ph: Use odd bits for configuring C-PHY lanes David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-03  9:52   ` Bryan O'Donoghue
2026-03-01  0:51 ` [PATCH WIP v4 3/9] media: qcom: camss: Prepare CSID for C-PHY support David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-03  9:53   ` Bryan O'Donoghue
2026-03-03 20:31     ` David Heidelberg
2026-03-01  0:51 ` [PATCH WIP v4 4/9] media: qcom: camss: Initialize lanes after lane configuration is available David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-03  9:54   ` Bryan O'Donoghue
2026-03-03 10:06     ` David Heidelberg
2026-03-03 10:10       ` Bryan O'Donoghue
2026-03-03 10:12         ` David Heidelberg
2026-03-01  0:51 ` [PATCH WIP v4 5/9] media: qcom: camss: csiphy-3ph: Add Gen2 v1.1 MIPI CSI-2 CPHY init David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-01  0:51 ` [PATCH WIP v4 6/9] media: qcom: camss: csiphy-3ph: Update " David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-03  9:55   ` Bryan O'Donoghue
2026-03-03 10:00     ` David Heidelberg
2026-03-03 10:08       ` Bryan O'Donoghue
2026-03-03 10:22       ` Konrad Dybcio
2026-03-03 10:27         ` David Heidelberg
2026-03-03 10:39         ` Bryan O'Donoghue
2026-03-03 10:46           ` Konrad Dybcio
2026-03-01  0:51 ` [PATCH WIP v4 7/9] media: qcom: camss: csiphy-3ph: Add Gen2 v1.2.1 MIPI CSI-2 C-PHY init David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-03  9:56   ` Bryan O'Donoghue
2026-03-01  0:51 ` David Heidelberg [this message]
2026-03-01  0:51   ` [PATCH WIP v4 8/9] media: qcom: camss: csiphy-3ph: C-PHY needs own lane configuration David Heidelberg via B4 Relay
2026-03-03  9:59   ` Bryan O'Donoghue
2026-03-29 11:21     ` Bryan O'Donoghue
2026-03-01  0:51 ` [PATCH WIP v4 9/9] media: qcom: camss: Account for C-PHY when calculating link frequency David Heidelberg
2026-03-01  0:51   ` David Heidelberg via B4 Relay
2026-03-03 10:07   ` Bryan O'Donoghue
2026-03-20 19:48   ` Cory Keitz
2026-03-02 18:43 ` [PATCH WIP v4 0/9] media: camss: Add support for C-PHY configuration on Qualcomm platforms Cory Keitz
2026-03-02 23:13   ` David Heidelberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260301-qcom-cphy-v4-8-e53316d2cc65@ixit.cz \
    --to=david@ixit.cz \
    --cc=bryan.odonoghue@linaro.org \
    --cc=casey.connolly@linaro.org \
    --cc=drgitx@gmail.com \
    --cc=foss@joelselvaraj.com \
    --cc=kbingham@kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=luca.weiss@fairphone.com \
    --cc=mchehab@kernel.org \
    --cc=phodina@protonmail.com \
    --cc=phone-devel@vger.kernel.org \
    --cc=rfoss@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=todor.too@gmail.com \
    --cc=vladimir.zapolskiy@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.