diff mbox series

[v15,6/7] drm/ingenic: dw-hdmi: make hot plug detection work for CI20

Message ID 88297a6ddd9d9eaf78c605e23030b7877bb521d8.1644681054.git.hns@goldelico.com (mailing list archive)
State Superseded
Headers show
Series MIPS: JZ4780 and CI20 HDMI | expand

Commit Message

H. Nikolaus Schaller Feb. 12, 2022, 3:50 p.m. UTC
There is no hpd-gpio installed on the CI20 board HDMI connector.
Hence there is no hpd detection by the connector driver and we
have to enable polling by the dw-hdmi driver.

We need to set .poll_enabled but that struct component
can only be accessed in the core code. Hence we use the public
setter function drm_kms_helper_hotplug_event().

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Paul Cercueil Feb. 14, 2022, 10:18 a.m. UTC | #1
Hi Nikolaus,

Le sam., févr. 12 2022 at 16:50:54 +0100, H. Nikolaus Schaller 
<hns@goldelico.com> a écrit :
> There is no hpd-gpio installed on the CI20 board HDMI connector.
> Hence there is no hpd detection by the connector driver and we
> have to enable polling by the dw-hdmi driver.
> 
> We need to set .poll_enabled but that struct component
> can only be accessed in the core code. Hence we use the public
> setter function drm_kms_helper_hotplug_event().

As I said in your v13 - if you move your patch [2/7] after the patch 
[5/7] then you can drop this patch (merge it with the patch that 
introduces ingenic-dw-hdmi.c).

Otherwise between the introduction of the driver and the hotplug 
detection fix, the driver is not usable.

Cheers,
-Paul

> 
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> ---
>  drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c 
> b/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c
> index 34e986dd606cf..90547a28dc5c7 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c
> @@ -55,6 +55,8 @@ ingenic_dw_hdmi_mode_valid(struct dw_hdmi *hdmi, 
> void *data,
>  	if (mode->clock > 216000)
>  		return MODE_CLOCK_HIGH;
> 
> +	dw_hdmi_enable_poll(hdmi, true);
> +
>  	return MODE_OK;
>  }
> 
> --
> 2.33.0
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c b/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c
index 34e986dd606cf..90547a28dc5c7 100644
--- a/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c
+++ b/drivers/gpu/drm/ingenic/ingenic-dw-hdmi.c
@@ -55,6 +55,8 @@  ingenic_dw_hdmi_mode_valid(struct dw_hdmi *hdmi, void *data,
 	if (mode->clock > 216000)
 		return MODE_CLOCK_HIGH;
 
+	dw_hdmi_enable_poll(hdmi, true);
+
 	return MODE_OK;
 }