* [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
@ 2024-05-30 23:12 Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 1/3] drm/panel-edp: add fat warning against adding new panel compatibles Dmitry Baryshkov
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-05-30 23:12 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter
Cc: dri-devel, linux-kernel, linux-arm-msm, linux-rockchip, Jeffrey Hugo
There are two ways to describe an eDP panel in device tree. The
recommended way is to add a device on the AUX bus, ideally using the
edp-panel compatible. The legacy way is to define a top-level platform
device for the panel.
Document that adding support for eDP panels in a legacy way is strongly
discouraged (if not forbidden at all).
While we are at it, also drop legacy compatible strings and bindings for
five panels. These compatible strings were never used by a DT file
present in Linux kernel and most likely were never used with the
upstream Linux kernel.
The following compatibles were never used by the devices supported by
the upstream kernel and are a subject to possible removal:
- lg,lp097qx1-spa1
- samsung,lsn122dl01-c01
- sharp,ld-d5116z01b
I'm considering dropping them later, unless there is a good reason not
to do so.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v3:
- Rephrased the warning comment, following some of Doug's suggestions.
- Link to v2: https://lore.kernel.org/r/20240529-edp-panel-drop-v2-0-fcfc457fc8dd@linaro.org
Changes in v2:
- Actually drop support for five panels acked by Doug Andersson
- Link to v1: https://lore.kernel.org/r/20240523-edp-panel-drop-v1-1-045d62511d09@linaro.org
---
Dmitry Baryshkov (3):
drm/panel-edp: add fat warning against adding new panel compatibles
dt-bindings: display: panel-simple: drop several eDP panels
drm/panel-edp: drop several legacy panels
.../bindings/display/panel/panel-simple.yaml | 10 --
drivers/gpu/drm/panel/panel-edp.c | 192 +++------------------
2 files changed, 25 insertions(+), 177 deletions(-)
---
base-commit: 6dc544b66971c7f9909ff038b62149105272d26a
change-id: 20240523-edp-panel-drop-00aa239b3c6b
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/3] drm/panel-edp: add fat warning against adding new panel compatibles
2024-05-30 23:12 [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Dmitry Baryshkov
@ 2024-05-30 23:12 ` Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 2/3] dt-bindings: display: panel-simple: drop several eDP panels Dmitry Baryshkov
` (3 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-05-30 23:12 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter
Cc: dri-devel, linux-kernel, linux-arm-msm, linux-rockchip, Jeffrey Hugo
Add a fat warning against adding new panel compatibles to the panel-edp
driver. All new users of the eDP panels are supposed to use the generic
"edp-panel" compatible device on the AUX bus. The remaining compatibles
are either used by the existing DT or were used previously and are
retained for backwards compatibility.
Suggested-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/gpu/drm/panel/panel-edp.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 6db277efcbb7..ce2ea204a41e 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1776,7 +1776,24 @@ static const struct of_device_id platform_of_match[] = {
{
/* Must be first */
.compatible = "edp-panel",
- }, {
+ },
+ /*
+ * Do not add panels to the list below unless they cannot be handled by
+ * the generic edp-panel compatible.
+ *
+ * The only two valid reasons are:
+ * - Because of the panel issues (e.g. broken EDID or broken
+ * identification).
+ * - Because the eDP drivers didn't wire up the AUX bus properly.
+ * NOTE that, though this is a marginally valid reason,
+ * some justification needs to be made for why the platform can't
+ * wire up the AUX bus properly.
+ *
+ * In all other cases the platform should use the aux-bus and declare
+ * the panel using the 'edp-panel' compatible as a device on the AUX
+ * bus.
+ */
+ {
.compatible = "auo,b101ean01",
.data = &auo_b101ean01,
}, {
--
2.39.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/3] dt-bindings: display: panel-simple: drop several eDP panels
2024-05-30 23:12 [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 1/3] drm/panel-edp: add fat warning against adding new panel compatibles Dmitry Baryshkov
@ 2024-05-30 23:12 ` Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 3/3] drm/panel-edp: drop several legacy panels Dmitry Baryshkov
` (2 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-05-30 23:12 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter
Cc: dri-devel, linux-kernel, linux-arm-msm, linux-rockchip, Jeffrey Hugo
The panel-simple.yaml includes legacy bindings for several eDP panels
which were never used in DT files present in Linux tree and most likely
have never been used with the upstream kernel. Drop compatibles for
these panels in favour of using a generic "edp-panel" device on the AUX
bus.
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../devicetree/bindings/display/panel/panel-simple.yaml | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index 5067f5c0a272..e5ed51226433 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -50,13 +50,9 @@ properties:
# AU Optronics Corporation 11.6" HD (1366x768) color TFT-LCD panel
- auo,b116xw03
# AU Optronics Corporation 13.3" FHD (1920x1080) color TFT-LCD panel
- - auo,b133han05
- # AU Optronics Corporation 13.3" FHD (1920x1080) color TFT-LCD panel
- auo,b133htn01
# AU Optronics Corporation 13.3" WXGA (1366x768) TFT LCD panel
- auo,b133xtn01
- # AU Optronics Corporation 14.0" FHD (1920x1080) color TFT-LCD panel
- - auo,b140han06
# AU Optronics Corporation 7.0" FHD (800 x 480) TFT LCD panel
- auo,g070vvn01
# AU Optronics Corporation 10.1" (1280x800) color TFT LCD panel
@@ -172,8 +168,6 @@ properties:
- hannstar,hsd100pxn1
# Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
- hit,tx23d38vm0caa
- # InfoVision Optoelectronics M133NWF4 R0 13.3" FHD (1920x1080) TFT LCD panel
- - ivo,m133nwf4-r0
# Innolux AT043TN24 4.3" WQVGA TFT LCD panel
- innolux,at043tn24
# Innolux AT070TN92 7.0" WQVGA TFT LCD panel
@@ -310,16 +304,12 @@ properties:
- sharp,lq101k1ly04
# Sharp 12.3" (2400x1600 pixels) TFT LCD panel
- sharp,lq123p1jx31
- # Sharp 14" (1920x1080 pixels) TFT LCD panel
- - sharp,lq140m1jw46
# Sharp LS020B1DD01D 2.0" HQVGA TFT LCD panel
- sharp,ls020b1dd01d
# Shelly SCA07010-BFN-LNN 7.0" WVGA TFT LCD panel
- shelly,sca07010-bfn-lnn
# Starry KR070PE2T 7" WVGA TFT LCD panel
- starry,kr070pe2t
- # Starry 12.2" (1920x1200 pixels) TFT LCD panel
- - starry,kr122ea0sra
# Startek KD070WVFPA043-C069A 7" TFT LCD panel
- startek,kd070wvfpa
# Team Source Display Technology TST043015CMHX 4.3" WQVGA TFT LCD panel
--
2.39.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 3/3] drm/panel-edp: drop several legacy panels
2024-05-30 23:12 [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 1/3] drm/panel-edp: add fat warning against adding new panel compatibles Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 2/3] dt-bindings: display: panel-simple: drop several eDP panels Dmitry Baryshkov
@ 2024-05-30 23:12 ` Dmitry Baryshkov
2024-05-30 23:16 ` [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Doug Anderson
2024-05-31 16:18 ` Jeffrey Hugo
4 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-05-30 23:12 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter
Cc: dri-devel, linux-kernel, linux-arm-msm, linux-rockchip, Jeffrey Hugo
The panel-edp driver supports legacy compatible strings for several eDP
panels which were never used in DT files present in Linux tree and most
likely have never been used with the upstream kernel. Drop compatibles
for these panels in favour of using a generic "edp-panel" device on the
AUX bus.
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/gpu/drm/panel/panel-edp.c | 173 ++------------------------------------
1 file changed, 7 insertions(+), 166 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index ce2ea204a41e..696f0f6412a5 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1059,33 +1059,6 @@ static const struct panel_desc auo_b116xak01 = {
},
};
-static const struct drm_display_mode auo_b133han05_mode = {
- .clock = 142600,
- .hdisplay = 1920,
- .hsync_start = 1920 + 58,
- .hsync_end = 1920 + 58 + 42,
- .htotal = 1920 + 58 + 42 + 60,
- .vdisplay = 1080,
- .vsync_start = 1080 + 3,
- .vsync_end = 1080 + 3 + 5,
- .vtotal = 1080 + 3 + 5 + 54,
-};
-
-static const struct panel_desc auo_b133han05 = {
- .modes = &auo_b133han05_mode,
- .num_modes = 1,
- .bpc = 8,
- .size = {
- .width = 293,
- .height = 165,
- },
- .delay = {
- .hpd_reliable = 100,
- .enable = 20,
- .unprepare = 50,
- },
-};
-
static const struct drm_display_mode auo_b133htn01_mode = {
.clock = 150660,
.hdisplay = 1920,
@@ -1135,33 +1108,6 @@ static const struct panel_desc auo_b133xtn01 = {
},
};
-static const struct drm_display_mode auo_b140han06_mode = {
- .clock = 141000,
- .hdisplay = 1920,
- .hsync_start = 1920 + 16,
- .hsync_end = 1920 + 16 + 16,
- .htotal = 1920 + 16 + 16 + 152,
- .vdisplay = 1080,
- .vsync_start = 1080 + 3,
- .vsync_end = 1080 + 3 + 14,
- .vtotal = 1080 + 3 + 14 + 19,
-};
-
-static const struct panel_desc auo_b140han06 = {
- .modes = &auo_b140han06_mode,
- .num_modes = 1,
- .bpc = 8,
- .size = {
- .width = 309,
- .height = 174,
- },
- .delay = {
- .hpd_reliable = 100,
- .enable = 20,
- .unprepare = 50,
- },
-};
-
static const struct drm_display_mode boe_nv101wxmn51_modes[] = {
{
.clock = 71900,
@@ -1428,33 +1374,6 @@ static const struct panel_desc innolux_p120zdg_bf1 = {
},
};
-static const struct drm_display_mode ivo_m133nwf4_r0_mode = {
- .clock = 138778,
- .hdisplay = 1920,
- .hsync_start = 1920 + 24,
- .hsync_end = 1920 + 24 + 48,
- .htotal = 1920 + 24 + 48 + 88,
- .vdisplay = 1080,
- .vsync_start = 1080 + 3,
- .vsync_end = 1080 + 3 + 12,
- .vtotal = 1080 + 3 + 12 + 17,
- .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
-};
-
-static const struct panel_desc ivo_m133nwf4_r0 = {
- .modes = &ivo_m133nwf4_r0_mode,
- .num_modes = 1,
- .bpc = 8,
- .size = {
- .width = 294,
- .height = 165,
- },
- .delay = {
- .hpd_absent = 200,
- .unprepare = 500,
- },
-};
-
static const struct drm_display_mode kingdisplay_kd116n21_30nv_a010_mode = {
.clock = 81000,
.hdisplay = 1366,
@@ -1703,75 +1622,6 @@ static const struct panel_desc sharp_lq123p1jx31 = {
},
};
-static const struct drm_display_mode sharp_lq140m1jw46_mode[] = {
- {
- .clock = 346500,
- .hdisplay = 1920,
- .hsync_start = 1920 + 48,
- .hsync_end = 1920 + 48 + 32,
- .htotal = 1920 + 48 + 32 + 80,
- .vdisplay = 1080,
- .vsync_start = 1080 + 3,
- .vsync_end = 1080 + 3 + 5,
- .vtotal = 1080 + 3 + 5 + 69,
- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
- }, {
- .clock = 144370,
- .hdisplay = 1920,
- .hsync_start = 1920 + 48,
- .hsync_end = 1920 + 48 + 32,
- .htotal = 1920 + 48 + 32 + 80,
- .vdisplay = 1080,
- .vsync_start = 1080 + 3,
- .vsync_end = 1080 + 3 + 5,
- .vtotal = 1080 + 3 + 5 + 69,
- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
- },
-};
-
-static const struct panel_desc sharp_lq140m1jw46 = {
- .modes = sharp_lq140m1jw46_mode,
- .num_modes = ARRAY_SIZE(sharp_lq140m1jw46_mode),
- .bpc = 8,
- .size = {
- .width = 309,
- .height = 174,
- },
- .delay = {
- .hpd_absent = 80,
- .enable = 50,
- .unprepare = 500,
- },
-};
-
-static const struct drm_display_mode starry_kr122ea0sra_mode = {
- .clock = 147000,
- .hdisplay = 1920,
- .hsync_start = 1920 + 16,
- .hsync_end = 1920 + 16 + 16,
- .htotal = 1920 + 16 + 16 + 32,
- .vdisplay = 1200,
- .vsync_start = 1200 + 15,
- .vsync_end = 1200 + 15 + 2,
- .vtotal = 1200 + 15 + 2 + 18,
- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
-};
-
-static const struct panel_desc starry_kr122ea0sra = {
- .modes = &starry_kr122ea0sra_mode,
- .num_modes = 1,
- .size = {
- .width = 263,
- .height = 164,
- },
- .delay = {
- /* TODO: should be hpd-absent and no-hpd should be set? */
- .hpd_reliable = 10 + 200,
- .enable = 50,
- .unprepare = 10 + 500,
- },
-};
-
static const struct of_device_id platform_of_match[] = {
{
/* Must be first */
@@ -1799,18 +1649,12 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "auo,b116xa01",
.data = &auo_b116xak01,
- }, {
- .compatible = "auo,b133han05",
- .data = &auo_b133han05,
}, {
.compatible = "auo,b133htn01",
.data = &auo_b133htn01,
}, {
.compatible = "auo,b133xtn01",
.data = &auo_b133xtn01,
- }, {
- .compatible = "auo,b140han06",
- .data = &auo_b140han06,
}, {
.compatible = "boe,nv101wxmn51",
.data = &boe_nv101wxmn51,
@@ -1838,9 +1682,6 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "innolux,p120zdg-bf1",
.data = &innolux_p120zdg_bf1,
- }, {
- .compatible = "ivo,m133nwf4-r0",
- .data = &ivo_m133nwf4_r0,
}, {
.compatible = "kingdisplay,kd116n21-30nv-a010",
.data = &kingdisplay_kd116n21_30nv_a010,
@@ -1871,12 +1712,6 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "sharp,lq123p1jx31",
.data = &sharp_lq123p1jx31,
- }, {
- .compatible = "sharp,lq140m1jw46",
- .data = &sharp_lq140m1jw46,
- }, {
- .compatible = "starry,kr122ea0sra",
- .data = &starry_kr122ea0sra,
}, {
/* sentinel */
}
@@ -1928,6 +1763,12 @@ static const struct panel_delay delay_200_500_e80_d50 = {
.disable = 50,
};
+static const struct panel_delay delay_80_500_e50 = {
+ .hpd_absent = 80,
+ .unprepare = 500,
+ .enable = 50,
+};
+
static const struct panel_delay delay_100_500_e200 = {
.hpd_absent = 100,
.unprepare = 500,
@@ -2129,7 +1970,7 @@ static const struct edp_panel_entry edp_panels[] = {
EDP_PANEL_ENTRY('S', 'D', 'C', 0x416d, &delay_100_500_e200, "ATNA45AF01"),
EDP_PANEL_ENTRY('S', 'H', 'P', 0x1511, &delay_200_500_e50, "LQ140M1JW48"),
- EDP_PANEL_ENTRY('S', 'H', 'P', 0x1523, &sharp_lq140m1jw46.delay, "LQ140M1JW46"),
+ EDP_PANEL_ENTRY('S', 'H', 'P', 0x1523, &delay_80_500_e50, "LQ140M1JW46"),
EDP_PANEL_ENTRY('S', 'H', 'P', 0x154c, &delay_200_500_p2e100, "LQ116M1JW10"),
EDP_PANEL_ENTRY('S', 'T', 'A', 0x0100, &delay_100_500_e200, "2081116HHD028001-51D"),
--
2.39.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-30 23:12 [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Dmitry Baryshkov
` (2 preceding siblings ...)
2024-05-30 23:12 ` [PATCH v3 3/3] drm/panel-edp: drop several legacy panels Dmitry Baryshkov
@ 2024-05-30 23:16 ` Doug Anderson
2024-05-30 23:25 ` Dmitry Baryshkov
2024-05-31 16:18 ` Jeffrey Hugo
4 siblings, 1 reply; 12+ messages in thread
From: Doug Anderson @ 2024-05-30 23:16 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Neil Armstrong, Jessica Zhang, Sam Ravnborg, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
dri-devel, linux-kernel, linux-arm-msm, linux-rockchip,
Jeffrey Hugo
Hi,
On Thu, May 30, 2024 at 4:13 PM Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> There are two ways to describe an eDP panel in device tree. The
> recommended way is to add a device on the AUX bus, ideally using the
> edp-panel compatible. The legacy way is to define a top-level platform
> device for the panel.
>
> Document that adding support for eDP panels in a legacy way is strongly
> discouraged (if not forbidden at all).
>
> While we are at it, also drop legacy compatible strings and bindings for
> five panels. These compatible strings were never used by a DT file
> present in Linux kernel and most likely were never used with the
> upstream Linux kernel.
>
> The following compatibles were never used by the devices supported by
> the upstream kernel and are a subject to possible removal:
>
> - lg,lp097qx1-spa1
> - samsung,lsn122dl01-c01
> - sharp,ld-d5116z01b
>
> I'm considering dropping them later, unless there is a good reason not
> to do so.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> Changes in v3:
> - Rephrased the warning comment, following some of Doug's suggestions.
> - Link to v2: https://lore.kernel.org/r/20240529-edp-panel-drop-v2-0-fcfc457fc8dd@linaro.org
>
> Changes in v2:
> - Actually drop support for five panels acked by Doug Andersson
> - Link to v1: https://lore.kernel.org/r/20240523-edp-panel-drop-v1-1-045d62511d09@linaro.org
>
> ---
> Dmitry Baryshkov (3):
> drm/panel-edp: add fat warning against adding new panel compatibles
> dt-bindings: display: panel-simple: drop several eDP panels
> drm/panel-edp: drop several legacy panels
>
> .../bindings/display/panel/panel-simple.yaml | 10 --
> drivers/gpu/drm/panel/panel-edp.c | 192 +++------------------
> 2 files changed, 25 insertions(+), 177 deletions(-)
Thanks! I'm happy to apply this series or also happy if some other
drm-misc committer member wants to apply it. Probably we should wait
for a DT person to make sure that they don't have any problems with
the bindings change.
-Doug
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-30 23:16 ` [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Doug Anderson
@ 2024-05-30 23:25 ` Dmitry Baryshkov
0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-05-30 23:25 UTC (permalink / raw)
To: Doug Anderson
Cc: Neil Armstrong, Jessica Zhang, Sam Ravnborg, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
dri-devel, linux-kernel, linux-arm-msm, linux-rockchip,
Jeffrey Hugo
On Fri, 31 May 2024 at 02:24, Doug Anderson <dianders@chromium.org> wrote:
>
> Hi,
>
> On Thu, May 30, 2024 at 4:13 PM Dmitry Baryshkov
> <dmitry.baryshkov@linaro.org> wrote:
> >
> > There are two ways to describe an eDP panel in device tree. The
> > recommended way is to add a device on the AUX bus, ideally using the
> > edp-panel compatible. The legacy way is to define a top-level platform
> > device for the panel.
> >
> > Document that adding support for eDP panels in a legacy way is strongly
> > discouraged (if not forbidden at all).
> >
> > While we are at it, also drop legacy compatible strings and bindings for
> > five panels. These compatible strings were never used by a DT file
> > present in Linux kernel and most likely were never used with the
> > upstream Linux kernel.
> >
> > The following compatibles were never used by the devices supported by
> > the upstream kernel and are a subject to possible removal:
> >
> > - lg,lp097qx1-spa1
> > - samsung,lsn122dl01-c01
> > - sharp,ld-d5116z01b
> >
> > I'm considering dropping them later, unless there is a good reason not
> > to do so.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> > Changes in v3:
> > - Rephrased the warning comment, following some of Doug's suggestions.
> > - Link to v2: https://lore.kernel.org/r/20240529-edp-panel-drop-v2-0-fcfc457fc8dd@linaro.org
> >
> > Changes in v2:
> > - Actually drop support for five panels acked by Doug Andersson
> > - Link to v1: https://lore.kernel.org/r/20240523-edp-panel-drop-v1-1-045d62511d09@linaro.org
> >
> > ---
> > Dmitry Baryshkov (3):
> > drm/panel-edp: add fat warning against adding new panel compatibles
> > dt-bindings: display: panel-simple: drop several eDP panels
> > drm/panel-edp: drop several legacy panels
> >
> > .../bindings/display/panel/panel-simple.yaml | 10 --
> > drivers/gpu/drm/panel/panel-edp.c | 192 +++------------------
> > 2 files changed, 25 insertions(+), 177 deletions(-)
>
> Thanks! I'm happy to apply this series or also happy if some other
> drm-misc committer member wants to apply it. Probably we should wait
> for a DT person to make sure that they don't have any problems with
> the bindings change.
Yes, I'm waiting for an ack from DT maintainers.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-30 23:12 [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Dmitry Baryshkov
` (3 preceding siblings ...)
2024-05-30 23:16 ` [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Doug Anderson
@ 2024-05-31 16:18 ` Jeffrey Hugo
2024-05-31 16:20 ` Doug Anderson
2024-05-31 17:43 ` Dmitry Baryshkov
4 siblings, 2 replies; 12+ messages in thread
From: Jeffrey Hugo @ 2024-05-31 16:18 UTC (permalink / raw)
To: Dmitry Baryshkov, Douglas Anderson, Neil Armstrong,
Jessica Zhang, Sam Ravnborg, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Daniel Vetter
Cc: dri-devel, linux-kernel, linux-arm-msm, linux-rockchip
On 5/30/2024 5:12 PM, Dmitry Baryshkov wrote:
> There are two ways to describe an eDP panel in device tree. The
> recommended way is to add a device on the AUX bus, ideally using the
> edp-panel compatible. The legacy way is to define a top-level platform
> device for the panel.
>
> Document that adding support for eDP panels in a legacy way is strongly
> discouraged (if not forbidden at all).
>
> While we are at it, also drop legacy compatible strings and bindings for
> five panels. These compatible strings were never used by a DT file
> present in Linux kernel and most likely were never used with the
> upstream Linux kernel.
>
> The following compatibles were never used by the devices supported by
> the upstream kernel and are a subject to possible removal:
>
> - lg,lp097qx1-spa1
> - samsung,lsn122dl01-c01
> - sharp,ld-d5116z01b
Ok to drop the sharp one I added. It should be able to be handled by
the (newish) edp-panel, but I think the TI bridge driver needs some work
for the specific platform (no I2C connection) to verify.
-Jeff
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-31 16:18 ` Jeffrey Hugo
@ 2024-05-31 16:20 ` Doug Anderson
2024-05-31 16:51 ` Jeffrey Hugo
2024-05-31 17:43 ` Dmitry Baryshkov
1 sibling, 1 reply; 12+ messages in thread
From: Doug Anderson @ 2024-05-31 16:20 UTC (permalink / raw)
To: Jeffrey Hugo
Cc: Dmitry Baryshkov, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter, dri-devel, linux-kernel,
linux-arm-msm, linux-rockchip
Hi,
On Fri, May 31, 2024 at 9:18 AM Jeffrey Hugo <quic_jhugo@quicinc.com> wrote:
>
> On 5/30/2024 5:12 PM, Dmitry Baryshkov wrote:
> > There are two ways to describe an eDP panel in device tree. The
> > recommended way is to add a device on the AUX bus, ideally using the
> > edp-panel compatible. The legacy way is to define a top-level platform
> > device for the panel.
> >
> > Document that adding support for eDP panels in a legacy way is strongly
> > discouraged (if not forbidden at all).
> >
> > While we are at it, also drop legacy compatible strings and bindings for
> > five panels. These compatible strings were never used by a DT file
> > present in Linux kernel and most likely were never used with the
> > upstream Linux kernel.
> >
> > The following compatibles were never used by the devices supported by
> > the upstream kernel and are a subject to possible removal:
> >
> > - lg,lp097qx1-spa1
> > - samsung,lsn122dl01-c01
> > - sharp,ld-d5116z01b
>
> Ok to drop the sharp one I added. It should be able to be handled by
> the (newish) edp-panel, but I think the TI bridge driver needs some work
> for the specific platform (no I2C connection) to verify.
Is the platform supported upstream? If so, which platform is it? Is
the TI bridge chip the ti-sn65dsi86? If so, I'm confused how you could
use that bridge chip without an i2c connection, but perhaps I'm
misunderstanding. :-P
Thanks!
-Doug
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-31 16:20 ` Doug Anderson
@ 2024-05-31 16:51 ` Jeffrey Hugo
2024-05-31 17:29 ` Doug Anderson
0 siblings, 1 reply; 12+ messages in thread
From: Jeffrey Hugo @ 2024-05-31 16:51 UTC (permalink / raw)
To: Doug Anderson
Cc: Dmitry Baryshkov, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter, dri-devel, linux-kernel,
linux-arm-msm, linux-rockchip
On 5/31/2024 10:20 AM, Doug Anderson wrote:
> Hi,
>
> On Fri, May 31, 2024 at 9:18 AM Jeffrey Hugo <quic_jhugo@quicinc.com> wrote:
>>
>> On 5/30/2024 5:12 PM, Dmitry Baryshkov wrote:
>>> There are two ways to describe an eDP panel in device tree. The
>>> recommended way is to add a device on the AUX bus, ideally using the
>>> edp-panel compatible. The legacy way is to define a top-level platform
>>> device for the panel.
>>>
>>> Document that adding support for eDP panels in a legacy way is strongly
>>> discouraged (if not forbidden at all).
>>>
>>> While we are at it, also drop legacy compatible strings and bindings for
>>> five panels. These compatible strings were never used by a DT file
>>> present in Linux kernel and most likely were never used with the
>>> upstream Linux kernel.
>>>
>>> The following compatibles were never used by the devices supported by
>>> the upstream kernel and are a subject to possible removal:
>>>
>>> - lg,lp097qx1-spa1
>>> - samsung,lsn122dl01-c01
>>> - sharp,ld-d5116z01b
>>
>> Ok to drop the sharp one I added. It should be able to be handled by
>> the (newish) edp-panel, but I think the TI bridge driver needs some work
>> for the specific platform (no I2C connection) to verify.
>
> Is the platform supported upstream? If so, which platform is it? Is
> the TI bridge chip the ti-sn65dsi86? If so, I'm confused how you could
> use that bridge chip without an i2c connection, but perhaps I'm
> misunderstanding. :-P
Yes, the platform is upstream. The 8998 laptops (clamshell). It is the
ti-sn65si86. I suspect the I2C connection was not populated for cost
reasons, then determined its much more convenient to have it as every
generation after that I've seen has the I2C.
If you check the datasheet closely, the I2C connection is optional. You
can also configure the bridge inband using DSI commands. This is what
the FW and Windows does.
So, the DT binding needs to make the I2C property optional (this should
be backwards compatible). The driver needs to detect that the I2C
connection is not provided, and fall back to DSI commands. Regmap would
be nice for this, but I got pushback on the proposal. Then I got
sidetracked looking at other issues.
-Jeff
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-31 16:51 ` Jeffrey Hugo
@ 2024-05-31 17:29 ` Doug Anderson
0 siblings, 0 replies; 12+ messages in thread
From: Doug Anderson @ 2024-05-31 17:29 UTC (permalink / raw)
To: Jeffrey Hugo
Cc: Dmitry Baryshkov, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter, dri-devel, linux-kernel,
linux-arm-msm, linux-rockchip
Hi,
On Fri, May 31, 2024 at 9:51 AM Jeffrey Hugo <quic_jhugo@quicinc.com> wrote:
>
> On 5/31/2024 10:20 AM, Doug Anderson wrote:
> > Hi,
> >
> > On Fri, May 31, 2024 at 9:18 AM Jeffrey Hugo <quic_jhugo@quicinc.com> wrote:
> >>
> >> On 5/30/2024 5:12 PM, Dmitry Baryshkov wrote:
> >>> There are two ways to describe an eDP panel in device tree. The
> >>> recommended way is to add a device on the AUX bus, ideally using the
> >>> edp-panel compatible. The legacy way is to define a top-level platform
> >>> device for the panel.
> >>>
> >>> Document that adding support for eDP panels in a legacy way is strongly
> >>> discouraged (if not forbidden at all).
> >>>
> >>> While we are at it, also drop legacy compatible strings and bindings for
> >>> five panels. These compatible strings were never used by a DT file
> >>> present in Linux kernel and most likely were never used with the
> >>> upstream Linux kernel.
> >>>
> >>> The following compatibles were never used by the devices supported by
> >>> the upstream kernel and are a subject to possible removal:
> >>>
> >>> - lg,lp097qx1-spa1
> >>> - samsung,lsn122dl01-c01
> >>> - sharp,ld-d5116z01b
> >>
> >> Ok to drop the sharp one I added. It should be able to be handled by
> >> the (newish) edp-panel, but I think the TI bridge driver needs some work
> >> for the specific platform (no I2C connection) to verify.
> >
> > Is the platform supported upstream? If so, which platform is it? Is
> > the TI bridge chip the ti-sn65dsi86? If so, I'm confused how you could
> > use that bridge chip without an i2c connection, but perhaps I'm
> > misunderstanding. :-P
>
> Yes, the platform is upstream. The 8998 laptops (clamshell). It is the
> ti-sn65si86. I suspect the I2C connection was not populated for cost
> reasons, then determined its much more convenient to have it as every
> generation after that I've seen has the I2C.
>
> If you check the datasheet closely, the I2C connection is optional. You
> can also configure the bridge inband using DSI commands. This is what
> the FW and Windows does.
>
> So, the DT binding needs to make the I2C property optional (this should
> be backwards compatible). The driver needs to detect that the I2C
> connection is not provided, and fall back to DSI commands. Regmap would
> be nice for this, but I got pushback on the proposal. Then I got
> sidetracked looking at other issues.
Crazy! I'm sure I've skimmed over that part of the ti-sn65dsi86
datasheet before but I don't think I internalized it. I guess if you
did it this way then you'd instantiate it as a platform device instead
of an i2c device and that would be how you'd detect the difference. I
could imagine this being a bit of a challenge to get working in the
driver.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-31 16:18 ` Jeffrey Hugo
2024-05-31 16:20 ` Doug Anderson
@ 2024-05-31 17:43 ` Dmitry Baryshkov
2024-05-31 17:46 ` Jeffrey Hugo
1 sibling, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-05-31 17:43 UTC (permalink / raw)
To: Jeffrey Hugo
Cc: Douglas Anderson, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter, dri-devel, linux-kernel,
linux-arm-msm, linux-rockchip
On Fri, May 31, 2024 at 10:18:07AM -0600, Jeffrey Hugo wrote:
> On 5/30/2024 5:12 PM, Dmitry Baryshkov wrote:
> > There are two ways to describe an eDP panel in device tree. The
> > recommended way is to add a device on the AUX bus, ideally using the
> > edp-panel compatible. The legacy way is to define a top-level platform
> > device for the panel.
> >
> > Document that adding support for eDP panels in a legacy way is strongly
> > discouraged (if not forbidden at all).
> >
> > While we are at it, also drop legacy compatible strings and bindings for
> > five panels. These compatible strings were never used by a DT file
> > present in Linux kernel and most likely were never used with the
> > upstream Linux kernel.
> >
> > The following compatibles were never used by the devices supported by
> > the upstream kernel and are a subject to possible removal:
> >
> > - lg,lp097qx1-spa1
> > - samsung,lsn122dl01-c01
> > - sharp,ld-d5116z01b
>
> Ok to drop the sharp one I added. It should be able to be handled by the
> (newish) edp-panel, but I think the TI bridge driver needs some work for the
> specific platform (no I2C connection) to verify.
Thanks. I'm tempted to merge the series as is now and drop
sharp,ld-d5116z01b once you can confirm that it can be handled by
edp-panel on your platform.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver
2024-05-31 17:43 ` Dmitry Baryshkov
@ 2024-05-31 17:46 ` Jeffrey Hugo
0 siblings, 0 replies; 12+ messages in thread
From: Jeffrey Hugo @ 2024-05-31 17:46 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Douglas Anderson, Neil Armstrong, Jessica Zhang, Sam Ravnborg,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Daniel Vetter, dri-devel, linux-kernel,
linux-arm-msm, linux-rockchip
On 5/31/2024 11:43 AM, Dmitry Baryshkov wrote:
> On Fri, May 31, 2024 at 10:18:07AM -0600, Jeffrey Hugo wrote:
>> On 5/30/2024 5:12 PM, Dmitry Baryshkov wrote:
>>> There are two ways to describe an eDP panel in device tree. The
>>> recommended way is to add a device on the AUX bus, ideally using the
>>> edp-panel compatible. The legacy way is to define a top-level platform
>>> device for the panel.
>>>
>>> Document that adding support for eDP panels in a legacy way is strongly
>>> discouraged (if not forbidden at all).
>>>
>>> While we are at it, also drop legacy compatible strings and bindings for
>>> five panels. These compatible strings were never used by a DT file
>>> present in Linux kernel and most likely were never used with the
>>> upstream Linux kernel.
>>>
>>> The following compatibles were never used by the devices supported by
>>> the upstream kernel and are a subject to possible removal:
>>>
>>> - lg,lp097qx1-spa1
>>> - samsung,lsn122dl01-c01
>>> - sharp,ld-d5116z01b
>>
>> Ok to drop the sharp one I added. It should be able to be handled by the
>> (newish) edp-panel, but I think the TI bridge driver needs some work for the
>> specific platform (no I2C connection) to verify.
>
> Thanks. I'm tempted to merge the series as is now and drop
> sharp,ld-d5116z01b once you can confirm that it can be handled by
> edp-panel on your platform.
>
Sounds good to me.
-Jeff
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-05-31 17:46 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-30 23:12 [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 1/3] drm/panel-edp: add fat warning against adding new panel compatibles Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 2/3] dt-bindings: display: panel-simple: drop several eDP panels Dmitry Baryshkov
2024-05-30 23:12 ` [PATCH v3 3/3] drm/panel-edp: drop several legacy panels Dmitry Baryshkov
2024-05-30 23:16 ` [PATCH v3 0/3] drm/panel-edp: remove several legacy compatibles used by the driver Doug Anderson
2024-05-30 23:25 ` Dmitry Baryshkov
2024-05-31 16:18 ` Jeffrey Hugo
2024-05-31 16:20 ` Doug Anderson
2024-05-31 16:51 ` Jeffrey Hugo
2024-05-31 17:29 ` Doug Anderson
2024-05-31 17:43 ` Dmitry Baryshkov
2024-05-31 17:46 ` Jeffrey Hugo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®