All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
To: Thomas Zimmermann <tzimmermann-l3A5Bk7waGM@public.gmane.org>
Cc: airlied-cv59FeDIM0c@public.gmane.org,
	daniel-/w4YWyX8dFk@public.gmane.org,
	abrodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org,
	bbrezillon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	nicolas.ferre-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org,
	alexandre.belloni-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org,
	ludovic.desroches-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org,
	maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	mripard-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	jingoohan1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	jy0922.shim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	sw0312.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	stefan-XLVq0VzYD2Y@public.gmane.org,
	alison.wang-3arQi8VN3Tc@public.gmane.org,
	patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	xinliang.liu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	zourongrong-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	kong.kongxinwei-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org,
	puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
	p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-imx-3arQi8VN3Tc@public.gmane.org,
	paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org,
	ck.hu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, matthias
Subject: Re: [PATCH 05/22] drm/gma500: Use simple encoder
Date: Fri, 6 Mar 2020 22:35:19 +0100	[thread overview]
Message-ID: <20200306213519.GD17369@ravnborg.org> (raw)
In-Reply-To: <20200305155950.2705-6-tzimmermann-l3A5Bk7waGM@public.gmane.org>

Hi Thomas.

On Thu, Mar 05, 2020 at 04:59:33PM +0100, Thomas Zimmermann wrote:
> The gma500 driver uses empty implementations for some of its encoders.
> Replace the code with the generic simple encoder.
This parts looks good.


> As a side effect, the
> patch also removes an indirection in the encoder setup for Medfield.

I failed to see where this was done. Maybe too late for me to review
patches, so I will stop now.


No matter - patch is:
Acked-by: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>

