devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
To: Depeng Shao <quic_depengs@quicinc.com>,
	rfoss@kernel.org, todor.too@gmail.com,
	bryan.odonoghue@linaro.org, mchehab@kernel.org, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org
Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	kernel@quicinc.com
Subject: Re: [PATCH 04/13] media: qcom: camss: csiphy: Add an init callback to CSI PHY devices
Date: Mon, 19 Aug 2024 03:17:25 +0300	[thread overview]
Message-ID: <3cdd7101-ae8c-45c9-9695-f7f4202d1edb@linaro.org> (raw)
In-Reply-To: <20240812144131.369378-5-quic_depengs@quicinc.com>

On 8/12/24 17:41, Depeng Shao wrote:
> From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> 
> Add a nop init callback to CSIPHY devices, this callback is used to add
> some HW register offset and register configuration for specific platform,
> then different platform can reuse the same CSIPHY driver. Later changes
> will enumerate with enabling code.
> 
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
> ---
>   drivers/media/platform/qcom/camss/camss-csiphy-2ph-1-0.c | 6 ++++++
>   drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c | 6 ++++++
>   drivers/media/platform/qcom/camss/camss-csiphy.c         | 4 ++++
>   drivers/media/platform/qcom/camss/camss-csiphy.h         | 1 +
>   4 files changed, 17 insertions(+)
> 
> diff --git a/drivers/media/platform/qcom/camss/camss-csiphy-2ph-1-0.c b/drivers/media/platform/qcom/camss/camss-csiphy-2ph-1-0.c
> index cd4a8c369234..9d67e7fa6366 100644
> --- a/drivers/media/platform/qcom/camss/camss-csiphy-2ph-1-0.c
> +++ b/drivers/media/platform/qcom/camss/camss-csiphy-2ph-1-0.c
> @@ -180,6 +180,11 @@ static irqreturn_t csiphy_isr(int irq, void *dev)
>   	return IRQ_HANDLED;
>   }
>   
> +static int csiphy_init(struct csiphy_device *csiphy)
> +{
> +	return 0;
> +}

As far as I see from the patchset there is no intention to populate this function,
see a comment below.

