All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Hangxiang Ma" <hangxiang.ma@oss.qualcomm.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	robh@kernel.org, conor+dt@kernel.org, media-ci@linuxtv.org,
	vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v22 10/14] media: qcom: camss: tpg: Add support for v2.4.0 TPG
Date: Sun, 25 Oct 2026 03:37:21 +0000	[thread overview]
Message-ID: <sashiko-outbox-184021@kernel.org> (raw)
In-Reply-To: <20261024-kaanapali-camss-v22-10-7da3ea49c8a1@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] media: qcom: camss: uninitialized hw_version check in tpg_reset()
--

commit 0810eafd7af8a3c90956a80a5132187e634531e5
Author: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>

media: qcom: camss: tpg: Add support for v2.4.0 TPG

This patch adds support for TPG hardware version 2.4.0 on Kaanapali, using
the TPG_CTRL_CMD register for test-enable and reset, routing TPG output
through the CSID 1080 CSI2 TPG mux, and wiring up the TPG resources for
Kaanapali.

> diff --git a/drivers/media/platform/qcom/camss/camss-tpg-gen1.c b/drivers/media/platform/qcom/camss/camss-tpg-gen1.c
> index d29de5f93c18e..cabbb2638cf38 100644
> --- a/drivers/media/platform/qcom/camss/camss-tpg-gen1.c
> +++ b/drivers/media/platform/qcom/camss/camss-tpg-gen1.c

[ ... ]

> @@ -164,18 +167,26 @@ static int tpg_stream_on(struct tpg_device *tpg)

[ ... ]

>  static int tpg_reset(struct tpg_device *tpg)
>  {
> -	writel(0, tpg->base + TPG_CTRL);
> -	writel(1, tpg->base + TPG_CLEAR);
> +	if (tpg->hw_version < TPG_HW_VER_2_4_0)
> +		writel(0, tpg->base + TPG_CTRL);
> +
> +	writel(TPG_CTRL_CMD_HW_RESET, tpg->base + TPG_CTRL_CMD);
>  
>  	return 0;
>  }

[Severity: Medium]
Is tpg->hw_version initialized when tpg_reset() is called for the first
time?

In drivers/media/platform/qcom/camss/camss-tpg.c, tpg_set_power() calls
reset() before calling hw_version():

drivers/media/platform/qcom/camss/camss-tpg.c:tpg_set_power() {
	if (on) {
		...
		tpg->res->hw_ops->reset(tpg);

		tpg->res->hw_ops->hw_version(tpg);
	}
}

Since tpg->hw_version is only populated in tpg_hw_version() and starts at 0
from the initial devm_kcalloc() in camss_probe(), won't the first power-on
of a v2.4.0 TPG evaluate 0 < TPG_HW_VER_2_4_0 as true and still write 0 to
TPG_CTRL?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261024-kaanapali-camss-v22-0-7da3ea49c8a1@oss.qualcomm.com?part=10

WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Hangxiang Ma" <hangxiang.ma@oss.qualcomm.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	robh@kernel.org, conor+dt@kernel.org, media-ci@linuxtv.org,
	vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v22 10/14] media: qcom: camss: tpg: Add support for v2.4.0 TPG
Date: Sun, 25 Oct 2026 03:37:21 +0000	[thread overview]
Message-ID: <sashiko-outbox-184021@kernel.org> (raw)
In-Reply-To: <20261024-kaanapali-camss-v22-10-7da3ea49c8a1@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] media: qcom: camss: uninitialized hw_version check in tpg_reset()
--

commit 0810eafd7af8a3c90956a80a5132187e634531e5
Author: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>

media: qcom: camss: tpg: Add support for v2.4.0 TPG

This patch adds support for TPG hardware version 2.4.0 on Kaanapali, using
the TPG_CTRL_CMD register for test-enable and reset, routing TPG output
through the CSID 1080 CSI2 TPG mux, and wiring up the TPG resources for
Kaanapali.

> diff --git a/drivers/media/platform/qcom/camss/camss-tpg-gen1.c b/drivers/media/platform/qcom/camss/camss-tpg-gen1.c
> index d29de5f93c18e..cabbb2638cf38 100644
> --- a/drivers/media/platform/qcom/camss/camss-tpg-gen1.c
> +++ b/drivers/media/platform/qcom/camss/camss-tpg-gen1.c

[ ... ]

> @@ -164,18 +167,26 @@ static int tpg_stream_on(struct tpg_device *tpg)

[ ... ]

