2023-12-14 00:36:07

by Doug Anderson

[permalink] [raw]
Subject: [PATCH] arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel

Pompom has several sources for its panel. Let's switch it to the
generic edp-panel compatible string to account for this.

This fixes a problem where the panel wouldn't come up on some pompon
devices after commit fb3f43d50d9b ("drm/panel-edp: Avoid adding
multiple preferred modes"). Specifically, some models of pompom have a
1920x1080 panel which is _very_ different than the 1366x768 panel
specified in the dts. Before the recent panel-edp fix on Linux things
kinda/sorta worked because the panel-edp driver would include both the
hardcoded and probed mode, AKA:

* #0 1920x1080
60.00 1920 1944 1960 2000 1080 1083 1088 1111 133320
flags: nhsync, nvsync; type: preferred, driver
* #1 1366x768
60.00 1366 1406 1438 1500 768 773 778 900 81000
flags: nhsync, nvsync; type: preferred, driver

...and, at least on ChromeOS, the userspace was consistently picking
the first mode even though both were marked as "preferred". Now that
the Linux driver is fixed we only get the hardcoded mode. That means
we end up trying to drive a 1920x1080 panel at 1366x768 and it doesn't
work so well.

Let's switch over to the generic panel-edp.

Fixes: fb3f43d50d9b ("drm/panel-edp: Avoid adding multiple preferred modes")
Signed-off-by: Douglas Anderson <[email protected]>
---
Techhnically we could put a "Fixes" in for the commits that added the
pompom device tree, but that gets a little weird. Specifically the
pompom device tree predates the introduction of the generic edp-panel
bindings. Older pompom hardware always had 1366x768 compatible panels
and worked fine so techncially those old commits weren't really
"broken" per say and thus don't need to be "fixed".

For now, I've marked this a fixing the Linux driver commit that broke
ChromeOS userspace.

arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
index 0be62331f982..067813f5f437 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
@@ -141,7 +141,7 @@ CROS_STD_MAIN_KEYMAP
};

&panel {
- compatible = "kingdisplay,kd116n21-30nv-a010";
+ compatible = "edp-panel";
};

&pen_insert {
--
2.43.0.472.g3155946c3a-goog


2023-12-14 01:07:14

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel

Quoting Douglas Anderson (2023-12-13 16:35:02)
> Pompom has several sources for its panel. Let's switch it to the
> generic edp-panel compatible string to account for this.
>
> This fixes a problem where the panel wouldn't come up on some pompon
> devices after commit fb3f43d50d9b ("drm/panel-edp: Avoid adding
> multiple preferred modes"). Specifically, some models of pompom have a
> 1920x1080 panel which is _very_ different than the 1366x768 panel
> specified in the dts. Before the recent panel-edp fix on Linux things
> kinda/sorta worked because the panel-edp driver would include both the
> hardcoded and probed mode, AKA:
>
> * #0 1920x1080
> 60.00 1920 1944 1960 2000 1080 1083 1088 1111 133320
> flags: nhsync, nvsync; type: preferred, driver
> * #1 1366x768
> 60.00 1366 1406 1438 1500 768 773 778 900 81000
> flags: nhsync, nvsync; type: preferred, driver
>
> ...and, at least on ChromeOS, the userspace was consistently picking
> the first mode even though both were marked as "preferred". Now that
> the Linux driver is fixed we only get the hardcoded mode. That means
> we end up trying to drive a 1920x1080 panel at 1366x768 and it doesn't
> work so well.
>
> Let's switch over to the generic panel-edp.
>
> Fixes: fb3f43d50d9b ("drm/panel-edp: Avoid adding multiple preferred modes")
> Signed-off-by: Douglas Anderson <[email protected]>
> ---

Reviewed-by: Stephen Boyd <[email protected]>

2023-12-14 11:58:19

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel



On 12/14/23 01:35, Douglas Anderson wrote:
> Pompom has several sources for its panel. Let's switch it to the
> generic edp-panel compatible string to account for this.
>
> This fixes a problem where the panel wouldn't come up on some pompon
> devices after commit fb3f43d50d9b ("drm/panel-edp: Avoid adding
> multiple preferred modes"). Specifically, some models of pompom have a
> 1920x1080 panel which is _very_ different than the 1366x768 panel
> specified in the dts. Before the recent panel-edp fix on Linux things
> kinda/sorta worked because the panel-edp driver would include both the
> hardcoded and probed mode, AKA:
>
> * #0 1920x1080
> 60.00 1920 1944 1960 2000 1080 1083 1088 1111 133320
> flags: nhsync, nvsync; type: preferred, driver
> * #1 1366x768
> 60.00 1366 1406 1438 1500 768 773 778 900 81000
> flags: nhsync, nvsync; type: preferred, driver
>
> ...and, at least on ChromeOS, the userspace was consistently picking
> the first mode even though both were marked as "preferred". Now that
> the Linux driver is fixed we only get the hardcoded mode. That means
> we end up trying to drive a 1920x1080 panel at 1366x768 and it doesn't
> work so well.
>
> Let's switch over to the generic panel-edp.
>
> Fixes: fb3f43d50d9b ("drm/panel-edp: Avoid adding multiple preferred modes")
> Signed-off-by: Douglas Anderson <[email protected]>
> ---
Acked-by: Konrad Dybcio <[email protected]>

Konrad

2023-12-17 17:25:32

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel


On Wed, 13 Dec 2023 16:35:02 -0800, Douglas Anderson wrote:
> Pompom has several sources for its panel. Let's switch it to the
> generic edp-panel compatible string to account for this.
>
> This fixes a problem where the panel wouldn't come up on some pompon
> devices after commit fb3f43d50d9b ("drm/panel-edp: Avoid adding
> multiple preferred modes"). Specifically, some models of pompom have a
> 1920x1080 panel which is _very_ different than the 1366x768 panel
> specified in the dts. Before the recent panel-edp fix on Linux things
> kinda/sorta worked because the panel-edp driver would include both the
> hardcoded and probed mode, AKA:
>
> [...]

Applied, thanks!

[1/1] arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel
commit: 97d1926892955c109e412d2359dc32691eec95ce

Best regards,
--
Bjorn Andersson <[email protected]>