>   const struct csiphy_hw_ops csiphy_ops_2ph_1_0 = {
>   	.get_lane_mask = csiphy_get_lane_mask,
>   	.hw_version_read = csiphy_hw_version_read,
> @@ -187,4 +192,5 @@ const struct csiphy_hw_ops csiphy_ops_2ph_1_0 = {
>   	.lanes_enable = csiphy_lanes_enable,
>   	.lanes_disable = csiphy_lanes_disable,
>   	.isr = csiphy_isr,
> +	.init = csiphy_init,
>   };
> 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 bc4834ee2dcc..b60c32a195df 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
> @@ -581,6 +581,11 @@ static void csiphy_lanes_disable(struct csiphy_device *csiphy,
>   			  CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(6));
>   }
>   
> +static int csiphy_init(struct csiphy_device *csiphy)
> +{
> +	return 0;
> +}
> +
>   const struct csiphy_hw_ops csiphy_ops_3ph_1_0 = {
>   	.get_lane_mask = csiphy_get_lane_mask,
>   	.hw_version_read = csiphy_hw_version_read,
> @@ -588,4 +593,5 @@ const struct csiphy_hw_ops csiphy_ops_3ph_1_0 = {
>   	.lanes_enable = csiphy_lanes_enable,
>   	.lanes_disable = csiphy_lanes_disable,
>   	.isr = csiphy_isr,
> +	.init = csiphy_init,
>   };
> diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/media/platform/qcom/camss/camss-csiphy.c
> index 2f7361dfd461..ea5c7078ec8e 100644
> --- a/drivers/media/platform/qcom/camss/camss-csiphy.c
> +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c
> @@ -576,6 +576,10 @@ int msm_csiphy_subdev_init(struct camss *camss,
>   	csiphy->cfg.combo_mode = 0;
>   	csiphy->res = &res->csiphy;
>   
> +	ret = csiphy->res->hw_ops->init(csiphy);
> +	if (ret)
> +		return ret;

I've already expressed concerns about a necessity of this function, since it
adds runtime burden of work, which can be successfully done at compile time,
but okay...

Since it is needed for 3PH case only, it may make sense to remove it from 2PH
and call it here conditionally like

	if (csiphy->res->hw_ops->init)
		ret = csiphy->res->hw_ops->init(csiphy);

But it's up to you, I hope the callback will be removed in short future.

>   	/* Memory */
>   
>   	csiphy->base = devm_platform_ioremap_resource_byname(pdev, res->reg[0]);
> diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.h b/drivers/media/platform/qcom/camss/camss-csiphy.h
> index 47f0b6b09eba..bdf9a9c8bacc 100644
> --- a/drivers/media/platform/qcom/camss/camss-csiphy.h
> +++ b/drivers/media/platform/qcom/camss/camss-csiphy.h
> @@ -71,6 +71,7 @@ struct csiphy_hw_ops {
>   	void (*lanes_disable)(struct csiphy_device *csiphy,
>   			      struct csiphy_config *cfg);
>   	irqreturn_t (*isr)(int irq, void *dev);
> +	int (*init)(struct csiphy_device *csiphy);
>   };
>   
>   struct csiphy_subdev_resources {

--
Best wishes,
Vladimir

  reply	other threads:[~2024-08-19  0:17 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-12 14:41 [PATCH v4 00/13] media: qcom: camss: Add sm8550 support Depeng Shao
2024-08-12 14:41 ` [PATCH 01/13] media: qcom: camss: csiphy-3ph: Fix trivial indentation fault in defines Depeng Shao
2024-08-12 14:41 ` [PATCH 02/13] media: qcom: camss: csiphy-3ph: Remove redundant PHY init sequence control loop Depeng Shao
2024-08-12 14:41 ` [PATCH 03/13] media: qcom: camss: csiphy-3ph: Rename struct Depeng Shao
2024-08-12 14:41 ` [PATCH 04/13] media: qcom: camss: csiphy: Add an init callback to CSI PHY devices Depeng Shao
2024-08-19  0:17   ` Vladimir Zapolskiy [this message]
2024-09-04 14:20     ` Depeng Shao
2024-09-04 14:51       ` Bryan O'Donoghue
2024-08-12 14:41 ` [PATCH 05/13] media: qcom: camss: csiphy-3ph: Move CSIPHY variables to data field inside csiphy struct Depeng Shao
2024-08-19  0:01   ` Vladimir Zapolskiy
2024-08-28 14:11     ` Depeng Shao
2024-08-12 14:41 ` [PATCH 06/13] media: qcom: camss: csiphy-3ph: Use an offset variable to find common control regs Depeng Shao
2024-08-18 23:59   ` Vladimir Zapolskiy
2024-08-12 14:41 ` [PATCH 07/13] dt-bindings: media: camss: Add qcom,sm8550-camss binding Depeng Shao
2024-08-16  7:01   ` Krzysztof Kozlowski
2024-08-16  7:45     ` Depeng Shao
2024-09-30  7:17       ` Krzysztof Kozlowski
2024-09-05 15:20   ` Vladimir Zapolskiy
2024-09-05 15:54     ` Depeng Shao
2024-09-06 15:56   ` Vladimir Zapolskiy
2024-09-25 15:13     ` Depeng Shao
2024-09-30  7:16       ` Krzysztof Kozlowski
2024-09-30  8:46         ` Vladimir Zapolskiy
2024-09-30  8:55           ` Bryan O'Donoghue
2024-09-30  9:15             ` Vladimir Zapolskiy
2024-09-30  7:26       ` Krzysztof Kozlowski
2024-09-30  8:32         ` Vladimir Zapolskiy
2024-09-30  9:03         ` Bryan O'Donoghue
2024-09-12  8:22   ` Vladimir Zapolskiy
2024-09-12 11:41     ` Bryan O'Donoghue
2024-09-12 12:44       ` Vladimir Zapolskiy
2024-09-12 15:11         ` Bryan O'Donoghue
2024-09-12 20:57           ` Vladimir Zapolskiy
2024-09-12 22:41             ` Bryan O'Donoghue
2024-09-13  5:06               ` Vladimir Zapolskiy
2024-09-17 22:40                 ` Bryan O'Donoghue
2024-09-17 23:16                   ` Vladimir Zapolskiy
2024-09-25 15:40                     ` Depeng Shao
2024-09-30  9:26                       ` Depeng Shao
2024-10-08 13:50                         ` Vladimir Zapolskiy
2024-10-08 14:06                           ` Bryan O'Donoghue
2024-10-08 15:47                             ` Depeng Shao
2024-09-30 10:21                       ` Bryan O'Donoghue
2024-09-13  4:17           ` Dmitry Baryshkov
2024-09-12 13:48       ` Neil Armstrong
2024-08-12 14:41 ` [PATCH 08/13] media: qcom: camss: csid: Move common code into csid core Depeng Shao
2024-08-14 23:53   ` Bryan O'Donoghue
2024-08-24 12:50     ` Vladimir Zapolskiy
2024-08-12 14:41 ` [PATCH 09/13] media: qcom: camss: vfe: Move common code into vfe core Depeng Shao
2024-08-15  0:09   ` Bryan O'Donoghue
2024-08-16 13:07     ` Depeng Shao
2024-08-24 13:06     ` Vladimir Zapolskiy
2024-08-28  0:07       ` Bryan O'Donoghue
2024-09-02 13:11       ` Depeng Shao
2024-08-12 14:41 ` [PATCH 10/13] media: qcom: camss: Add sm8550 compatible Depeng Shao
2024-08-13 12:57   ` Bryan O'Donoghue
2024-08-12 14:41 ` [PATCH 11/13] media: qcom: camss: csiphy-3ph: Add Gen2 v2.1.2 two-phase MIPI CSI-2 DPHY support Depeng Shao
2024-08-12 14:41 ` [PATCH 12/13] media: qcom: camss: Add CSID Gen3 support for sm8550 Depeng Shao
2024-08-14 16:08   ` Bryan O'Donoghue
2024-08-15 15:14     ` Depeng Shao
2024-08-15 16:10       ` Bryan O'Donoghue
2024-08-16 11:34   ` Bryan O'Donoghue
2024-08-16 13:11     ` Depeng Shao
2024-08-16 14:21   ` Bryan O'Donoghue
2024-08-19 13:23     ` Depeng Shao
2024-08-16 14:45   ` Bryan O'Donoghue
2024-08-19 13:18     ` Depeng Shao
2024-08-16 14:49   ` Bryan O'Donoghue
2024-08-24 13:19   ` Vladimir Zapolskiy
2024-09-30  9:23   ` Vladimir Zapolskiy
2024-09-30  9:38     ` Depeng Shao
2024-08-12 14:41 ` [PATCH 13/13] media: qcom: camss: Add support for VFE hardware version Titan 780 Depeng Shao
2024-08-14 11:13   ` Vladimir Zapolskiy
2024-08-14 13:10     ` Depeng Shao
2024-08-14 23:20       ` Vladimir Zapolskiy
2024-08-15 14:42         ` Depeng Shao
2024-08-15 14:57           ` Vladimir Zapolskiy
2024-08-15 15:43             ` Depeng Shao
2024-08-15 21:31               ` Vladimir Zapolskiy
2024-08-16 12:42                 ` Depeng Shao
2024-08-20 14:01                   ` Vladimir Zapolskiy
2024-08-14 16:23   ` Bryan O'Donoghue
2024-08-15 13:33     ` Depeng Shao
2024-08-15 16:16       ` Bryan O'Donoghue
2024-08-15  0:16   ` Bryan O'Donoghue
2024-08-15 14:24     ` Depeng Shao
2024-08-15  0:25   ` Bryan O'Donoghue
2024-08-15 14:21     ` Depeng Shao
2024-08-15 16:17       ` Bryan O'Donoghue
2024-09-29  1:28       ` Depeng Shao
2024-09-29 23:57         ` Bryan O'Donoghue
2024-09-30  5:37           ` Depeng Shao
2024-08-19 11:05   ` Bryan O'Donoghue
2024-08-19 13:07     ` Depeng Shao
2024-08-21 11:11   ` Vladimir Zapolskiy
2024-08-24 13:31     ` Vladimir Zapolskiy
2024-08-27 13:16   ` Bryan O'Donoghue
2024-08-13 12:35 ` [PATCH v4 00/13] media: qcom: camss: Add sm8550 support Bryan O'Donoghue
2024-08-13 12:42   ` Depeng Shao
  -- strict thread matches above, loose matches on Subject: below --
2024-07-09 16:06 [PATCH V3 " Depeng Shao
2024-07-09 16:06 ` [PATCH 04/13] media: qcom: camss: csiphy: Add an init callback to CSI PHY devices Depeng Shao
2024-07-31 23:43   ` Vladimir Zapolskiy
2024-08-01  8:16     ` Bryan O'Donoghue
2024-08-04 21:26       ` Vladimir Zapolskiy
2024-08-07 13:08         ` Depeng Shao
2024-08-07 14:04           ` Bryan O'Donoghue
2024-08-07 15:03             ` Depeng Shao
2024-08-07 15:37               ` Bryan O'Donoghue
2024-08-08 14:02                 ` Depeng Shao
2024-08-12 11:32                   ` Bryan O'Donoghue
2024-08-12 12:20                     ` Depeng Shao

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=3cdd7101-ae8c-45c9-9695-f7f4202d1edb@linaro.org \
    --to=vladimir.zapolskiy@linaro.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel@quicinc.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=quic_depengs@quicinc.com \
    --cc=rfoss@kernel.org \
    --cc=robh@kernel.org \
    --cc=todor.too@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).