Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: erebion <erebion@erebion.eu>
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v3 12/12] arm64: dts: qcom: sm6350-lena: enable remaining i2c busses
Date: Sun, 01 Nov 2026 23:48:11 +0000	[thread overview]
Message-ID: <sashiko-outbox-192773@kernel.org> (raw)
In-Reply-To: <20261102-pdx213-upstream-3-v3-12-cdc3be96d257@erebion.eu>

Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
- [Medium] arm64: dts: qcom: sm6350-lena: unrelated and incomplete GPU enablement
- [Medium] arm64: dts: qcom: sm6350-lena: wrong ADC channel in rear_cam_sensor
- [Medium] arm64: dts: qcom: sm6350-lena: invalid led-max-microamp in pm6150l_flash
- [Low] arm64: dts: qcom: sm6350-lena: undocumented unused lcdb_dummy regulator
--

commit dab0552e769e72745a887b1b9b15ebbca1b4c037
Author: erebion <erebion@erebion.eu>

arm64: dts: qcom: sm6350-lena: enable remaining i2c busses

This series enables peripheral, PMIC, thermal, LED, regulator, and bus nodes in the device tree for the Sony Xperia 10 III (sm6350-sony-xperia-lena-pdx213).

> diff --git a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
> index 6e2bbf4f060ac..d2b3aa6e61ab6 100644
> --- a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
> +++ b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
[ ... ]
> @@ -44,7 +63,30 @@ key-volume-down {
>  		};
>  	};
>  
> -	touch_en_vreg: touch-en-regulator {
> +	lcdb_dummy: regulator-lcdb-dummy {
> +		compatible = "regulator-fixed";
> +		regulator-name = "lcdb_dummy";
> +		regulator-min-microvolt = <5500000>;
> +		regulator-max-microvolt = <5500000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};

[Severity: Low]
This isn't a bug, but commit e7731bb19fd5 ("arm64: dts: qcom: sm6350-lena:
rename touch-en-regulator") states that it only renames touch-en-regulator
to regulator-touch-en for sorting, while also adding this lcdb_dummy
regulator node.

Nothing in sm6350-sony-xperia-lena-pdx213.dts or sm6350.dtsi references
&lcdb_dummy. Was this node added by mistake, or should it be dropped until a
consumer uses it?

> +
> +	msm_therm_sensor: thermal-sensor-msm {
> +		compatible = "generic-adc-thermal";
> +		#thermal-sensor-cells = <0>;
> +		io-channels = <&pm6150l_adc ADC5_AMUX_THM2_100K_PU>;
> +		io-channel-names = "sensor-channel";
> +	};
> +
> +	rear_cam_sensor: thermal-sensor-rear-cam {
> +		compatible = "generic-adc-thermal";
> +		#thermal-sensor-cells = <0>;
> +		io-channels = <&pm6150l_adc ADC5_GPIO6_100K_PU>;
> +		io-channel-names = "sensor-channel";
> +	};

[Severity: Medium]
Does rear_cam_sensor fail to probe with -EINVAL here?

Under &pm6150l_adc below, the rear_cam_therm channel is defined on
channel@53 with reg = <ADC5_GPIO2_100K_PU> (since GPIO6 on PM6150L routes to
ADC5_GPIO2_100K_PU):

	channel@53 {
		reg = <ADC5_GPIO2_100K_PU>;
		label = "rear_cam_therm";
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
		qcom,ratiometric;
	};

However, rear_cam_sensor requests io-channels = <&pm6150l_adc
ADC5_GPIO6_100K_PU>. When gadc_thermal_probe() requests the channel,
adc5_fwnode_xlate() in drivers/iio/adc/qcom-spmi-adc5.c searches the
configured channels on &pm6150l_adc:

	for (i = 0; i < adc->nchannels; i++)
		if (adc->chan_props[i].channel == iiospec->args[0])
			return i;

	return -EINVAL;

Because no channel is registered for ADC5_GPIO6_100K_PU (and
adc5_chans_pmic[] only defines ADC5_GPIO1_100K_PU through
ADC5_GPIO4_100K_PU), adc5_fwnode_xlate() returns -EINVAL and leaves
rear-cam-thermal without a working sensor.

Should rear_cam_sensor use ADC5_GPIO2_100K_PU instead of ADC5_GPIO6_100K_PU?

[ ... ]
> @@ -285,6 +470,21 @@ &gpi_dma1 {
>  	status = "okay";
>  };
>  
> +&gpu {
> +	status = "okay";
> +};
> +
> +&gpu_zap_shader {
> +	firmware-name = "qcom/sm6350/sony/pdx213/a615_zap.mbn";
> +};

[Severity: Medium]
Was enabling &gpu and &gpu_zap_shader intended to be part of commit
dab0552e769e ("arm64: dts: qcom: sm6350-lena: enable remaining i2c busses")?

In addition to not matching the commit description, &mdss in sm6350.dtsi
remains disabled:

		mdss: display-subsystem@ae00000 {
			...
			status = "disabled";

			mdss_mdp: display-controller@ae01000 {
				compatible = "qcom,sm6350-dpu";

With the default drm/msm configuration (separate_gpu_kms = false),
adreno_probe() in drivers/gpu/drm/msm/adreno/adreno_device.c registers a
component and waits for the KMS master on mdss_mdp:

static int adreno_probe(struct platform_device *pdev)
{
	if (of_device_is_compatible(pdev->dev.of_node, "amd,imageon") ||
	    msm_gpu_no_components())
		return msm_gpu_probe(pdev, &a3xx_ops);

	return component_add(&pdev->dev, &a3xx_ops);
}

Because &mdss is disabled, the component master never probes and the GPU
component never binds (and if adreno_remove() runs while unbound,
platform_get_drvdata(pdev) is NULL and dereferencing priv->kms_init crashes).

Should the &gpu and &gpu_zap_shader changes be dropped from this I2C patch?

[ ... ]
> +&pm6150l_flash {
> +	status = "okay";
> +
> +	led-0 {
> +		function = LED_FUNCTION_FLASH;
> +		color = <LED_COLOR_ID_WHITE>;
> +		led-sources = <1>;
> +		led-max-microamp = <1500000>;
> +		flash-max-microamp = <1000000>;
> +		flash-max-timeout-us = <1280000>;
> +	};
> +};

[Severity: Medium]
Is led-max-microamp = <1500000> valid for a single flash channel here?

In Documentation/devicetree/bindings/leds/qcom,spmi-flash-led.yaml,
led-max-microamp (continuous torch current) is limited to 500000 uA for a
single channel or 1000000 uA for dual ganged channels, matching
TORCH_CURRENT_MAX_UA (500000) in drivers/leds/flash/leds-qcom-flash.c:

      led-max-microamp:
        anyOf:
          - minimum: 5000
            maximum: 500000
            multipleOf: 5000
          - minimum: 10000
            maximum: 1000000
            multipleOf: 10000

Setting led-max-microamp to 1500000 uA with led-sources = <1> fails
dtbs_check validation and sets the continuous torch current higher than both
the 500 mA hardware limit and the 1000000 uA flash-max-microamp strobe
current.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261102-pdx213-upstream-3-v3-0-cdc3be96d257@erebion.eu?part=12

  reply	other threads:[~2026-11-01 23:48 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-01 23:32 [PATCH v3 00/12] Enable more nodes for the Xperia 10 III erebion
2026-11-01 23:32 ` [PATCH v3 01/12] arm64: dts: qcom: sm6350-lena: Add flash LED erebion
2026-11-01 23:38   ` sashiko-bot
2026-11-02  8:47     ` erebion
2026-11-01 23:32 ` [PATCH v3 02/12] arm64: dts: qcom: sm6350-lena: rename touch-en-regulator erebion
2026-11-01 23:38   ` sashiko-bot
2026-11-02  8:36     ` erebion
2026-11-02 11:57   ` Konrad Dybcio
2026-11-01 23:32 ` [PATCH v3 03/12] arm64: dts: qcom: sm6350-lena: Add qcom,rmtfs-mem node erebion
2026-11-02 11:58   ` Konrad Dybcio
2026-11-01 23:32 ` [PATCH v3 04/12] arm64: dts: qcom: sm6350-lena: Enable ADSP, CDSP, IPA & MPSS erebion
2026-11-01 23:41   ` sashiko-bot
2026-11-02  1:23     ` erebion
2026-11-02 11:59   ` Konrad Dybcio
2026-11-01 23:32 ` [PATCH v3 05/12] arm64: dts: qcom: sm6350-lena: Enable Bluetooth erebion
2026-11-01 23:45   ` sashiko-bot
2026-11-02  0:41     ` erebion
2026-11-01 23:32 ` [PATCH v3 06/12] arm64: dts: qcom: sm6350-lena: Enable wifi erebion
2026-11-01 23:32 ` [PATCH v3 07/12] arm64: dts: qcom: sm6350-lena: Enable PM7250B erebion
2026-11-02 11:59   ` Konrad Dybcio
2026-11-01 23:32 ` [PATCH v3 08/12] arm64: dts: qcom: sm6350-lena: Enable PMK8350 erebion
2026-11-01 23:42   ` sashiko-bot
2026-11-02 11:08     ` erebion
2026-11-01 23:32 ` [PATCH v3 09/12] arm64: dts: qcom: sm6350-lena: Add PMK8350 thermals erebion
2026-11-01 23:32 ` [PATCH v3 10/12] arm64: dts: qcom: sm6350-lena: Add PM7250B thermals erebion
2026-11-01 23:44   ` sashiko-bot
2026-11-02  0:05     ` erebion
2026-11-01 23:32 ` [PATCH v3 11/12] arm64: dts: qcom: sm6350-lena: Add PM6150L thermals erebion
2026-11-01 23:44   ` sashiko-bot
2026-11-02  0:35     ` erebion
2026-11-02  1:33       ` erebion
2026-11-02 12:20         ` erebion
2026-11-01 23:32 ` [PATCH v3 12/12] arm64: dts: qcom: sm6350-lena: enable remaining i2c busses erebion
2026-11-01 23:48   ` sashiko-bot [this message]
2026-11-02 11:24     ` erebion
2026-11-02 12:00   ` Konrad Dybcio

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-192773@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=erebion@erebion.eu \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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