Message ID | 20250320-wip-obbardc-qcom-t14s-oled-panel-v1-1-05bc4bdcd82a@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/panel-edp: Add panel used by T14s Gen6 Snapdragon (OLED) | expand |
On Thu, Mar 20, 2025 at 12:47:09PM +0000, Christopher Obbard wrote: > The Lenovo Thinkpad T14s Gen6 Snapdragon OLED model has a Samsung > panel. The kernel currently prints a warning due to not having the > correct timings. > > This panel appears to work with the default conservative timings, > so add the OLED panel to the list of supported panels with default > timings. Are you sure that this panel can be handled by panel-edp.c correctly and it doesn't require a workaround implemented in panel-samsung-atna33xc20.c? > > The raw EDID is: > > 00 ff ff ff ff ff ff 00 4c 83 9f 41 00 00 00 00 > 00 21 01 04 b5 1e 13 78 02 0c f1 ae 52 3c b9 23 > 0c 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 > 01 01 01 01 01 01 ca fe 40 64 b0 08 18 70 20 08 > 88 00 2e bd 10 00 00 1b ca fe 40 64 b0 08 38 77 > 08 20 88 00 2e bd 10 00 00 1b 00 00 00 fe 00 53 > 44 43 20 20 20 20 20 20 20 20 20 20 00 00 00 fe > 00 41 54 4e 41 34 30 59 4b 32 30 2d 30 20 01 cf > 02 03 0f 00 e3 05 80 00 e6 06 05 01 74 60 07 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b7 > > Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org> > --- > drivers/gpu/drm/panel/panel-edp.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c > index 52028c8f8988d4b771bd2604256aea4cde4f4020..56eb57c8023fbbb5ba39f5fdbfa8e577400f751a 100644 > --- a/drivers/gpu/drm/panel/panel-edp.c > +++ b/drivers/gpu/drm/panel/panel-edp.c > @@ -2008,6 +2008,8 @@ static const struct edp_panel_entry edp_panels[] = { > EDP_PANEL_ENTRY('L', 'G', 'D', 0x05f1, &delay_200_500_e200_d200, "Unknown"), > EDP_PANEL_ENTRY('L', 'G', 'D', 0x0778, &delay_200_500_e200_d200, "134WT1"), > > + EDP_PANEL_ENTRY('S', 'D', 'C', 0x419f, &delay_200_500_e200, "ATNA40YK20-0"), > + > EDP_PANEL_ENTRY('S', 'H', 'P', 0x1511, &delay_200_500_e50, "LQ140M1JW48"), > EDP_PANEL_ENTRY('S', 'H', 'P', 0x1523, &delay_80_500_e50, "LQ140M1JW46"), > EDP_PANEL_ENTRY('S', 'H', 'P', 0x153a, &delay_200_500_e50, "LQ140T1JH01"), > > --- > base-commit: 707bd8cceaac1af31d3eeeee166687bdde580fd3 > change-id: 20250320-wip-obbardc-qcom-t14s-oled-panel-b74fed21d600 > > Best regards, > -- > Christopher Obbard <christopher.obbard@linaro.org> >
Hi, On Thu, Mar 20, 2025 at 6:47 AM Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> wrote: > > On Thu, Mar 20, 2025 at 12:47:09PM +0000, Christopher Obbard wrote: > > The Lenovo Thinkpad T14s Gen6 Snapdragon OLED model has a Samsung > > panel. The kernel currently prints a warning due to not having the > > correct timings. > > > > This panel appears to work with the default conservative timings, > > so add the OLED panel to the list of supported panels with default > > timings. > > Are you sure that this panel can be handled by panel-edp.c correctly and > it doesn't require a workaround implemented in > panel-samsung-atna33xc20.c? Yeah, I'd agree with Dmitry here. To the last person who wanted to add a Samsung OLED panel, I replied [1] It's much more likely that this should use the `panel-samsung-atna33xc20.c` driver, which gets the timings more correct for Samsung OLED panels (there's an extra GPIO it needs to manage). To use that driver, you'll actually just need to need to add a new compatible and use the existing one as a fallback. See recent changes to: Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml [1] https://lore.kernel.org/r/CAD=FV=X+WnSKZTFhzdXEFfpKCEqfPDc77h7oG=ZU6Nqq6XHOmA@mail.gmail.com
Hi Doug & Dmitry, On Thu, 20 Mar 2025 at 14:10, Doug Anderson <dianders@chromium.org> wrote: > > Hi, > > On Thu, Mar 20, 2025 at 6:47 AM Dmitry Baryshkov > <dmitry.baryshkov@oss.qualcomm.com> wrote: > > > > On Thu, Mar 20, 2025 at 12:47:09PM +0000, Christopher Obbard wrote: > > > The Lenovo Thinkpad T14s Gen6 Snapdragon OLED model has a Samsung > > > panel. The kernel currently prints a warning due to not having the > > > correct timings. > > > > > > This panel appears to work with the default conservative timings, > > > so add the OLED panel to the list of supported panels with default > > > timings. > > > > Are you sure that this panel can be handled by panel-edp.c correctly and > > it doesn't require a workaround implemented in > > panel-samsung-atna33xc20.c? > > Yeah, I'd agree with Dmitry here. To the last person who wanted to add > a Samsung OLED panel, I replied [1] > > It's much more likely that this should use the > `panel-samsung-atna33xc20.c` driver, which gets the timings more > correct for Samsung OLED panels (there's an extra GPIO it needs to > manage). To use that driver, you'll actually just need to need to add > a new compatible and use the existing one as a fallback. Thanks; I will look at this and prepare v2.
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c index 52028c8f8988d4b771bd2604256aea4cde4f4020..56eb57c8023fbbb5ba39f5fdbfa8e577400f751a 100644 --- a/drivers/gpu/drm/panel/panel-edp.c +++ b/drivers/gpu/drm/panel/panel-edp.c @@ -2008,6 +2008,8 @@ static const struct edp_panel_entry edp_panels[] = { EDP_PANEL_ENTRY('L', 'G', 'D', 0x05f1, &delay_200_500_e200_d200, "Unknown"), EDP_PANEL_ENTRY('L', 'G', 'D', 0x0778, &delay_200_500_e200_d200, "134WT1"), + EDP_PANEL_ENTRY('S', 'D', 'C', 0x419f, &delay_200_500_e200, "ATNA40YK20-0"), + EDP_PANEL_ENTRY('S', 'H', 'P', 0x1511, &delay_200_500_e50, "LQ140M1JW48"), EDP_PANEL_ENTRY('S', 'H', 'P', 0x1523, &delay_80_500_e50, "LQ140M1JW46"), EDP_PANEL_ENTRY('S', 'H', 'P', 0x153a, &delay_200_500_e50, "LQ140T1JH01"),
The Lenovo Thinkpad T14s Gen6 Snapdragon OLED model has a Samsung panel. The kernel currently prints a warning due to not having the correct timings. This panel appears to work with the default conservative timings, so add the OLED panel to the list of supported panels with default timings. The raw EDID is: 00 ff ff ff ff ff ff 00 4c 83 9f 41 00 00 00 00 00 21 01 04 b5 1e 13 78 02 0c f1 ae 52 3c b9 23 0c 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ca fe 40 64 b0 08 18 70 20 08 88 00 2e bd 10 00 00 1b ca fe 40 64 b0 08 38 77 08 20 88 00 2e bd 10 00 00 1b 00 00 00 fe 00 53 44 43 20 20 20 20 20 20 20 20 20 20 00 00 00 fe 00 41 54 4e 41 34 30 59 4b 32 30 2d 30 20 01 cf 02 03 0f 00 e3 05 80 00 e6 06 05 01 74 60 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b7 Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org> --- drivers/gpu/drm/panel/panel-edp.c | 2 ++ 1 file changed, 2 insertions(+) --- base-commit: 707bd8cceaac1af31d3eeeee166687bdde580fd3 change-id: 20250320-wip-obbardc-qcom-t14s-oled-panel-b74fed21d600 Best regards,