2024-01-01 21:00:32

by Artur Weber

[permalink] [raw]
Subject: [PATCH 0/2] Fix panel polarity mixup in S6D7AA0 panel driver and Galaxy Tab 3 8.0 DTSI

Two small one-line patches to address a mixup in the Samsung S6D7AA0
panel driver and the Samsung Galaxy Tab 3 8.0 board it was initially
added for.

Signed-off-by: Artur Weber <[email protected]>
---
Artur Weber (2):
ARM: dts: exynos4212-tab3: add samsung,invert-vclk flag to fimd
drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02

arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi | 1 +
drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
---
base-commit: 610a9b8f49fbcf1100716370d3b5f6f884a2835a
change-id: 20240101-tab3-display-fixes-6516f0b6a1a1

Best regards,
--
Artur Weber <[email protected]>



2024-01-01 21:00:42

by Artur Weber

[permalink] [raw]
Subject: [PATCH 1/2] ARM: dts: exynos4212-tab3: add samsung,invert-vclk flag to fimd

After more investigation, I've found that it's not the panel driver
config that needs to be modified to invert the data polarity, but
the FIMD config.

Add the missing invert-vclk option that is required to get the display
to work correctly.

Signed-off-by: Artur Weber <[email protected]>
---
arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi b/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi
index d7954ff466b4..e5254e32aa8f 100644
--- a/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi
+++ b/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi
@@ -434,6 +434,7 @@ &exynos_usbphy {
};

&fimd {
+ samsung,invert-vclk;
status = "okay";
};


--
2.43.0


2024-01-01 21:00:58

by Artur Weber

[permalink] [raw]
Subject: [PATCH 2/2] drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02

It turns out that I had misconfigured the device I was using the panel
with; the bus data polarity is not high for this panel, I had to change
the config on the display controller's side.

Fix the panel config to properly reflect its accurate settings.

Signed-off-by: Artur Weber <[email protected]>
---
drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
index ea5a85779382..f23d8832a1ad 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
@@ -309,7 +309,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_lsl080al02_desc = {
.off_func = s6d7aa0_lsl080al02_off,
.drm_mode = &s6d7aa0_lsl080al02_mode,
.mode_flags = MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_NO_HFP,
- .bus_flags = DRM_BUS_FLAG_DE_HIGH,
+ .bus_flags = 0,

.has_backlight = false,
.use_passwd3 = false,

--
2.43.0


2024-01-02 19:02:08

by Henrik Grimler

[permalink] [raw]
Subject: Re: [PATCH 2/2] drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02

Hi Artur,

On Mon, Jan 01, 2024 at 10:00:16PM +0100, Artur Weber wrote:
> It turns out that I had misconfigured the device I was using the panel
> with; the bus data polarity is not high for this panel, I had to change
> the config on the display controller's side.
>
> Fix the panel config to properly reflect its accurate settings.
>
> Signed-off-by: Artur Weber <[email protected]>

I guess it deserves a Fixes tag:
Fixes: 6810bb390282 ("drm/panel: Add Samsung S6D7AA0 panel controller driver")

Best regards,
Henrik Grimler

> ---
> drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
> index ea5a85779382..f23d8832a1ad 100644
> --- a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
> +++ b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
> @@ -309,7 +309,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_lsl080al02_desc = {
> .off_func = s6d7aa0_lsl080al02_off,
> .drm_mode = &s6d7aa0_lsl080al02_mode,
> .mode_flags = MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_NO_HFP,
> - .bus_flags = DRM_BUS_FLAG_DE_HIGH,
> + .bus_flags = 0,
>
> .has_backlight = false,
> .use_passwd3 = false,
>
> --
> 2.43.0
>
>

2024-01-02 20:59:07

by Jessica Zhang

[permalink] [raw]
Subject: Re: [PATCH 2/2] drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02



On 1/1/2024 1:00 PM, Artur Weber wrote:
> It turns out that I had misconfigured the device I was using the panel
> with; the bus data polarity is not high for this panel, I had to change
> the config on the display controller's side.
>
> Fix the panel config to properly reflect its accurate settings.
>
> Signed-off-by: Artur Weber <[email protected]>

Hi Artur,

With Henrik's suggestion to add the Fixes tag,

Reviewed-by: Jessica Zhang <[email protected]>

Thanks,

Jessica Zhang

> ---
> drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
> index ea5a85779382..f23d8832a1ad 100644
> --- a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
> +++ b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
> @@ -309,7 +309,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_lsl080al02_desc = {
> .off_func = s6d7aa0_lsl080al02_off,
> .drm_mode = &s6d7aa0_lsl080al02_mode,
> .mode_flags = MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_NO_HFP,
> - .bus_flags = DRM_BUS_FLAG_DE_HIGH,
> + .bus_flags = 0,
>
> .has_backlight = false,
> .use_passwd3 = false,
>
> --
> 2.43.0
>