> 
> Signed-off-by: Thomas Zimmermann <tzimmermann-l3A5Bk7waGM@public.gmane.org>
> ---
>  drivers/gpu/drm/gma500/cdv_intel_crt.c     | 14 +++-----------
>  drivers/gpu/drm/gma500/cdv_intel_dp.c      | 16 +++-------------
>  drivers/gpu/drm/gma500/cdv_intel_hdmi.c    |  4 ++--
>  drivers/gpu/drm/gma500/cdv_intel_lvds.c    | 17 +++--------------
>  drivers/gpu/drm/gma500/mdfld_dsi_dpi.c     |  7 +++----
>  drivers/gpu/drm/gma500/mdfld_output.h      |  1 -
>  drivers/gpu/drm/gma500/mdfld_tmd_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/mdfld_tpo_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/oaktrail_hdmi.c     | 14 ++------------
>  drivers/gpu/drm/gma500/oaktrail_lvds.c     |  5 +++--
>  drivers/gpu/drm/gma500/psb_intel_drv.h     |  1 -
>  drivers/gpu/drm/gma500/psb_intel_lvds.c    | 18 +++---------------
>  drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c |  5 -----
>  13 files changed, 22 insertions(+), 92 deletions(-)
> 
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> index 29c36d63b20e..88535f5aacc5 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_crt.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> @@ -28,6 +28,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -237,15 +239,6 @@ static const struct drm_connector_helper_funcs
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static void cdv_intel_crt_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_crt_enc_funcs = {
> -	.destroy = cdv_intel_crt_enc_destroy,
> -};
> -
>  void cdv_intel_crt_init(struct drm_device *dev,
>  			struct psb_intel_mode_device *mode_dev)
>  {
> @@ -271,8 +264,7 @@ void cdv_intel_crt_init(struct drm_device *dev,
>  		&cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA);
>  
>  	encoder = &gma_encoder->base;
> -	drm_encoder_init(dev, encoder,
> -		&cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_DAC);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index 5772b2dce0d6..13947ec06dbb 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_dp_helper.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "gma_display.h"
>  #include "psb_drv.h"
> @@ -1908,11 +1909,6 @@ cdv_intel_dp_destroy(struct drm_connector *connector)
>  	kfree(connector);
>  }
>  
> -static void cdv_intel_dp_encoder_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
>  static const struct drm_encoder_helper_funcs cdv_intel_dp_helper_funcs = {
>  	.dpms = cdv_intel_dp_dpms,
>  	.mode_fixup = cdv_intel_dp_mode_fixup,
> @@ -1935,11 +1931,6 @@ static const struct drm_connector_helper_funcs cdv_intel_dp_connector_helper_fun
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static const struct drm_encoder_funcs cdv_intel_dp_enc_funcs = {
> -	.destroy = cdv_intel_dp_encoder_destroy,
> -};
> -
> -
>  static void cdv_intel_dp_add_properties(struct drm_connector *connector)
>  {
>  	cdv_intel_attach_force_audio_property(connector);
> @@ -2016,8 +2007,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  	encoder = &gma_encoder->base;
>  
>  	drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type);
> -	drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> @@ -2120,7 +2110,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  		if (ret == 0) {
>  			/* if this fails, presume the device is a ghost */
>  			DRM_INFO("failed to retrieve link info, disabling eDP\n");
> -			cdv_intel_dp_encoder_destroy(encoder);
> +			drm_encoder_cleanup(encoder);
>  			cdv_intel_dp_destroy(connector);
>  			goto err_priv;
>  		} else {
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> index 1711a41acc16..0d12c6ffbc40 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm.h>
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_edid.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "cdv_device.h"
>  #include "psb_drv.h"
> @@ -311,8 +312,7 @@ void cdv_hdmi_init(struct drm_device *dev,
>  			   &cdv_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_HDMI;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> index ea0a5d9a0acc..18de10e9ff9a 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> @@ -12,6 +12,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -499,16 +501,6 @@ static const struct drm_connector_funcs cdv_intel_lvds_connector_funcs = {
>  	.destroy = cdv_intel_lvds_destroy,
>  };
>  
> -
> -static void cdv_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_lvds_enc_funcs = {
> -	.destroy = cdv_intel_lvds_enc_destroy,
> -};
> -
>  /*
>   * Enumerate the child dev array parsed from VBT to check whether
>   * the LVDS is present.
> @@ -616,10 +608,7 @@ void cdv_intel_lvds_init(struct drm_device *dev,
>  			   &cdv_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &cdv_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> -
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> index d4c65f268922..aa5aa293ddb6 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> @@ -27,6 +27,8 @@
>  
>  #include <linux/delay.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "mdfld_dsi_dpi.h"
>  #include "mdfld_dsi_pkg_sender.h"
>  #include "mdfld_output.h"
> @@ -993,10 +995,7 @@ struct mdfld_dsi_encoder *mdfld_dsi_dpi_init(struct drm_device *dev,
>  	/*create drm encoder object*/
>  	connector = &dsi_connector->base.base;
>  	encoder = &dpi_output->base.base.base;
> -	drm_encoder_init(dev,
> -			encoder,
> -			p_funcs->encoder_funcs,
> -			DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  	drm_encoder_helper_add(encoder,
>  				p_funcs->encoder_helper_funcs);
>  
> diff --git a/drivers/gpu/drm/gma500/mdfld_output.h b/drivers/gpu/drm/gma500/mdfld_output.h
> index ab2b27c0f037..17a944d70add 100644
> --- a/drivers/gpu/drm/gma500/mdfld_output.h
> +++ b/drivers/gpu/drm/gma500/mdfld_output.h
> @@ -51,7 +51,6 @@ struct panel_info {
>  };
>  
>  struct panel_funcs {
> -	const struct drm_encoder_funcs *encoder_funcs;
>  	const struct drm_encoder_helper_funcs *encoder_helper_funcs;
>  	struct drm_display_mode * (*get_config_mode)(struct drm_device *);
>  	int (*get_panel_info)(struct drm_device *, int, struct panel_info *);
> diff --git a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> index 49c92debb7b2..25e897b98f86 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> @@ -188,13 +188,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tmd_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tmd_vid_get_config_mode,
>  	.get_panel_info = tmd_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> index a9420bf9a419..11845978fb0a 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> @@ -76,13 +76,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tpo_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tpo_vid_get_config_mode,
>  	.get_panel_info = tpo_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi.c b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> index f4370232767d..b25086f252ae 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> @@ -27,6 +27,7 @@
>  #include <linux/delay.h>
>  
>  #include <drm/drm.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "psb_drv.h"
>  #include "psb_intel_drv.h"
> @@ -620,15 +621,6 @@ static const struct drm_connector_funcs oaktrail_hdmi_connector_funcs = {
>  	.destroy = oaktrail_hdmi_destroy,
>  };
>  
> -static void oaktrail_hdmi_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs oaktrail_hdmi_enc_funcs = {
> -	.destroy = oaktrail_hdmi_enc_destroy,
> -};
> -
>  void oaktrail_hdmi_init(struct drm_device *dev,
>  					struct psb_intel_mode_device *mode_dev)
>  {
> @@ -651,9 +643,7 @@ void oaktrail_hdmi_init(struct drm_device *dev,
>  			   &oaktrail_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &oaktrail_hdmi_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> index 582e09597500..2828360153d1 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> @@ -13,6 +13,8 @@
>  
>  #include <asm/intel-mid.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -311,8 +313,7 @@ void oaktrail_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
> index 16c6136f778b..fb601983cef0 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_drv.h
> +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
> @@ -252,7 +252,6 @@ extern int psb_intel_lvds_set_property(struct drm_connector *connector,
>  					struct drm_property *property,
>  					uint64_t value);
>  extern void psb_intel_lvds_destroy(struct drm_connector *connector);
> -extern const struct drm_encoder_funcs psb_intel_lvds_enc_funcs;
>  
>  /* intel_gmbus.c */
>  extern void gma_intel_i2c_reset(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> index afaebab7bc17..063c66bb946d 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> @@ -11,6 +11,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -621,18 +623,6 @@ const struct drm_connector_funcs psb_intel_lvds_connector_funcs = {
>  	.destroy = psb_intel_lvds_destroy,
>  };
>  
> -
> -static void psb_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -const struct drm_encoder_funcs psb_intel_lvds_enc_funcs = {
> -	.destroy = psb_intel_lvds_enc_destroy,
> -};
> -
> -
> -
>  /**
>   * psb_intel_lvds_init - setup LVDS connectors on this device
>   * @dev: drm device
> @@ -683,9 +673,7 @@ void psb_intel_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> index 9e8224456ea2..f7e121f4c609 100644
> --- a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> +++ b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> @@ -765,12 +765,7 @@ static const struct drm_encoder_helper_funcs tc35876x_encoder_helper_funcs = {
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -static const struct drm_encoder_funcs tc35876x_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tc35876x_funcs = {
> -	.encoder_funcs = &tc35876x_encoder_funcs,
>  	.encoder_helper_funcs = &tc35876x_encoder_helper_funcs,
>  	.get_config_mode = tc35876x_get_config_mode,
>  	.get_panel_info = tc35876x_get_panel_info,
> -- 
> 2.25.1

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: airlied@linux.ie, daniel@ffwll.ch, abrodkin@synopsys.com,
	bbrezillon@kernel.org, nicolas.ferre@microchip.com,
	alexandre.belloni@bootlin.com, ludovic.desroches@microchip.com,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	jingoohan1@gmail.com, inki.dae@samsung.com,
	jy0922.shim@samsung.com, sw0312.kim@samsung.com,
	kyungmin.park@samsung.com, kgene@kernel.org, krzk@kernel.org,
	stefan@agner.ch, alison.wang@nxp.com,
	patrik.r.jakobsson@gmail.com, xinliang.liu@linaro.org,
	zourongrong@gmail.com, john.stultz@linaro.org,
	kong.kongxinwei@hisilicon.com, puck.chen@hisilicon.com,
	linux@armlinux.org.uk, p.zabel@pengutronix.de,
	shawnguo@kernel.org, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	paul@crapouillou.net, ck.hu@mediatek.com, matthias.bgg@gmail.com,
	laurent.pinchart@ideasonboard.com,
	kieran.bingham+renesas@ideasonboard.com, hjc@rock-chips.com,
	heiko@sntech.de, wens@csie.org, jernej.skrabec@siol.net,
	thierry.reding@gmail.com, jonathanh@nvidia.com, jsarha@ti.com,
	tomi.valkeinen@ti.com, eric@anholt.net, kraxel@redhat.com,
	rodrigosiqueiramelo@gmail.com, hamohammed.sa@gmail.com,
	sebastian.reichel@collabora.com, dri-devel@lists.freedesktop.org,
	linux-samsung-soc@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org,
	virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 05/22] drm/gma500: Use simple encoder
Date: Fri, 6 Mar 2020 22:35:19 +0100	[thread overview]
Message-ID: <20200306213519.GD17369@ravnborg.org> (raw)
In-Reply-To: <20200305155950.2705-6-tzimmermann@suse.de>

Hi Thomas.

On Thu, Mar 05, 2020 at 04:59:33PM +0100, Thomas Zimmermann wrote:
> The gma500 driver uses empty implementations for some of its encoders.
> Replace the code with the generic simple encoder.
This parts looks good.


> As a side effect, the
> patch also removes an indirection in the encoder setup for Medfield.

I failed to see where this was done. Maybe too late for me to review
patches, so I will stop now.


No matter - patch is:
Acked-by: Sam Ravnborg <sam@ravnborg.org>

> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>  drivers/gpu/drm/gma500/cdv_intel_crt.c     | 14 +++-----------
>  drivers/gpu/drm/gma500/cdv_intel_dp.c      | 16 +++-------------
>  drivers/gpu/drm/gma500/cdv_intel_hdmi.c    |  4 ++--
>  drivers/gpu/drm/gma500/cdv_intel_lvds.c    | 17 +++--------------
>  drivers/gpu/drm/gma500/mdfld_dsi_dpi.c     |  7 +++----
>  drivers/gpu/drm/gma500/mdfld_output.h      |  1 -
>  drivers/gpu/drm/gma500/mdfld_tmd_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/mdfld_tpo_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/oaktrail_hdmi.c     | 14 ++------------
>  drivers/gpu/drm/gma500/oaktrail_lvds.c     |  5 +++--
>  drivers/gpu/drm/gma500/psb_intel_drv.h     |  1 -
>  drivers/gpu/drm/gma500/psb_intel_lvds.c    | 18 +++---------------
>  drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c |  5 -----
>  13 files changed, 22 insertions(+), 92 deletions(-)
> 
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> index 29c36d63b20e..88535f5aacc5 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_crt.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> @@ -28,6 +28,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -237,15 +239,6 @@ static const struct drm_connector_helper_funcs
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static void cdv_intel_crt_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_crt_enc_funcs = {
> -	.destroy = cdv_intel_crt_enc_destroy,
> -};
> -
>  void cdv_intel_crt_init(struct drm_device *dev,
>  			struct psb_intel_mode_device *mode_dev)
>  {
> @@ -271,8 +264,7 @@ void cdv_intel_crt_init(struct drm_device *dev,
>  		&cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA);
>  
>  	encoder = &gma_encoder->base;
> -	drm_encoder_init(dev, encoder,
> -		&cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_DAC);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index 5772b2dce0d6..13947ec06dbb 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_dp_helper.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "gma_display.h"
>  #include "psb_drv.h"
> @@ -1908,11 +1909,6 @@ cdv_intel_dp_destroy(struct drm_connector *connector)
>  	kfree(connector);
>  }
>  
> -static void cdv_intel_dp_encoder_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
>  static const struct drm_encoder_helper_funcs cdv_intel_dp_helper_funcs = {
>  	.dpms = cdv_intel_dp_dpms,
>  	.mode_fixup = cdv_intel_dp_mode_fixup,
> @@ -1935,11 +1931,6 @@ static const struct drm_connector_helper_funcs cdv_intel_dp_connector_helper_fun
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static const struct drm_encoder_funcs cdv_intel_dp_enc_funcs = {
> -	.destroy = cdv_intel_dp_encoder_destroy,
> -};
> -
> -
>  static void cdv_intel_dp_add_properties(struct drm_connector *connector)
>  {
>  	cdv_intel_attach_force_audio_property(connector);
> @@ -2016,8 +2007,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  	encoder = &gma_encoder->base;
>  
>  	drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type);
> -	drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> @@ -2120,7 +2110,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  		if (ret == 0) {
>  			/* if this fails, presume the device is a ghost */
>  			DRM_INFO("failed to retrieve link info, disabling eDP\n");
> -			cdv_intel_dp_encoder_destroy(encoder);
> +			drm_encoder_cleanup(encoder);
>  			cdv_intel_dp_destroy(connector);
>  			goto err_priv;
>  		} else {
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> index 1711a41acc16..0d12c6ffbc40 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm.h>
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_edid.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "cdv_device.h"
>  #include "psb_drv.h"
> @@ -311,8 +312,7 @@ void cdv_hdmi_init(struct drm_device *dev,
>  			   &cdv_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_HDMI;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> index ea0a5d9a0acc..18de10e9ff9a 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> @@ -12,6 +12,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -499,16 +501,6 @@ static const struct drm_connector_funcs cdv_intel_lvds_connector_funcs = {
>  	.destroy = cdv_intel_lvds_destroy,
>  };
>  
> -
> -static void cdv_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_lvds_enc_funcs = {
> -	.destroy = cdv_intel_lvds_enc_destroy,
> -};
> -
>  /*
>   * Enumerate the child dev array parsed from VBT to check whether
>   * the LVDS is present.
> @@ -616,10 +608,7 @@ void cdv_intel_lvds_init(struct drm_device *dev,
>  			   &cdv_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &cdv_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> -
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> index d4c65f268922..aa5aa293ddb6 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> @@ -27,6 +27,8 @@
>  
>  #include <linux/delay.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "mdfld_dsi_dpi.h"
>  #include "mdfld_dsi_pkg_sender.h"
>  #include "mdfld_output.h"
> @@ -993,10 +995,7 @@ struct mdfld_dsi_encoder *mdfld_dsi_dpi_init(struct drm_device *dev,
>  	/*create drm encoder object*/
>  	connector = &dsi_connector->base.base;
>  	encoder = &dpi_output->base.base.base;
> -	drm_encoder_init(dev,
> -			encoder,
> -			p_funcs->encoder_funcs,
> -			DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  	drm_encoder_helper_add(encoder,
>  				p_funcs->encoder_helper_funcs);
>  
> diff --git a/drivers/gpu/drm/gma500/mdfld_output.h b/drivers/gpu/drm/gma500/mdfld_output.h
> index ab2b27c0f037..17a944d70add 100644
> --- a/drivers/gpu/drm/gma500/mdfld_output.h
> +++ b/drivers/gpu/drm/gma500/mdfld_output.h
> @@ -51,7 +51,6 @@ struct panel_info {
>  };
>  
>  struct panel_funcs {
> -	const struct drm_encoder_funcs *encoder_funcs;
>  	const struct drm_encoder_helper_funcs *encoder_helper_funcs;
>  	struct drm_display_mode * (*get_config_mode)(struct drm_device *);
>  	int (*get_panel_info)(struct drm_device *, int, struct panel_info *);
> diff --git a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> index 49c92debb7b2..25e897b98f86 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> @@ -188,13 +188,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tmd_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tmd_vid_get_config_mode,
>  	.get_panel_info = tmd_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> index a9420bf9a419..11845978fb0a 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> @@ -76,13 +76,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tpo_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tpo_vid_get_config_mode,
>  	.get_panel_info = tpo_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi.c b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> index f4370232767d..b25086f252ae 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> @@ -27,6 +27,7 @@
>  #include <linux/delay.h>
>  
>  #include <drm/drm.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "psb_drv.h"
>  #include "psb_intel_drv.h"
> @@ -620,15 +621,6 @@ static const struct drm_connector_funcs oaktrail_hdmi_connector_funcs = {
>  	.destroy = oaktrail_hdmi_destroy,
>  };
>  
> -static void oaktrail_hdmi_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs oaktrail_hdmi_enc_funcs = {
> -	.destroy = oaktrail_hdmi_enc_destroy,
> -};
> -
>  void oaktrail_hdmi_init(struct drm_device *dev,
>  					struct psb_intel_mode_device *mode_dev)
>  {
> @@ -651,9 +643,7 @@ void oaktrail_hdmi_init(struct drm_device *dev,
>  			   &oaktrail_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &oaktrail_hdmi_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> index 582e09597500..2828360153d1 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> @@ -13,6 +13,8 @@
>  
>  #include <asm/intel-mid.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -311,8 +313,7 @@ void oaktrail_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
> index 16c6136f778b..fb601983cef0 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_drv.h
> +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
> @@ -252,7 +252,6 @@ extern int psb_intel_lvds_set_property(struct drm_connector *connector,
>  					struct drm_property *property,
>  					uint64_t value);
>  extern void psb_intel_lvds_destroy(struct drm_connector *connector);
> -extern const struct drm_encoder_funcs psb_intel_lvds_enc_funcs;
>  
>  /* intel_gmbus.c */
>  extern void gma_intel_i2c_reset(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> index afaebab7bc17..063c66bb946d 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> @@ -11,6 +11,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -621,18 +623,6 @@ const struct drm_connector_funcs psb_intel_lvds_connector_funcs = {
>  	.destroy = psb_intel_lvds_destroy,
>  };
>  
> -
> -static void psb_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -const struct drm_encoder_funcs psb_intel_lvds_enc_funcs = {
> -	.destroy = psb_intel_lvds_enc_destroy,
> -};
> -
> -
> -
>  /**
>   * psb_intel_lvds_init - setup LVDS connectors on this device
>   * @dev: drm device
> @@ -683,9 +673,7 @@ void psb_intel_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> index 9e8224456ea2..f7e121f4c609 100644
> --- a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> +++ b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> @@ -765,12 +765,7 @@ static const struct drm_encoder_helper_funcs tc35876x_encoder_helper_funcs = {
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -static const struct drm_encoder_funcs tc35876x_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tc35876x_funcs = {
> -	.encoder_funcs = &tc35876x_encoder_funcs,
>  	.encoder_helper_funcs = &tc35876x_encoder_helper_funcs,
>  	.get_config_mode = tc35876x_get_config_mode,
>  	.get_panel_info = tc35876x_get_panel_info,
> -- 
> 2.25.1

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: hamohammed.sa@gmail.com, alexandre.belloni@bootlin.com,
	heiko@sntech.de, airlied@linux.ie, stefan@agner.ch,
	linux@armlinux.org.uk, paul@crapouillou.net, eric@anholt.net,
	thierry.reding@gmail.com, krzk@kernel.org, festevam@gmail.com,
	sebastian.reichel@collabora.com,
	linux-samsung-soc@vger.kernel.org, jy0922.shim@samsung.com,
	hjc@rock-chips.com, tomi.valkeinen@ti.com, abrodkin@synopsys.com,
	kong.kongxinwei@hisilicon.com, patrik.r.jakobsson@gmail.com,
	jonathanh@nvidia.com, xinliang.liu@linaro.org,
	ludovic.desroches@microchip.com, kgene@kernel.org,
	linux-imx@nxp.com, ck.hu@mediatek.com,
	linux-rockchip@lists.infradead.org,
	virtualization@lists.linux-foundation.org,
	linux-tegra@vger.kernel.org, p.zabel@pengutronix.de,
	puck.chen@hisilicon.com, s.hauer@pengutronix.de,
	alison.wang@nxp.com, maarten.lankhorst@linux.intel.com,
	mripard@kernel.org, inki.dae@samsung.com, john.stultz@linaro.org,
	jsarha@ti.com, matthias.bgg@gmail.com, wens@csie.org,
	kernel@pengutronix.de, jernej.skrabec@siol.net,
	kraxel@redhat.com, rodrigosiqueiramelo@gmail.com,
	bbrezillon@kernel.org, jingoohan1@gmail.com,
	dri-devel@lists.freedesktop.org, sw0312.kim@samsung.com,
	nicolas.ferre@microchip.com, kyungmin.park@samsung.com,
	kieran.bingham+renesas@ideasonboard.com, daniel@ffwll.ch,
	zourongrong@gmail.com, linux-mediatek@lists.infradead.org,
	shawnguo@kernel.org, laurent.pinchart@ideasonboard.com
Subject: Re: [PATCH 05/22] drm/gma500: Use simple encoder
Date: Fri, 6 Mar 2020 22:35:19 +0100	[thread overview]
Message-ID: <20200306213519.GD17369@ravnborg.org> (raw)
In-Reply-To: <20200305155950.2705-6-tzimmermann@suse.de>

Hi Thomas.

On Thu, Mar 05, 2020 at 04:59:33PM +0100, Thomas Zimmermann wrote:
> The gma500 driver uses empty implementations for some of its encoders.
> Replace the code with the generic simple encoder.
This parts looks good.


> As a side effect, the
> patch also removes an indirection in the encoder setup for Medfield.

I failed to see where this was done. Maybe too late for me to review
patches, so I will stop now.


No matter - patch is:
Acked-by: Sam Ravnborg <sam@ravnborg.org>

> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>  drivers/gpu/drm/gma500/cdv_intel_crt.c     | 14 +++-----------
>  drivers/gpu/drm/gma500/cdv_intel_dp.c      | 16 +++-------------
>  drivers/gpu/drm/gma500/cdv_intel_hdmi.c    |  4 ++--
>  drivers/gpu/drm/gma500/cdv_intel_lvds.c    | 17 +++--------------
>  drivers/gpu/drm/gma500/mdfld_dsi_dpi.c     |  7 +++----
>  drivers/gpu/drm/gma500/mdfld_output.h      |  1 -
>  drivers/gpu/drm/gma500/mdfld_tmd_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/mdfld_tpo_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/oaktrail_hdmi.c     | 14 ++------------
>  drivers/gpu/drm/gma500/oaktrail_lvds.c     |  5 +++--
>  drivers/gpu/drm/gma500/psb_intel_drv.h     |  1 -
>  drivers/gpu/drm/gma500/psb_intel_lvds.c    | 18 +++---------------
>  drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c |  5 -----
>  13 files changed, 22 insertions(+), 92 deletions(-)
> 
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> index 29c36d63b20e..88535f5aacc5 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_crt.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> @@ -28,6 +28,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -237,15 +239,6 @@ static const struct drm_connector_helper_funcs
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static void cdv_intel_crt_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_crt_enc_funcs = {
> -	.destroy = cdv_intel_crt_enc_destroy,
> -};
> -
>  void cdv_intel_crt_init(struct drm_device *dev,
>  			struct psb_intel_mode_device *mode_dev)
>  {
> @@ -271,8 +264,7 @@ void cdv_intel_crt_init(struct drm_device *dev,
>  		&cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA);
>  
>  	encoder = &gma_encoder->base;
> -	drm_encoder_init(dev, encoder,
> -		&cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_DAC);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index 5772b2dce0d6..13947ec06dbb 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_dp_helper.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "gma_display.h"
>  #include "psb_drv.h"
> @@ -1908,11 +1909,6 @@ cdv_intel_dp_destroy(struct drm_connector *connector)
>  	kfree(connector);
>  }
>  
> -static void cdv_intel_dp_encoder_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
>  static const struct drm_encoder_helper_funcs cdv_intel_dp_helper_funcs = {
>  	.dpms = cdv_intel_dp_dpms,
>  	.mode_fixup = cdv_intel_dp_mode_fixup,
> @@ -1935,11 +1931,6 @@ static const struct drm_connector_helper_funcs cdv_intel_dp_connector_helper_fun
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static const struct drm_encoder_funcs cdv_intel_dp_enc_funcs = {
> -	.destroy = cdv_intel_dp_encoder_destroy,
> -};
> -
> -
>  static void cdv_intel_dp_add_properties(struct drm_connector *connector)
>  {
>  	cdv_intel_attach_force_audio_property(connector);
> @@ -2016,8 +2007,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  	encoder = &gma_encoder->base;
>  
>  	drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type);
> -	drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> @@ -2120,7 +2110,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  		if (ret == 0) {
>  			/* if this fails, presume the device is a ghost */
>  			DRM_INFO("failed to retrieve link info, disabling eDP\n");
> -			cdv_intel_dp_encoder_destroy(encoder);
> +			drm_encoder_cleanup(encoder);
>  			cdv_intel_dp_destroy(connector);
>  			goto err_priv;
>  		} else {
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> index 1711a41acc16..0d12c6ffbc40 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm.h>
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_edid.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "cdv_device.h"
>  #include "psb_drv.h"
> @@ -311,8 +312,7 @@ void cdv_hdmi_init(struct drm_device *dev,
>  			   &cdv_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_HDMI;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> index ea0a5d9a0acc..18de10e9ff9a 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> @@ -12,6 +12,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -499,16 +501,6 @@ static const struct drm_connector_funcs cdv_intel_lvds_connector_funcs = {
>  	.destroy = cdv_intel_lvds_destroy,
>  };
>  
> -
> -static void cdv_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_lvds_enc_funcs = {
> -	.destroy = cdv_intel_lvds_enc_destroy,
> -};
> -
>  /*
>   * Enumerate the child dev array parsed from VBT to check whether
>   * the LVDS is present.
> @@ -616,10 +608,7 @@ void cdv_intel_lvds_init(struct drm_device *dev,
>  			   &cdv_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &cdv_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> -
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> index d4c65f268922..aa5aa293ddb6 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> @@ -27,6 +27,8 @@
>  
>  #include <linux/delay.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "mdfld_dsi_dpi.h"
>  #include "mdfld_dsi_pkg_sender.h"
>  #include "mdfld_output.h"
> @@ -993,10 +995,7 @@ struct mdfld_dsi_encoder *mdfld_dsi_dpi_init(struct drm_device *dev,
>  	/*create drm encoder object*/
>  	connector = &dsi_connector->base.base;
>  	encoder = &dpi_output->base.base.base;
> -	drm_encoder_init(dev,
> -			encoder,
> -			p_funcs->encoder_funcs,
> -			DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  	drm_encoder_helper_add(encoder,
>  				p_funcs->encoder_helper_funcs);
>  
> diff --git a/drivers/gpu/drm/gma500/mdfld_output.h b/drivers/gpu/drm/gma500/mdfld_output.h
> index ab2b27c0f037..17a944d70add 100644
> --- a/drivers/gpu/drm/gma500/mdfld_output.h
> +++ b/drivers/gpu/drm/gma500/mdfld_output.h
> @@ -51,7 +51,6 @@ struct panel_info {
>  };
>  
>  struct panel_funcs {
> -	const struct drm_encoder_funcs *encoder_funcs;
>  	const struct drm_encoder_helper_funcs *encoder_helper_funcs;
>  	struct drm_display_mode * (*get_config_mode)(struct drm_device *);
>  	int (*get_panel_info)(struct drm_device *, int, struct panel_info *);
> diff --git a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> index 49c92debb7b2..25e897b98f86 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> @@ -188,13 +188,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tmd_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tmd_vid_get_config_mode,
>  	.get_panel_info = tmd_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> index a9420bf9a419..11845978fb0a 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> @@ -76,13 +76,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tpo_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tpo_vid_get_config_mode,
>  	.get_panel_info = tpo_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi.c b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> index f4370232767d..b25086f252ae 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> @@ -27,6 +27,7 @@
>  #include <linux/delay.h>
>  
>  #include <drm/drm.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "psb_drv.h"
>  #include "psb_intel_drv.h"
> @@ -620,15 +621,6 @@ static const struct drm_connector_funcs oaktrail_hdmi_connector_funcs = {
>  	.destroy = oaktrail_hdmi_destroy,
>  };
>  
> -static void oaktrail_hdmi_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs oaktrail_hdmi_enc_funcs = {
> -	.destroy = oaktrail_hdmi_enc_destroy,
> -};
> -
>  void oaktrail_hdmi_init(struct drm_device *dev,
>  					struct psb_intel_mode_device *mode_dev)
>  {
> @@ -651,9 +643,7 @@ void oaktrail_hdmi_init(struct drm_device *dev,
>  			   &oaktrail_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &oaktrail_hdmi_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> index 582e09597500..2828360153d1 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> @@ -13,6 +13,8 @@
>  
>  #include <asm/intel-mid.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -311,8 +313,7 @@ void oaktrail_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
> index 16c6136f778b..fb601983cef0 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_drv.h
> +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
> @@ -252,7 +252,6 @@ extern int psb_intel_lvds_set_property(struct drm_connector *connector,
>  					struct drm_property *property,
>  					uint64_t value);
>  extern void psb_intel_lvds_destroy(struct drm_connector *connector);
> -extern const struct drm_encoder_funcs psb_intel_lvds_enc_funcs;
>  
>  /* intel_gmbus.c */
>  extern void gma_intel_i2c_reset(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> index afaebab7bc17..063c66bb946d 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> @@ -11,6 +11,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -621,18 +623,6 @@ const struct drm_connector_funcs psb_intel_lvds_connector_funcs = {
>  	.destroy = psb_intel_lvds_destroy,
>  };
>  
> -
> -static void psb_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -const struct drm_encoder_funcs psb_intel_lvds_enc_funcs = {
> -	.destroy = psb_intel_lvds_enc_destroy,
> -};
> -
> -
> -
>  /**
>   * psb_intel_lvds_init - setup LVDS connectors on this device
>   * @dev: drm device
> @@ -683,9 +673,7 @@ void psb_intel_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> index 9e8224456ea2..f7e121f4c609 100644
> --- a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> +++ b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> @@ -765,12 +765,7 @@ static const struct drm_encoder_helper_funcs tc35876x_encoder_helper_funcs = {
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -static const struct drm_encoder_funcs tc35876x_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tc35876x_funcs = {
> -	.encoder_funcs = &tc35876x_encoder_funcs,
>  	.encoder_helper_funcs = &tc35876x_encoder_helper_funcs,
>  	.get_config_mode = tc35876x_get_config_mode,
>  	.get_panel_info = tc35876x_get_panel_info,
> -- 
> 2.25.1

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: hamohammed.sa@gmail.com, alexandre.belloni@bootlin.com,
	airlied@linux.ie, linux@armlinux.org.uk, paul@crapouillou.net,
	thierry.reding@gmail.com, krzk@kernel.org,
	sebastian.reichel@collabora.com,
	linux-samsung-soc@vger.kernel.org, jy0922.shim@samsung.com,
	hjc@rock-chips.com, tomi.valkeinen@ti.com, abrodkin@synopsys.com,
	kong.kongxinwei@hisilicon.com, jonathanh@nvidia.com,
	xinliang.liu@linaro.org, ludovic.desroches@microchip.com,
	kgene@kernel.org, linux-imx@nxp.com,
	linux-rockchip@lists.infradead.org,
	virtualization@lists.linux-foundation.org,
	linux-tegra@vger.kernel.org, puck.chen@hisilicon.com,
	s.hauer@pengutronix.de, alison.wang@nxp.com, jsarha@ti.com,
	matthias.bgg@gmail.com, wens@csie.org, kernel@pengutronix.de,
	jernej.skrabec@siol.net, kraxel@redhat.com,
	rodrigosiqueiramelo@gmail.com, bbrezillon@kernel.org,
	jingoohan1@gmail.com, dri-devel@lists.freedesktop.org,
	sw0312.kim@samsung.com, nicolas.ferre@microchip.com,
	kyungmin.park@samsung.com,
	kieran.bingham+renesas@ideasonboard.com, zourongrong@gmail.com,
	linux-mediatek@lists.infradead.org, shawnguo@kernel.org,
	laurent.pinchart@ideasonboard.com
Subject: Re: [PATCH 05/22] drm/gma500: Use simple encoder
Date: Fri, 6 Mar 2020 22:35:19 +0100	[thread overview]
Message-ID: <20200306213519.GD17369@ravnborg.org> (raw)
In-Reply-To: <20200305155950.2705-6-tzimmermann@suse.de>

Hi Thomas.

On Thu, Mar 05, 2020 at 04:59:33PM +0100, Thomas Zimmermann wrote:
> The gma500 driver uses empty implementations for some of its encoders.
> Replace the code with the generic simple encoder.
This parts looks good.


> As a side effect, the
> patch also removes an indirection in the encoder setup for Medfield.

I failed to see where this was done. Maybe too late for me to review
patches, so I will stop now.


No matter - patch is:
Acked-by: Sam Ravnborg <sam@ravnborg.org>

> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>  drivers/gpu/drm/gma500/cdv_intel_crt.c     | 14 +++-----------
>  drivers/gpu/drm/gma500/cdv_intel_dp.c      | 16 +++-------------
>  drivers/gpu/drm/gma500/cdv_intel_hdmi.c    |  4 ++--
>  drivers/gpu/drm/gma500/cdv_intel_lvds.c    | 17 +++--------------
>  drivers/gpu/drm/gma500/mdfld_dsi_dpi.c     |  7 +++----
>  drivers/gpu/drm/gma500/mdfld_output.h      |  1 -
>  drivers/gpu/drm/gma500/mdfld_tmd_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/mdfld_tpo_vid.c     |  6 ------
>  drivers/gpu/drm/gma500/oaktrail_hdmi.c     | 14 ++------------
>  drivers/gpu/drm/gma500/oaktrail_lvds.c     |  5 +++--
>  drivers/gpu/drm/gma500/psb_intel_drv.h     |  1 -
>  drivers/gpu/drm/gma500/psb_intel_lvds.c    | 18 +++---------------
>  drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c |  5 -----
>  13 files changed, 22 insertions(+), 92 deletions(-)
> 
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> index 29c36d63b20e..88535f5aacc5 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_crt.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> @@ -28,6 +28,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -237,15 +239,6 @@ static const struct drm_connector_helper_funcs
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static void cdv_intel_crt_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_crt_enc_funcs = {
> -	.destroy = cdv_intel_crt_enc_destroy,
> -};
> -
>  void cdv_intel_crt_init(struct drm_device *dev,
>  			struct psb_intel_mode_device *mode_dev)
>  {
> @@ -271,8 +264,7 @@ void cdv_intel_crt_init(struct drm_device *dev,
>  		&cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA);
>  
>  	encoder = &gma_encoder->base;
> -	drm_encoder_init(dev, encoder,
> -		&cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_DAC);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index 5772b2dce0d6..13947ec06dbb 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_dp_helper.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "gma_display.h"
>  #include "psb_drv.h"
> @@ -1908,11 +1909,6 @@ cdv_intel_dp_destroy(struct drm_connector *connector)
>  	kfree(connector);
>  }
>  
> -static void cdv_intel_dp_encoder_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
>  static const struct drm_encoder_helper_funcs cdv_intel_dp_helper_funcs = {
>  	.dpms = cdv_intel_dp_dpms,
>  	.mode_fixup = cdv_intel_dp_mode_fixup,
> @@ -1935,11 +1931,6 @@ static const struct drm_connector_helper_funcs cdv_intel_dp_connector_helper_fun
>  	.best_encoder = gma_best_encoder,
>  };
>  
> -static const struct drm_encoder_funcs cdv_intel_dp_enc_funcs = {
> -	.destroy = cdv_intel_dp_encoder_destroy,
> -};
> -
> -
>  static void cdv_intel_dp_add_properties(struct drm_connector *connector)
>  {
>  	cdv_intel_attach_force_audio_property(connector);
> @@ -2016,8 +2007,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  	encoder = &gma_encoder->base;
>  
>  	drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type);
> -	drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> @@ -2120,7 +2110,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
>  		if (ret == 0) {
>  			/* if this fails, presume the device is a ghost */
>  			DRM_INFO("failed to retrieve link info, disabling eDP\n");
> -			cdv_intel_dp_encoder_destroy(encoder);
> +			drm_encoder_cleanup(encoder);
>  			cdv_intel_dp_destroy(connector);
>  			goto err_priv;
>  		} else {
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> index 1711a41acc16..0d12c6ffbc40 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> @@ -32,6 +32,7 @@
>  #include <drm/drm.h>
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_edid.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "cdv_device.h"
>  #include "psb_drv.h"
> @@ -311,8 +312,7 @@ void cdv_hdmi_init(struct drm_device *dev,
>  			   &cdv_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_HDMI;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> index ea0a5d9a0acc..18de10e9ff9a 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> @@ -12,6 +12,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "cdv_device.h"
>  #include "intel_bios.h"
>  #include "power.h"
> @@ -499,16 +501,6 @@ static const struct drm_connector_funcs cdv_intel_lvds_connector_funcs = {
>  	.destroy = cdv_intel_lvds_destroy,
>  };
>  
> -
> -static void cdv_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs cdv_intel_lvds_enc_funcs = {
> -	.destroy = cdv_intel_lvds_enc_destroy,
> -};
> -
>  /*
>   * Enumerate the child dev array parsed from VBT to check whether
>   * the LVDS is present.
> @@ -616,10 +608,7 @@ void cdv_intel_lvds_init(struct drm_device *dev,
>  			   &cdv_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &cdv_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> -
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> index d4c65f268922..aa5aa293ddb6 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c
> @@ -27,6 +27,8 @@
>  
>  #include <linux/delay.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "mdfld_dsi_dpi.h"
>  #include "mdfld_dsi_pkg_sender.h"
>  #include "mdfld_output.h"
> @@ -993,10 +995,7 @@ struct mdfld_dsi_encoder *mdfld_dsi_dpi_init(struct drm_device *dev,
>  	/*create drm encoder object*/
>  	connector = &dsi_connector->base.base;
>  	encoder = &dpi_output->base.base.base;
> -	drm_encoder_init(dev,
> -			encoder,
> -			p_funcs->encoder_funcs,
> -			DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  	drm_encoder_helper_add(encoder,
>  				p_funcs->encoder_helper_funcs);
>  
> diff --git a/drivers/gpu/drm/gma500/mdfld_output.h b/drivers/gpu/drm/gma500/mdfld_output.h
> index ab2b27c0f037..17a944d70add 100644
> --- a/drivers/gpu/drm/gma500/mdfld_output.h
> +++ b/drivers/gpu/drm/gma500/mdfld_output.h
> @@ -51,7 +51,6 @@ struct panel_info {
>  };
>  
>  struct panel_funcs {
> -	const struct drm_encoder_funcs *encoder_funcs;
>  	const struct drm_encoder_helper_funcs *encoder_helper_funcs;
>  	struct drm_display_mode * (*get_config_mode)(struct drm_device *);
>  	int (*get_panel_info)(struct drm_device *, int, struct panel_info *);
> diff --git a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> index 49c92debb7b2..25e897b98f86 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tmd_vid.c
> @@ -188,13 +188,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tmd_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tmd_vid_get_config_mode,
>  	.get_panel_info = tmd_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> index a9420bf9a419..11845978fb0a 100644
> --- a/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> +++ b/drivers/gpu/drm/gma500/mdfld_tpo_vid.c
> @@ -76,13 +76,7 @@ static const struct drm_encoder_helper_funcs
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -/*TPO DPI encoder funcs*/
> -static const struct drm_encoder_funcs mdfld_tpo_dpi_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tpo_vid_funcs = {
> -	.encoder_funcs = &mdfld_tpo_dpi_encoder_funcs,
>  	.encoder_helper_funcs = &mdfld_tpo_dpi_encoder_helper_funcs,
>  	.get_config_mode = &tpo_vid_get_config_mode,
>  	.get_panel_info = tpo_vid_get_panel_info,
> diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi.c b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> index f4370232767d..b25086f252ae 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> @@ -27,6 +27,7 @@
>  #include <linux/delay.h>
>  
>  #include <drm/drm.h>
> +#include <drm/drm_simple_kms_helper.h>
>  
>  #include "psb_drv.h"
>  #include "psb_intel_drv.h"
> @@ -620,15 +621,6 @@ static const struct drm_connector_funcs oaktrail_hdmi_connector_funcs = {
>  	.destroy = oaktrail_hdmi_destroy,
>  };
>  
> -static void oaktrail_hdmi_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -static const struct drm_encoder_funcs oaktrail_hdmi_enc_funcs = {
> -	.destroy = oaktrail_hdmi_enc_destroy,
> -};
> -
>  void oaktrail_hdmi_init(struct drm_device *dev,
>  					struct psb_intel_mode_device *mode_dev)
>  {
> @@ -651,9 +643,7 @@ void oaktrail_hdmi_init(struct drm_device *dev,
>  			   &oaktrail_hdmi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DVID);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &oaktrail_hdmi_enc_funcs,
> -			 DRM_MODE_ENCODER_TMDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_TMDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  
> diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> index 582e09597500..2828360153d1 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c
> @@ -13,6 +13,8 @@
>  
>  #include <asm/intel-mid.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -311,8 +313,7 @@ void oaktrail_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
> index 16c6136f778b..fb601983cef0 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_drv.h
> +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
> @@ -252,7 +252,6 @@ extern int psb_intel_lvds_set_property(struct drm_connector *connector,
>  					struct drm_property *property,
>  					uint64_t value);
>  extern void psb_intel_lvds_destroy(struct drm_connector *connector);
> -extern const struct drm_encoder_funcs psb_intel_lvds_enc_funcs;
>  
>  /* intel_gmbus.c */
>  extern void gma_intel_i2c_reset(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> index afaebab7bc17..063c66bb946d 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> @@ -11,6 +11,8 @@
>  #include <linux/i2c.h>
>  #include <linux/pm_runtime.h>
>  
> +#include <drm/drm_simple_kms_helper.h>
> +
>  #include "intel_bios.h"
>  #include "power.h"
>  #include "psb_drv.h"
> @@ -621,18 +623,6 @@ const struct drm_connector_funcs psb_intel_lvds_connector_funcs = {
>  	.destroy = psb_intel_lvds_destroy,
>  };
>  
> -
> -static void psb_intel_lvds_enc_destroy(struct drm_encoder *encoder)
> -{
> -	drm_encoder_cleanup(encoder);
> -}
> -
> -const struct drm_encoder_funcs psb_intel_lvds_enc_funcs = {
> -	.destroy = psb_intel_lvds_enc_destroy,
> -};
> -
> -
> -
>  /**
>   * psb_intel_lvds_init - setup LVDS connectors on this device
>   * @dev: drm device
> @@ -683,9 +673,7 @@ void psb_intel_lvds_init(struct drm_device *dev,
>  			   &psb_intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, encoder,
> -			 &psb_intel_lvds_enc_funcs,
> -			 DRM_MODE_ENCODER_LVDS, NULL);
> +	drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
>  
>  	gma_connector_attach_encoder(gma_connector, gma_encoder);
>  	gma_encoder->type = INTEL_OUTPUT_LVDS;
> diff --git a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> index 9e8224456ea2..f7e121f4c609 100644
> --- a/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> +++ b/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c
> @@ -765,12 +765,7 @@ static const struct drm_encoder_helper_funcs tc35876x_encoder_helper_funcs = {
>  	.commit = mdfld_dsi_dpi_commit,
>  };
>  
> -static const struct drm_encoder_funcs tc35876x_encoder_funcs = {
> -	.destroy = drm_encoder_cleanup,
> -};
> -
>  const struct panel_funcs mdfld_tc35876x_funcs = {
> -	.encoder_funcs = &tc35876x_encoder_funcs,
>  	.encoder_helper_funcs = &tc35876x_encoder_helper_funcs,
>  	.get_config_mode = tc35876x_get_config_mode,
>  	.get_panel_info = tc35876x_get_panel_info,
> -- 
> 2.25.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2020-03-06 21:35 UTC|newest]

Thread overview: 284+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-05 15:59 [PATCH 00/22] drm: Convert drivers to drm_simple_encoder_init() Thomas Zimmermann
2020-03-05 15:59 ` Thomas Zimmermann
2020-03-05 15:59 ` Thomas Zimmermann
2020-03-05 15:59 ` Thomas Zimmermann
2020-03-05 15:59 ` [PATCH 03/22] drm/exynos: Use simple encoder Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-4-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  0:55     ` kbuild test robot
2020-03-06  0:55       ` kbuild test robot
2020-03-06  0:55       ` kbuild test robot
2020-03-06  0:55       ` kbuild test robot
2020-03-06  0:55       ` kbuild test robot
2020-03-06  5:14     ` kbuild test robot
2020-03-06  5:14       ` kbuild test robot
2020-03-06  5:14       ` kbuild test robot
2020-03-06  5:14       ` kbuild test robot
2020-03-06  5:14       ` kbuild test robot
2020-03-06 21:28     ` Sam Ravnborg
2020-03-06 21:28       ` Sam Ravnborg
2020-03-06 21:28       ` Sam Ravnborg
2020-03-06 21:28       ` Sam Ravnborg
     [not found] ` <20200305155950.2705-1-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-05 15:59   ` [PATCH 01/22] drm/arc: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-2-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-05 23:48       ` kbuild test robot
2020-03-05 23:48         ` kbuild test robot
2020-03-05 23:48         ` kbuild test robot
2020-03-05 23:48         ` kbuild test robot
2020-03-05 23:48         ` kbuild test robot
2020-03-06 21:18       ` Sam Ravnborg
2020-03-06 21:18         ` Sam Ravnborg
2020-03-06 21:18         ` Sam Ravnborg
2020-03-06 21:18         ` Sam Ravnborg
     [not found]         ` <20200306211802.GA17369-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-09  7:55           ` Thomas Zimmermann
2020-03-09  7:55             ` Thomas Zimmermann
2020-03-09  7:55             ` Thomas Zimmermann
2020-03-09  7:55             ` Thomas Zimmermann
2020-03-05 15:59   ` [PATCH 02/22] drm/atmel-hlcdc: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-3-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  0:32       ` kbuild test robot
2020-03-06  0:32         ` kbuild test robot
2020-03-06  0:32         ` kbuild test robot
2020-03-06  0:32         ` kbuild test robot
2020-03-06  0:32         ` kbuild test robot
2020-03-06 21:26       ` Sam Ravnborg
2020-03-06 21:26         ` Sam Ravnborg
2020-03-06 21:26         ` Sam Ravnborg
2020-03-06 21:26         ` Sam Ravnborg
2020-03-05 15:59   ` [PATCH 04/22] drm/fsl-dcu: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-06  0:02     ` kbuild test robot
2020-03-06  0:02       ` kbuild test robot
2020-03-06  0:02       ` kbuild test robot
2020-03-06  0:02       ` kbuild test robot
2020-03-06  0:02       ` kbuild test robot
2020-03-05 15:59   ` [PATCH 05/22] drm/gma500: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-6-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  0:44       ` kbuild test robot
2020-03-06  0:44         ` kbuild test robot
2020-03-06  0:44         ` kbuild test robot
2020-03-06  0:44         ` kbuild test robot
2020-03-06 21:35       ` Sam Ravnborg [this message]
2020-03-06 21:35         ` Sam Ravnborg
2020-03-06 21:35         ` Sam Ravnborg
2020-03-06 21:35         ` Sam Ravnborg
     [not found]         ` <20200306213519.GD17369-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-09  7:32           ` Thomas Zimmermann
2020-03-09  7:32             ` Thomas Zimmermann
2020-03-09  7:32             ` Thomas Zimmermann
2020-03-09  7:32             ` Thomas Zimmermann
2020-03-05 15:59   ` [PATCH 06/22] drm/hisilicon/kirin: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-7-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  6:16       ` kbuild test robot
2020-03-06  6:16         ` kbuild test robot
2020-03-06  6:16         ` kbuild test robot
2020-03-06  6:16         ` kbuild test robot
2020-03-06  6:16         ` kbuild test robot
2020-03-05 15:59   ` [PATCH 07/22] drm/i2c/tda998x: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-8-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  7:30       ` kbuild test robot
2020-03-06  7:30         ` kbuild test robot
2020-03-06  7:30         ` kbuild test robot
2020-03-06  7:30         ` kbuild test robot
2020-03-06  7:30         ` kbuild test robot
2020-03-07 15:40       ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-05 15:59   ` [PATCH 09/22] drm/ingenic: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59   ` [PATCH 12/22] drm/rockchip: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-13-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-05 23:59       ` kbuild test robot
2020-03-05 23:59         ` kbuild test robot
2020-03-05 23:59         ` kbuild test robot
2020-03-05 23:59         ` kbuild test robot
2020-03-05 23:59         ` kbuild test robot
2020-03-06 10:05       ` kbuild test robot
2020-03-06 10:05         ` kbuild test robot
2020-03-06 10:05         ` kbuild test robot
2020-03-06 10:05         ` kbuild test robot
2020-03-06 10:05         ` kbuild test robot
2020-03-05 15:59   ` [PATCH 14/22] drm/sun4i: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-15-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06 11:12       ` kbuild test robot
2020-03-06 11:12         ` kbuild test robot
2020-03-06 11:12         ` kbuild test robot
2020-03-06 11:12         ` kbuild test robot
2020-03-06 11:12         ` kbuild test robot
2020-03-05 15:59   ` [PATCH 19/22] drm/virtgpu: " Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
2020-03-05 15:59     ` Thomas Zimmermann
     [not found]     ` <20200305155950.2705-20-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-07 15:40       ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-07 15:40         ` kbuild test robot
2020-03-06 14:22   ` [PATCH 00/22] drm: Convert drivers to drm_simple_encoder_init() Laurent Pinchart
2020-03-06 14:22     ` Laurent Pinchart
2020-03-06 14:22     ` Laurent Pinchart
2020-03-06 14:22     ` Laurent Pinchart
     [not found]     ` <20200306142212.GF4878-N3hz7ZxfLydczECFQUw77jytWr6r+dGw0E9HWUfgJXw@public.gmane.org>
2020-03-06 15:18       ` Thomas Zimmermann
2020-03-06 15:18         ` Thomas Zimmermann
2020-03-06 15:18         ` Thomas Zimmermann
2020-03-06 15:18         ` Thomas Zimmermann
     [not found]         ` <bccc380a-8925-81a7-34fe-5a1744a766d0-l3A5Bk7waGM@public.gmane.org>
2020-03-07 20:08           ` Sam Ravnborg
2020-03-07 20:08             ` Sam Ravnborg
2020-03-07 20:08             ` Sam Ravnborg
2020-03-07 20:08             ` Sam Ravnborg
     [not found]             ` <20200307200813.GA15363-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-07 20:34               ` Laurent Pinchart
2020-03-07 20:34                 ` Laurent Pinchart
2020-03-07 20:34                 ` Laurent Pinchart
2020-03-07 20:34                 ` Laurent Pinchart
     [not found]                 ` <20200307203445.GC5021-N3hz7ZxfLydczECFQUw77jytWr6r+dGw0E9HWUfgJXw@public.gmane.org>
2020-03-07 20:51                   ` Sam Ravnborg
2020-03-07 20:51                     ` Sam Ravnborg
2020-03-07 20:51                     ` Sam Ravnborg
2020-03-07 20:51                     ` Sam Ravnborg
2020-03-09  7:24               ` Thomas Zimmermann
2020-03-09  7:24                 ` Thomas Zimmermann
2020-03-09  7:24                 ` Thomas Zimmermann
2020-03-09  7:24                 ` Thomas Zimmermann
2020-03-05 15:59 ` [PATCH 08/22] drm/imx: Use simple encoder Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59 ` [PATCH 10/22] drm/mediatek: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-11-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-07 21:26     ` Matthias Brugger
2020-03-07 21:26       ` Matthias Brugger
2020-03-07 21:26       ` Matthias Brugger
2020-03-07 21:26       ` Matthias Brugger
2020-03-10  2:37     ` CK Hu
2020-03-10  2:37       ` CK Hu
2020-03-10  2:37       ` CK Hu
2020-03-10  2:37       ` CK Hu
2020-03-05 15:59 ` [PATCH 11/22] drm/rcar-du: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-12-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  8:43     ` kbuild test robot
2020-03-06  8:43       ` kbuild test robot
2020-03-06  8:43       ` kbuild test robot
2020-03-06  8:43       ` kbuild test robot
2020-03-06  8:43       ` kbuild test robot
2020-03-05 15:59 ` [PATCH 13/22] drm/shmobile: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59 ` [PATCH 15/22] drm/tegra: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-06 12:38   ` kbuild test robot
2020-03-06 12:38     ` kbuild test robot
2020-03-06 12:38     ` kbuild test robot
2020-03-06 12:38     ` kbuild test robot
2020-03-06 12:38     ` kbuild test robot
2020-03-05 15:59 ` [PATCH 16/22] drm/tidss: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-17-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06 16:02     ` Jyri Sarha
2020-03-06 16:02       ` Jyri Sarha
2020-03-06 16:02       ` Jyri Sarha
2020-03-06 16:02       ` Jyri Sarha
2020-03-05 15:59 ` [PATCH 17/22] drm/tilcdc: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-18-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06 16:03     ` Jyri Sarha
2020-03-06 16:03       ` Jyri Sarha
2020-03-06 16:03       ` Jyri Sarha
2020-03-06 16:03       ` Jyri Sarha
2020-03-05 15:59 ` [PATCH 18/22] drm/vc4: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-19-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-05 17:03     ` Eric Anholt
2020-03-05 17:03       ` Eric Anholt
2020-03-05 17:03       ` Eric Anholt
2020-03-05 17:03       ` Eric Anholt
2020-03-06 13:54     ` kbuild test robot
2020-03-06 13:54       ` kbuild test robot
2020-03-06 13:54       ` kbuild test robot
2020-03-06 13:54       ` kbuild test robot
2020-03-06 13:54       ` kbuild test robot
2020-03-05 15:59 ` [PATCH 20/22] drm/vkms: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-21-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  0:24     ` kbuild test robot
2020-03-06  0:24       ` kbuild test robot
2020-03-06  0:24       ` kbuild test robot
2020-03-06  0:24       ` kbuild test robot
2020-03-06  0:24       ` kbuild test robot
2020-03-07 13:59     ` kbuild test robot
2020-03-07 13:59       ` kbuild test robot
2020-03-07 13:59       ` kbuild test robot
2020-03-07 13:59       ` kbuild test robot
2020-03-07 13:59       ` kbuild test robot
2020-03-24 11:59     ` Rodrigo Siqueira
2020-03-24 11:59       ` Rodrigo Siqueira
2020-03-24 11:59       ` Rodrigo Siqueira
2020-03-24 11:59       ` Rodrigo Siqueira
2020-03-31  9:20       ` Thomas Zimmermann
2020-03-31  9:20         ` Thomas Zimmermann
2020-03-31  9:20         ` Thomas Zimmermann
2020-03-31  9:20         ` Thomas Zimmermann
     [not found]       ` <20200324115905.dp5jqzbmvhbmk2rn-TAvD023jEQEN+BqQ9rBEUg@public.gmane.org>
2020-04-01  7:17         ` Thomas Zimmermann
2020-04-01  7:17           ` Thomas Zimmermann
2020-04-01  7:17           ` Thomas Zimmermann
2020-04-01  7:17           ` Thomas Zimmermann
2020-03-05 15:59 ` [PATCH 21/22] drm/writeback: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
     [not found]   ` <20200305155950.2705-22-tzimmermann-l3A5Bk7waGM@public.gmane.org>
2020-03-06  0:54     ` kbuild test robot
2020-03-06  0:54       ` kbuild test robot
2020-03-06  0:54       ` kbuild test robot
2020-03-06  0:54       ` kbuild test robot
2020-03-06  0:54       ` kbuild test robot
2020-03-06  1:17     ` kbuild test robot
2020-03-06  1:17       ` kbuild test robot
2020-03-06  1:17       ` kbuild test robot
2020-03-06  1:17       ` kbuild test robot
2020-03-06  1:17       ` kbuild test robot
2020-03-06 14:54   ` kbuild test robot
2020-03-06 14:54     ` kbuild test robot
2020-03-06 14:54     ` kbuild test robot
2020-03-06 14:54     ` kbuild test robot
2020-03-06 14:54     ` kbuild test robot
2020-03-05 15:59 ` [PATCH 22/22] drm/zte: " Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-05 15:59   ` Thomas Zimmermann
2020-03-06 10:56 ` [PATCH 00/22] drm: Convert drivers to drm_simple_encoder_init() Daniel Vetter
2020-03-06 10:56   ` Daniel Vetter
2020-03-06 10:56   ` Daniel Vetter
2020-03-06 10:56   ` Daniel Vetter
     [not found]   ` <20200306105659.GY2363188-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2020-03-06 15:10     ` Thomas Zimmermann
2020-03-06 15:10       ` Thomas Zimmermann
2020-03-06 15:10       ` Thomas Zimmermann
2020-03-06 15:10       ` Thomas Zimmermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200306213519.GD17369@ravnborg.org \
    --to=sam-uyr5n9q2vtjg9huczpvpmw@public.gmane.org \
    --cc=abrodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org \
    --cc=airlied-cv59FeDIM0c@public.gmane.org \
    --cc=alexandre.belloni-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org \
    --cc=alison.wang-3arQi8VN3Tc@public.gmane.org \
    --cc=bbrezillon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=ck.hu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=daniel-/w4YWyX8dFk@public.gmane.org \
    --cc=festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=jingoohan1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=jy0922.shim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=kong.kongxinwei-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org \
    --cc=krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
    --cc=linux-imx-3arQi8VN3Tc@public.gmane.org \
    --cc=ludovic.desroches-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org \
    --cc=maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=mripard-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=nicolas.ferre-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org \
    --cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=paul-icTtO2rgO2OTuSrc4Mpeew@public.gmane.org \
    --cc=puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org \
    --cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=stefan-XLVq0VzYD2Y@public.gmane.org \
    --cc=sw0312.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=tzimmermann-l3A5Bk7waGM@public.gmane.org \
    --cc=xinliang.liu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=zourongrong-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.