[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4272ba9f-29e9-4c92-ac4a-32b434a50732@ixit.cz>
Date: Sat, 6 Dec 2025 18:53:16 +0100
From: David Heidelberg <david@...t.cz>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
Paul Sajna <sajattack@...tmarketos.org>, Sam Day <me@...cday.com>,
Alexey Minnekhanov <alexeymin@...tmarketos.org>
Cc: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
phone-devel@...r.kernel.org, ~postmarketos/upstreaming@...ts.sr.ht,
Amir Dahan <system64fumo@...a.io>, Christopher Brown
<crispybrown@...il.com>, Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: Re: [PATCH v5 05/12] arm64: dts: qcom: sdm845-lg-judyln: Add display
panel
On 06/12/2025 13:37, David Heidelberg wrote:
> On 06/12/2025 03:09, Dmitry Baryshkov wrote:
>> On Wed, Dec 03, 2025 at 01:40:54AM -0800, Paul Sajna wrote:
>>> Also include other supporting msm drm nodes, including backlight
>>>
>>> Co-developed-by: Amir Dahan <system64fumo@...a.io>
>>> Signed-off-by: Amir Dahan <system64fumo@...a.io>
>>> Reviewed-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
>>> Signed-off-by: Paul Sajna <sajattack@...tmarketos.org>
>>> ---
>>> arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 8 +--
>>> arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 75 +++++++++++++++
>>> ++++++-----
>>> 2 files changed, 66 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/
>>> arm64/boot/dts/qcom/sdm845-lg-common.dtsi
>>> index 165523db4d49..50921af83a51 100644
>>> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
>>> @@ -450,10 +450,6 @@ &cdsp_pas {
>>> status = "okay";
>>> };
>>> -&dispcc {
>>> - status = "disabled";
>>> -};
>>> -
>>> &gcc {
>>> protected-clocks = <GCC_QSPI_CORE_CLK>,
>>> <GCC_QSPI_CORE_CLK_SRC>,
>>> @@ -517,6 +513,10 @@ led@5 {
>>> };
>>> };
>>> +&pmi8998_wled {
>>> + status = "okay";
>>> +};
>>> +
>>> &sdhc_2 {
>>> cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>;
>>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/
>>> arm64/boot/dts/qcom/sdm845-lg-judyln.dts
>>> index 55bfddab3afd..506e6fe8e798 100644
>>> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
>>> @@ -13,19 +13,6 @@ / {
>>> model = "LG G7 ThinQ";
>>> compatible = "lg,judyln", "qcom,sdm845";
>>> - chosen {
>>> - framebuffer@...00000 {
>>> - compatible = "simple-framebuffer";
>>> - reg = <0x0 0x9d400000 0x0 (1440 * 3120 * 4)>;
>>> - width = <1440>;
>>> - height = <3120>;
>>> - stride = <(1440 * 4)>;
>>> - format = "a8r8g8b8";
>>> - lab-supply = <&lab>;
>>> - ibb-supply = <&ibb>;
>>> - };
>>> - };
>>
>> I think, you can leave simple-fb in place. MSM driver should be able to
>> replace it once it is loaded.
>
> Any chance, do you know if the issue OnePlus had is then resolved?
>
> ===
> /**
> * HACK:
> * Fake panel node for simple-framebuffer to calculate DPI from. Only
> * needs width & height specified. This allows us to break device link
> * from simplefb to mdss (implicitly via panel->mdp->mdss) to fix drm
> * device probe ordering. Without this, simpledrm would probe second
> * after msm-drm, and confuse userspace with 2 GPUs in /dev/dri.
> * Alternative workaround is to boot with kernel parameter
> * `fw_devlink=permissive`, which is worse, because it can hide other
> * issues with device dependencies.
> */
> panel = <&fb_panel>;
>
> fb_panel: fb-panel {
> width-mm = <68>;
> height-mm = <145>;
> };
> ===
>
> Ref: https://gitlab.com/sdm845/sdm845-next/-/
> commit/6a0a09c4dddc1b973209f5ffea086eb7a3fc24b9
>
> Add Sam into CC.
Okay, I did some testing without the hack on sdm845 and OnePlus 6.
Ut seems there is no longer regression, wrong sequence or errors in
dmesg nor any problems when using the device, so i assume this hack is
no longer needed.
Sorry about the noise, if it's still relevant, please let me know.
David
>
> David
>
>
>>
>>> -
>>> /* Additional ThinQ key */
>>> gpio-keys {
>>> pinctrl-0 = <&vol_up_pin_a &thinq_key_default>;
>>> @@ -67,6 +54,47 @@ &gpu_zap_shader {
>>> firmware-name = "qcom/sdm845/judyln/a630_zap.mbn";
>>> };
>>> +&mdss {
>>> + status = "okay";
>>> +};
>>> +
>>> +&mdss_dsi0 {
>>> + vdda-supply = <&vdda_mipi_dsi0_1p2>;
>>> +
>>> + status = "okay";
>>> +
>>> + display_panel: panel@0 {
>>> + reg = <0>;
>>> + compatible = "lg,sw49410-lh609qh1", "lg,sw49410";
>>> +
>>> + backlight = <&pmi8998_wled>;
>>> + reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
>>> + width-mm = <65>;
>>> + height-mm = <140>;
>>> +
>>> + pinctrl-0 = <&sde_dsi_active &sde_te_active_sleep>;
>>> + pinctrl-1 = <&sde_dsi_sleep &sde_te_active_sleep>;
>>> + pinctrl-names = "default", "sleep";
>>> +
>>> + port {
>>> + panel_in: endpoint {
>>> + remote-endpoint = <&mdss_dsi0_out>;
>>> + };
>>> + };
>>> + };
>>> +};
>>> +
>>> +&mdss_dsi0_phy {
>>> + vdds-supply = <&vdda_mipi_dsi0_pll>;
>>> +
>>> + status = "okay";
>>> +};
>>> +
>>> +&mdss_dsi0_out {
>>> + remote-endpoint = <&panel_in>;
>>> + data-lanes = <0 1 2 3>;
>>> +};
>>> +
>>> &mss_pil {
>>> firmware-name = "qcom/sdm845/judyln/mba.mbn", "qcom/sdm845/
>>> judyln/modem.mbn";
>>> };
>>> @@ -85,4 +113,25 @@ thinq_key_default: thinq-key-default-state {
>>> drive-strength = <2>;
>>> bias-pull-up;
>>> };
>>> +
>>> + sde_dsi_active: sde-dsi-active-state {
>>> + pins = "gpio6";
>>> + function = "gpio";
>>> + drive-strength = <8>;
>>> + bias-disable;
>>> + };
>>> +
>>> + sde_dsi_sleep: sde-dsi-sleep-state {
>>> + pins = "gpio6";
>>> + function = "gpio";
>>> + drive-strength = <2>;
>>> + bias-pull-down;
>>> + };
>>> +
>>> + sde_te_active_sleep: sde-te-active-sleep-state {
>>> + pins = "gpio10";
>>> + function = "mdp_vsync";
>>> + drive-strength = <2>;
>>> + bias-pull-down;
>>> + };
>>> };
>>>
>>> --
>>> 2.52.0
>>>
>>
>
--
David Heidelberg
Powered by blists - more mailing lists