Message ID | 20231213163501.1.I8c20f926d15c9ddc12e423e07df1e89db1105d93@changeid (mailing list archive) |
---|---|
State | Accepted |
Commit | 97d1926892955c109e412d2359dc32691eec95ce |
Headers | show |
Series | arm64: dts: qcom: sc7180: Switch pompom to the generic edp-panel | expand |
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>
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
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,
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 {
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(-)