[05/39] drm: renesas: shmobile: Correct encoder/connector types

Message ID 2f44ca769d4f524ea475123ca987472589257e0f.1687423204.git.geert+renesas@glider.be
State New
Headers
Series drm: renesas: shmobile: Atomic conversion + DT support |

Commit Message

Geert Uytterhoeven June 22, 2023, 9:21 a.m. UTC
  The first encoder output on the SH-Mobile LCD Controller is a DPI
parallel bus.  However, at the time of introduction of the driver, no
encoder or connector types were defined yet for the DPI parallel bus,
hence the driver used the ones for LVDS instead.

Adjust the types accordingly.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Laurent Pinchart June 23, 2023, 3:03 p.m. UTC | #1
Hi Geert,

Thank you for the patch.

On Thu, Jun 22, 2023 at 11:21:17AM +0200, Geert Uytterhoeven wrote:
> The first encoder output on the SH-Mobile LCD Controller is a DPI
> parallel bus.  However, at the time of introduction of the driver, no
> encoder or connector types were defined yet for the DPI parallel bus,
> hence the driver used the ones for LVDS instead.
> 
> Adjust the types accordingly.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c
> index 11dd2bc803e7cb62..fbfd906844da490c 100644
> --- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c
> +++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c
> @@ -598,7 +598,7 @@ int shmob_drm_encoder_create(struct shmob_drm_device *sdev)
>  	encoder->possible_crtcs = 1;
>  
>  	ret = drm_simple_encoder_init(sdev->ddev, encoder,
> -				      DRM_MODE_ENCODER_LVDS);
> +				      DRM_MODE_ENCODER_DPI);

You can use DRM_MODE_ENCODER_NONE, that will simplify the code when
adding support for additional outputs. The encoder type was exposed to
userspace by mistake, and AFAIU is unused by userspace, so it doesn't
need to be specified.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

>  	if (ret < 0)
>  		return ret;
>  
> @@ -684,7 +684,7 @@ int shmob_drm_connector_create(struct shmob_drm_device *sdev,
>  	connector->display_info.height_mm = sdev->pdata->panel.height_mm;
>  
>  	ret = drm_connector_init(sdev->ddev, connector, &connector_funcs,
> -				 DRM_MODE_CONNECTOR_LVDS);
> +				 DRM_MODE_CONNECTOR_DPI);
>  	if (ret < 0)
>  		return ret;
>
  

Patch

diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c
index 11dd2bc803e7cb62..fbfd906844da490c 100644
--- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c
+++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_crtc.c
@@ -598,7 +598,7 @@  int shmob_drm_encoder_create(struct shmob_drm_device *sdev)
 	encoder->possible_crtcs = 1;
 
 	ret = drm_simple_encoder_init(sdev->ddev, encoder,
-				      DRM_MODE_ENCODER_LVDS);
+				      DRM_MODE_ENCODER_DPI);
 	if (ret < 0)
 		return ret;
 
@@ -684,7 +684,7 @@  int shmob_drm_connector_create(struct shmob_drm_device *sdev,
 	connector->display_info.height_mm = sdev->pdata->panel.height_mm;
 
 	ret = drm_connector_init(sdev->ddev, connector, &connector_funcs,
-				 DRM_MODE_CONNECTOR_LVDS);
+				 DRM_MODE_CONNECTOR_DPI);
 	if (ret < 0)
 		return ret;