arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel

Message ID 20231213163501.1.I8c20f926d15c9ddc12e423e07df1e89db1105d93@changeid
State New
Headers
Series arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel |

Commit Message

Doug Anderson Dec. 14, 2023, 12:35 a.m. UTC
  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 <dianders@chromium.org>
---
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(-)
  

Comments

Stephen Boyd Dec. 14, 2023, 1:06 a.m. UTC | #1
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 <dianders@chromium.org>
> ---

Reviewed-by: Stephen Boyd <swboyd@chromium.org>
  
Konrad Dybcio Dec. 14, 2023, 11:58 a.m. UTC | #2
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 <dianders@chromium.org>
> ---
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad
  
Bjorn Andersson Dec. 17, 2023, 5:21 p.m. UTC | #3
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,
  

Patch

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 {