lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