>  static int tpg_reset(struct tpg_device *tpg)
>  {
> -	writel(0, tpg->base + TPG_CTRL);
> -	writel(1, tpg->base + TPG_CLEAR);
> +	if (tpg->hw_version < TPG_HW_VER_2_4_0)
> +		writel(0, tpg->base + TPG_CTRL);
> +
> +	writel(TPG_CTRL_CMD_HW_RESET, tpg->base + TPG_CTRL_CMD);
>  
>  	return 0;
>  }

[Severity: Medium]
Is tpg->hw_version initialized when tpg_reset() is called for the first
time?

In drivers/media/platform/qcom/camss/camss-tpg.c, tpg_set_power() calls
reset() before calling hw_version():

drivers/media/platform/qcom/camss/camss-tpg.c:tpg_set_power() {
	if (on) {
		...
		tpg->res->hw_ops->reset(tpg);

		tpg->res->hw_ops->hw_version(tpg);
	}
}

Since tpg->hw_version is only populated in tpg_hw_version() and starts at 0
from the initial devm_kcalloc() in camss_probe(), won't the first power-on
of a v2.4.0 TPG evaluate 0 < TPG_HW_VER_2_4_0 as true and still write 0 to
TPG_CTRL?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261024-kaanapali-camss-v22-0-7da3ea49c8a1@oss.qualcomm.com?part=10

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2026-10-25  3:37 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-25  3:17 [PATCH v22 00/14] media: qcom: camss: Add Kaanapali support Hangxiang Ma
2026-10-25  3:17 ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 01/14] dt-bindings: phy: qcom,x1e80100-csi2-phy: Add Kaanapali CSI2 PHY Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 02/14] phy: qcom-mipi-csi2: Parametrise the common status register offset Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 03/14] phy: qcom-mipi-csi2: Add Kaanapali support Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 04/14] media: qcom: camss: Add addr_update hooks and guard CSID reg_update Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 05/14] media: dt-bindings: Add CAMSS device for Kaanapali Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 06/14] media: qcom: camss: Add Kaanapali compatible Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 07/14] media: qcom: camss: csiphy: Add support for v2.4.0 two-phase CSIPHY Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:44   ` sashiko-bot
2026-10-25  3:44     ` sashiko-bot
2026-10-25  3:17 ` [PATCH v22 08/14] media: qcom: camss: csid: Add support for CSID 1080 Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:44   ` sashiko-bot
2026-10-25  3:44     ` sashiko-bot
2026-10-25 11:15   ` Bryan O'Donoghue
2026-10-25 11:15     ` Bryan O'Donoghue
2026-10-26  9:50     ` Hangxiang Ma
2026-10-26  9:50       ` Hangxiang Ma
2026-10-26 10:49   ` Loic Poulain
2026-10-26 10:49     ` Loic Poulain
2026-10-26 12:44     ` Hangxiang Ma
2026-10-26 12:44       ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 09/14] media: qcom: camss: vfe: Add support for VFE 1080 Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-26 10:00   ` Loic Poulain
2026-10-26 10:00     ` Loic Poulain
2026-10-26 10:22     ` Hangxiang Ma
2026-10-26 10:22       ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 10/14] media: qcom: camss: tpg: Add support for v2.4.0 TPG Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:37   ` sashiko-bot [this message]
2026-10-25  3:37     ` sashiko-bot
2026-10-25  3:17 ` [PATCH v22 11/14] arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:43   ` sashiko-bot
2026-10-25  3:43     ` sashiko-bot
2026-10-26 16:29   ` Loic Poulain
2026-10-26 16:29     ` Loic Poulain
2026-10-27  4:26     ` Hangxiang Ma
2026-10-27  4:26       ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 12/14] arm64: dts: qcom: kaanapali: Add CCI controller nodes Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-26 15:55   ` Loic Poulain
2026-10-26 15:55     ` Loic Poulain
2026-10-27  4:07     ` Hangxiang Ma
2026-10-27  4:07       ` Hangxiang Ma
2026-10-27  4:09     ` Hangxiang Ma
2026-10-27  4:09       ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 13/14] arm64: dts: qcom: kaanapali: Add camera MCLK pinctrl Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma
2026-10-25  3:17 ` [PATCH v22 14/14] arm64: dts: qcom: kaanapali-mtp-camera-s5kjn5: Add DT overlay Hangxiang Ma
2026-10-25  3:17   ` Hangxiang Ma

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=sashiko-outbox-184021@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hangxiang.ma@oss.qualcomm.com \
    --cc=linux-phy@lists.infradead.org \
    --cc=media-ci@linuxtv.org \
    --cc=neil.armstrong@linaro.org \
    --cc=olteanv@gmail.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=vkoul@kernel.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.