All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Sebastian Reichel <sre@kernel.org>,
	Nikhil Devshatwar <nikhil.nd@ti.com>,
	linux-omap@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Sekhar Nori <nsekhar@ti.com>, Tony Lindgren <tony@atomide.com>,
	"H . Nikolaus Schaller" <hns@goldelico.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>
Subject: Re: [PATCH v3 42/56] drm/omap: remove legacy DSS device operations
Date: Mon, 9 Nov 2020 13:01:51 +0200	[thread overview]
Message-ID: <20201109110151.GM6029@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20201105120333.947408-43-tomi.valkeinen@ti.com>

Hi Tomi and Sebastian,

Thank you for the patch.

On Thu, Nov 05, 2020 at 02:03:19PM +0200, Tomi Valkeinen wrote:
> From: Sebastian Reichel <sebastian.reichel@collabora.com>
> 
> All DSS devices have been converted to bridge API, so
> the device operations are always NULL. This removes
> the device ops function pointers and all code using it.
> 
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
>  drivers/gpu/drm/omapdrm/dss/base.c       | 66 ------------------------
>  drivers/gpu/drm/omapdrm/dss/dss.c        |  8 ---
>  drivers/gpu/drm/omapdrm/dss/omapdss.h    | 34 ------------
>  drivers/gpu/drm/omapdrm/omap_connector.c | 29 -----------
>  drivers/gpu/drm/omapdrm/omap_encoder.c   | 40 --------------
>  5 files changed, 177 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c
> index 8e08c49b4f97..c2791305c332 100644
> --- a/drivers/gpu/drm/omapdrm/dss/base.c
> +++ b/drivers/gpu/drm/omapdrm/dss/base.c
> @@ -161,8 +161,6 @@ int omapdss_device_connect(struct dss_device *dss,
>  			   struct omap_dss_device *src,
>  			   struct omap_dss_device *dst)
>  {
> -	int ret;
> -
>  	dev_dbg(&dss->pdev->dev, "connect(%s, %s)\n",
>  		src ? dev_name(src->dev) : "NULL",
>  		dst ? dev_name(dst->dev) : "NULL");
> @@ -181,14 +179,6 @@ int omapdss_device_connect(struct dss_device *dss,
>  
>  	dst->dss = dss;
>  
> -	if (dst->ops && dst->ops->connect) {
> -		ret = dst->ops->connect(src, dst);
> -		if (ret < 0) {
> -			dst->dss = NULL;
> -			return ret;
> -		}
> -	}
> -
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(omapdss_device_connect);
> @@ -212,66 +202,10 @@ void omapdss_device_disconnect(struct omap_dss_device *src,
>  		return;
>  	}
>  
> -	WARN_ON(dst->state != OMAP_DSS_DISPLAY_DISABLED);
> -
> -	if (dst->ops && dst->ops->disconnect)
> -		dst->ops->disconnect(src, dst);
>  	dst->dss = NULL;
>  }
>  EXPORT_SYMBOL_GPL(omapdss_device_disconnect);
>  
> -void omapdss_device_pre_enable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	omapdss_device_pre_enable(dssdev->next);
> -
> -	if (dssdev->ops && dssdev->ops->pre_enable)
> -		dssdev->ops->pre_enable(dssdev);
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_pre_enable);
> -
> -void omapdss_device_enable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	if (dssdev->ops && dssdev->ops->enable)
> -		dssdev->ops->enable(dssdev);
> -
> -	omapdss_device_enable(dssdev->next);
> -
> -	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_enable);
> -
> -void omapdss_device_disable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	omapdss_device_disable(dssdev->next);
> -
> -	if (dssdev->ops && dssdev->ops->disable)
> -		dssdev->ops->disable(dssdev);
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_disable);
> -
> -void omapdss_device_post_disable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	if (dssdev->ops && dssdev->ops->post_disable)
> -		dssdev->ops->post_disable(dssdev);
> -
> -	omapdss_device_post_disable(dssdev->next);
> -
> -	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_post_disable);
> -
>  /* -----------------------------------------------------------------------------
>   * Components Handling
>   */
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss.c b/drivers/gpu/drm/omapdrm/dss/dss.c
> index 6e86f4e67a2c..6a160138bf88 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dss.c
> @@ -1565,15 +1565,7 @@ static int dss_remove(struct platform_device *pdev)
>  
>  static void dss_shutdown(struct platform_device *pdev)
>  {
> -	struct omap_dss_device *dssdev = NULL;
> -
>  	DSSDBG("shutdown\n");
> -
> -	for_each_dss_output(dssdev) {
> -		if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE &&
> -		    dssdev->ops && dssdev->ops->disable)
> -			dssdev->ops->disable(dssdev);
> -	}
>  }

Should we call drm_atomic_helper_shutdown() here (in another patch) ?

>  
>  static int dss_runtime_suspend(struct device *dev)
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> index 42d1ec3aaf0c..5d6edec5a427 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -123,11 +123,6 @@ enum omap_dss_dsi_mode {
>  	OMAP_DSS_DSI_VIDEO_MODE,
>  };
>  
> -enum omap_dss_display_state {
> -	OMAP_DSS_DISPLAY_DISABLED = 0,
> -	OMAP_DSS_DISPLAY_ACTIVE,
> -};
> -
>  enum omap_dss_rotation_type {
>  	OMAP_DSS_ROT_NONE	= 0,
>  	OMAP_DSS_ROT_TILER	= 1 << 0,
> @@ -281,24 +276,6 @@ struct omapdss_dsi_ops {
>  };
>  
>  struct omap_dss_device_ops {
> -	int (*connect)(struct omap_dss_device *dssdev,
> -			struct omap_dss_device *dst);
> -	void (*disconnect)(struct omap_dss_device *dssdev,
> -			struct omap_dss_device *dst);
> -
> -	void (*pre_enable)(struct omap_dss_device *dssdev);
> -	void (*enable)(struct omap_dss_device *dssdev);
> -	void (*disable)(struct omap_dss_device *dssdev);
> -	void (*post_disable)(struct omap_dss_device *dssdev);
> -
> -	int (*check_timings)(struct omap_dss_device *dssdev,
> -			     struct drm_display_mode *mode);
> -	void (*set_timings)(struct omap_dss_device *dssdev,
> -			    const struct drm_display_mode *mode);
> -
> -	int (*get_modes)(struct omap_dss_device *dssdev,
> -			 struct drm_connector *connector);
> -
>  	const struct omapdss_dsi_ops dsi;
>  };
>  
> @@ -342,8 +319,6 @@ struct omap_dss_device {
>  	unsigned long ops_flags;
>  	u32 bus_flags;
>  
> -	enum omap_dss_display_state state;
> -
>  	/* OMAP DSS output specific fields */
>  
>  	/* DISPC channel for this output */
> @@ -374,10 +349,6 @@ int omapdss_device_connect(struct dss_device *dss,
>  			   struct omap_dss_device *dst);
>  void omapdss_device_disconnect(struct omap_dss_device *src,
>  			       struct omap_dss_device *dst);
> -void omapdss_device_pre_enable(struct omap_dss_device *dssdev);
> -void omapdss_device_enable(struct omap_dss_device *dssdev);
> -void omapdss_device_disable(struct omap_dss_device *dssdev);
> -void omapdss_device_post_disable(struct omap_dss_device *dssdev);
>  
>  int omap_dss_get_num_overlay_managers(void);
>  
> @@ -397,11 +368,6 @@ int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
>  int omapdss_compat_init(void);
>  void omapdss_compat_uninit(void);
>  
> -static inline bool omapdss_device_is_enabled(struct omap_dss_device *dssdev)
> -{
> -	return dssdev->state == OMAP_DSS_DISPLAY_ACTIVE;
> -}
> -
>  enum dss_writeback_channel {
>  	DSS_WB_LCD1_MGR =	0,
>  	DSS_WB_LCD2_MGR =	1,
> diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
> index de95dc1b861c..c6d9b4268841 100644
> --- a/drivers/gpu/drm/omapdrm/omap_connector.c
> +++ b/drivers/gpu/drm/omapdrm/omap_connector.c
> @@ -43,24 +43,8 @@ static void omap_connector_destroy(struct drm_connector *connector)
>  
>  static int omap_connector_get_modes(struct drm_connector *connector)
>  {
> -	struct omap_connector *omap_connector = to_omap_connector(connector);
> -	struct omap_dss_device *dssdev = NULL;
> -	struct omap_dss_device *d;
> -
>  	DBG("%s", connector->name);
>  
> -	/*
> -	 * If the display pipeline reports modes (e.g. with a fixed resolution
> -	 * panel or an analog TV output), query it.
> -	 */
> -	for (d = omap_connector->output; d; d = d->next) {
> -		if (d->ops_flags & OMAP_DSS_DEVICE_OP_MODES)
> -			dssdev = d;
> -	}
> -
> -	if (dssdev)
> -		return dssdev->ops->get_modes(dssdev, connector);
> -
>  	/* We can't retrieve modes. The KMS core will add the default modes. */
>  	return 0;
>  }
> @@ -69,19 +53,6 @@ enum drm_mode_status omap_connector_mode_fixup(struct omap_dss_device *dssdev,
>  					const struct drm_display_mode *mode,
>  					struct drm_display_mode *adjusted_mode)
>  {
> -	int ret;
> -
> -	drm_mode_copy(adjusted_mode, mode);
> -
> -	for (; dssdev; dssdev = dssdev->next) {
> -		if (!dssdev->ops || !dssdev->ops->check_timings)
> -			continue;
> -
> -		ret = dssdev->ops->check_timings(dssdev, adjusted_mode);
> -		if (ret)
> -			return MODE_BAD;
> -	}
> -
>  	return MODE_OK;
>  }
>  
> diff --git a/drivers/gpu/drm/omapdrm/omap_encoder.c b/drivers/gpu/drm/omapdrm/omap_encoder.c
> index 10abe4d01b0b..abb3821de8b8 100644
> --- a/drivers/gpu/drm/omapdrm/omap_encoder.c
> +++ b/drivers/gpu/drm/omapdrm/omap_encoder.c
> @@ -115,11 +115,6 @@ static void omap_encoder_mode_set(struct drm_encoder *encoder,
>  
>  	/* Set timings for all devices in the display pipeline. */
>  	dss_mgr_set_timings(output, &vm);
> -
> -	for (dssdev = output; dssdev; dssdev = dssdev->next) {
> -		if (dssdev->ops && dssdev->ops->set_timings)
> -			dssdev->ops->set_timings(dssdev, adjusted_mode);
> -	}
>  }
>  
>  static void omap_encoder_disable(struct drm_encoder *encoder)
> @@ -129,25 +124,6 @@ static void omap_encoder_disable(struct drm_encoder *encoder)
>  	struct drm_device *dev = encoder->dev;
>  
>  	dev_dbg(dev->dev, "disable(%s)\n", dssdev->name);
> -
> -	/*
> -	 * Disable the chain of external devices, starting at the one at the
> -	 * internal encoder's output.
> -	 */
> -	omapdss_device_disable(dssdev->next);
> -
> -	/*
> -	 * Disable the internal encoder. This will disable the DSS output.
> -	 */
> -	if (dssdev->ops && dssdev->ops->disable)
> -		dssdev->ops->disable(dssdev);
> -	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
> -
> -	/*
> -	 * Perform the post-disable operations on the chain of external devices
> -	 * to complete the display pipeline disable.
> -	 */
> -	omapdss_device_post_disable(dssdev->next);
>  }
>  
>  static void omap_encoder_enable(struct drm_encoder *encoder)
> @@ -157,22 +133,6 @@ static void omap_encoder_enable(struct drm_encoder *encoder)
>  	struct drm_device *dev = encoder->dev;
>  
>  	dev_dbg(dev->dev, "enable(%s)\n", dssdev->name);
> -
> -	/* Prepare the chain of external devices for pipeline enable. */
> -	omapdss_device_pre_enable(dssdev->next);
> -
> -	/*
> -	 * Enable the internal encoder. This will enable the DSS output.
> -	 */
> -	if (dssdev->ops && dssdev->ops->enable)
> -		dssdev->ops->enable(dssdev);
> -	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> -
> -	/*
> -	 * Enable the chain of external devices, starting at the one at the
> -	 * internal encoder's output.
> -	 */
> -	omapdss_device_enable(dssdev->next);
>  }

Now that the enable and disable functions are empty, we can drop them
completely.

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

>  
>  static int omap_encoder_atomic_check(struct drm_encoder *encoder,

-- 
Regards,

Laurent Pinchart

WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Tony Lindgren <tony@atomide.com>,
	"H . Nikolaus Schaller" <hns@goldelico.com>,
	Sekhar Nori <nsekhar@ti.com>, Sebastian Reichel <sre@kernel.org>,
	dri-devel@lists.freedesktop.org,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	linux-omap@vger.kernel.org, Nikhil Devshatwar <nikhil.nd@ti.com>
Subject: Re: [PATCH v3 42/56] drm/omap: remove legacy DSS device operations
Date: Mon, 9 Nov 2020 13:01:51 +0200	[thread overview]
Message-ID: <20201109110151.GM6029@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20201105120333.947408-43-tomi.valkeinen@ti.com>

Hi Tomi and Sebastian,

Thank you for the patch.

On Thu, Nov 05, 2020 at 02:03:19PM +0200, Tomi Valkeinen wrote:
> From: Sebastian Reichel <sebastian.reichel@collabora.com>
> 
> All DSS devices have been converted to bridge API, so
> the device operations are always NULL. This removes
> the device ops function pointers and all code using it.
> 
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
>  drivers/gpu/drm/omapdrm/dss/base.c       | 66 ------------------------
>  drivers/gpu/drm/omapdrm/dss/dss.c        |  8 ---
>  drivers/gpu/drm/omapdrm/dss/omapdss.h    | 34 ------------
>  drivers/gpu/drm/omapdrm/omap_connector.c | 29 -----------
>  drivers/gpu/drm/omapdrm/omap_encoder.c   | 40 --------------
>  5 files changed, 177 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c
> index 8e08c49b4f97..c2791305c332 100644
> --- a/drivers/gpu/drm/omapdrm/dss/base.c
> +++ b/drivers/gpu/drm/omapdrm/dss/base.c
> @@ -161,8 +161,6 @@ int omapdss_device_connect(struct dss_device *dss,
>  			   struct omap_dss_device *src,
>  			   struct omap_dss_device *dst)
>  {
> -	int ret;
> -
>  	dev_dbg(&dss->pdev->dev, "connect(%s, %s)\n",
>  		src ? dev_name(src->dev) : "NULL",
>  		dst ? dev_name(dst->dev) : "NULL");
> @@ -181,14 +179,6 @@ int omapdss_device_connect(struct dss_device *dss,
>  
>  	dst->dss = dss;
>  
> -	if (dst->ops && dst->ops->connect) {
> -		ret = dst->ops->connect(src, dst);
> -		if (ret < 0) {
> -			dst->dss = NULL;
> -			return ret;
> -		}
> -	}
> -
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(omapdss_device_connect);
> @@ -212,66 +202,10 @@ void omapdss_device_disconnect(struct omap_dss_device *src,
>  		return;
>  	}
>  
> -	WARN_ON(dst->state != OMAP_DSS_DISPLAY_DISABLED);
> -
> -	if (dst->ops && dst->ops->disconnect)
> -		dst->ops->disconnect(src, dst);
>  	dst->dss = NULL;
>  }
>  EXPORT_SYMBOL_GPL(omapdss_device_disconnect);
>  
> -void omapdss_device_pre_enable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	omapdss_device_pre_enable(dssdev->next);
> -
> -	if (dssdev->ops && dssdev->ops->pre_enable)
> -		dssdev->ops->pre_enable(dssdev);
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_pre_enable);
> -
> -void omapdss_device_enable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	if (dssdev->ops && dssdev->ops->enable)
> -		dssdev->ops->enable(dssdev);
> -
> -	omapdss_device_enable(dssdev->next);
> -
> -	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_enable);
> -
> -void omapdss_device_disable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	omapdss_device_disable(dssdev->next);
> -
> -	if (dssdev->ops && dssdev->ops->disable)
> -		dssdev->ops->disable(dssdev);
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_disable);
> -
> -void omapdss_device_post_disable(struct omap_dss_device *dssdev)
> -{
> -	if (!dssdev)
> -		return;
> -
> -	if (dssdev->ops && dssdev->ops->post_disable)
> -		dssdev->ops->post_disable(dssdev);
> -
> -	omapdss_device_post_disable(dssdev->next);
> -
> -	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
> -}
> -EXPORT_SYMBOL_GPL(omapdss_device_post_disable);
> -
>  /* -----------------------------------------------------------------------------
>   * Components Handling
>   */
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss.c b/drivers/gpu/drm/omapdrm/dss/dss.c
> index 6e86f4e67a2c..6a160138bf88 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dss.c
> @@ -1565,15 +1565,7 @@ static int dss_remove(struct platform_device *pdev)
>  
>  static void dss_shutdown(struct platform_device *pdev)
>  {
> -	struct omap_dss_device *dssdev = NULL;
> -
>  	DSSDBG("shutdown\n");
> -
> -	for_each_dss_output(dssdev) {
> -		if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE &&
> -		    dssdev->ops && dssdev->ops->disable)
> -			dssdev->ops->disable(dssdev);
> -	}
>  }

Should we call drm_atomic_helper_shutdown() here (in another patch) ?

>  
>  static int dss_runtime_suspend(struct device *dev)
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> index 42d1ec3aaf0c..5d6edec5a427 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -123,11 +123,6 @@ enum omap_dss_dsi_mode {
>  	OMAP_DSS_DSI_VIDEO_MODE,
>  };
>  
> -enum omap_dss_display_state {
> -	OMAP_DSS_DISPLAY_DISABLED = 0,
> -	OMAP_DSS_DISPLAY_ACTIVE,
> -};
> -
>  enum omap_dss_rotation_type {
>  	OMAP_DSS_ROT_NONE	= 0,
>  	OMAP_DSS_ROT_TILER	= 1 << 0,
> @@ -281,24 +276,6 @@ struct omapdss_dsi_ops {
>  };
>  
>  struct omap_dss_device_ops {
> -	int (*connect)(struct omap_dss_device *dssdev,
> -			struct omap_dss_device *dst);
> -	void (*disconnect)(struct omap_dss_device *dssdev,
> -			struct omap_dss_device *dst);
> -
> -	void (*pre_enable)(struct omap_dss_device *dssdev);
> -	void (*enable)(struct omap_dss_device *dssdev);
> -	void (*disable)(struct omap_dss_device *dssdev);
> -	void (*post_disable)(struct omap_dss_device *dssdev);
> -
> -	int (*check_timings)(struct omap_dss_device *dssdev,
> -			     struct drm_display_mode *mode);
> -	void (*set_timings)(struct omap_dss_device *dssdev,
> -			    const struct drm_display_mode *mode);
> -
> -	int (*get_modes)(struct omap_dss_device *dssdev,
> -			 struct drm_connector *connector);
> -
>  	const struct omapdss_dsi_ops dsi;
>  };
>  
> @@ -342,8 +319,6 @@ struct omap_dss_device {
>  	unsigned long ops_flags;
>  	u32 bus_flags;
>  
> -	enum omap_dss_display_state state;
> -
>  	/* OMAP DSS output specific fields */
>  
>  	/* DISPC channel for this output */
> @@ -374,10 +349,6 @@ int omapdss_device_connect(struct dss_device *dss,
>  			   struct omap_dss_device *dst);
>  void omapdss_device_disconnect(struct omap_dss_device *src,
>  			       struct omap_dss_device *dst);
> -void omapdss_device_pre_enable(struct omap_dss_device *dssdev);
> -void omapdss_device_enable(struct omap_dss_device *dssdev);
> -void omapdss_device_disable(struct omap_dss_device *dssdev);
> -void omapdss_device_post_disable(struct omap_dss_device *dssdev);
>  
>  int omap_dss_get_num_overlay_managers(void);
>  
> @@ -397,11 +368,6 @@ int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
>  int omapdss_compat_init(void);
>  void omapdss_compat_uninit(void);
>  
> -static inline bool omapdss_device_is_enabled(struct omap_dss_device *dssdev)
> -{
> -	return dssdev->state == OMAP_DSS_DISPLAY_ACTIVE;
> -}
> -
>  enum dss_writeback_channel {
>  	DSS_WB_LCD1_MGR =	0,
>  	DSS_WB_LCD2_MGR =	1,
> diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
> index de95dc1b861c..c6d9b4268841 100644
> --- a/drivers/gpu/drm/omapdrm/omap_connector.c
> +++ b/drivers/gpu/drm/omapdrm/omap_connector.c
> @@ -43,24 +43,8 @@ static void omap_connector_destroy(struct drm_connector *connector)
>  
>  static int omap_connector_get_modes(struct drm_connector *connector)
>  {
> -	struct omap_connector *omap_connector = to_omap_connector(connector);
> -	struct omap_dss_device *dssdev = NULL;
> -	struct omap_dss_device *d;
> -
>  	DBG("%s", connector->name);
>  
> -	/*
> -	 * If the display pipeline reports modes (e.g. with a fixed resolution
> -	 * panel or an analog TV output), query it.
> -	 */
> -	for (d = omap_connector->output; d; d = d->next) {
> -		if (d->ops_flags & OMAP_DSS_DEVICE_OP_MODES)
> -			dssdev = d;
> -	}
> -
> -	if (dssdev)
> -		return dssdev->ops->get_modes(dssdev, connector);
> -
>  	/* We can't retrieve modes. The KMS core will add the default modes. */
>  	return 0;
>  }
> @@ -69,19 +53,6 @@ enum drm_mode_status omap_connector_mode_fixup(struct omap_dss_device *dssdev,
>  					const struct drm_display_mode *mode,
>  					struct drm_display_mode *adjusted_mode)
>  {
> -	int ret;
> -
> -	drm_mode_copy(adjusted_mode, mode);
> -
> -	for (; dssdev; dssdev = dssdev->next) {
> -		if (!dssdev->ops || !dssdev->ops->check_timings)
> -			continue;
> -
> -		ret = dssdev->ops->check_timings(dssdev, adjusted_mode);
> -		if (ret)
> -			return MODE_BAD;
> -	}
> -
>  	return MODE_OK;
>  }
>  
> diff --git a/drivers/gpu/drm/omapdrm/omap_encoder.c b/drivers/gpu/drm/omapdrm/omap_encoder.c
> index 10abe4d01b0b..abb3821de8b8 100644
> --- a/drivers/gpu/drm/omapdrm/omap_encoder.c
> +++ b/drivers/gpu/drm/omapdrm/omap_encoder.c
> @@ -115,11 +115,6 @@ static void omap_encoder_mode_set(struct drm_encoder *encoder,
>  
>  	/* Set timings for all devices in the display pipeline. */
>  	dss_mgr_set_timings(output, &vm);
> -
> -	for (dssdev = output; dssdev; dssdev = dssdev->next) {
> -		if (dssdev->ops && dssdev->ops->set_timings)
> -			dssdev->ops->set_timings(dssdev, adjusted_mode);
> -	}
>  }
>  
>  static void omap_encoder_disable(struct drm_encoder *encoder)
> @@ -129,25 +124,6 @@ static void omap_encoder_disable(struct drm_encoder *encoder)
>  	struct drm_device *dev = encoder->dev;
>  
>  	dev_dbg(dev->dev, "disable(%s)\n", dssdev->name);
> -
> -	/*
> -	 * Disable the chain of external devices, starting at the one at the
> -	 * internal encoder's output.
> -	 */
> -	omapdss_device_disable(dssdev->next);
> -
> -	/*
> -	 * Disable the internal encoder. This will disable the DSS output.
> -	 */
> -	if (dssdev->ops && dssdev->ops->disable)
> -		dssdev->ops->disable(dssdev);
> -	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
> -
> -	/*
> -	 * Perform the post-disable operations on the chain of external devices
> -	 * to complete the display pipeline disable.
> -	 */
> -	omapdss_device_post_disable(dssdev->next);
>  }
>  
>  static void omap_encoder_enable(struct drm_encoder *encoder)
> @@ -157,22 +133,6 @@ static void omap_encoder_enable(struct drm_encoder *encoder)
>  	struct drm_device *dev = encoder->dev;
>  
>  	dev_dbg(dev->dev, "enable(%s)\n", dssdev->name);
> -
> -	/* Prepare the chain of external devices for pipeline enable. */
> -	omapdss_device_pre_enable(dssdev->next);
> -
> -	/*
> -	 * Enable the internal encoder. This will enable the DSS output.
> -	 */
> -	if (dssdev->ops && dssdev->ops->enable)
> -		dssdev->ops->enable(dssdev);
> -	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> -
> -	/*
> -	 * Enable the chain of external devices, starting at the one at the
> -	 * internal encoder's output.
> -	 */
> -	omapdss_device_enable(dssdev->next);
>  }

Now that the enable and disable functions are empty, we can drop them
completely.

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

>  
>  static int omap_encoder_atomic_check(struct drm_encoder *encoder,

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-11-09 11:01 UTC|newest]

Thread overview: 328+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-05 12:02 [PATCH v3 00/56] Convert DSI code to use drm_mipi_dsi and drm_panel Tomi Valkeinen
2020-11-05 12:02 ` Tomi Valkeinen
2020-11-05 12:02 ` [PATCH v3 01/56] drm/dsi: add MIPI_DSI_MODE_ULPS_IDLE Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-06  4:41   ` Laurent Pinchart
2020-11-06  4:41     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 02/56] Revert "drm/omap: dss: Remove unused omap_dss_device operations" Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-05 21:27   ` Sam Ravnborg
2020-11-05 21:27     ` Sam Ravnborg
2020-11-06  4:50   ` Laurent Pinchart
2020-11-06  4:50     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 03/56] drm/omap: drop unused dsi.configure_pins Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-06  4:50   ` Laurent Pinchart
2020-11-06  4:50     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 04/56] drm/omap: dsi: use MIPI_DSI_FMT_* instead of OMAP_DSS_DSI_FMT_* Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-06  4:56   ` Laurent Pinchart
2020-11-06  4:56     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 05/56] drm/omap: constify write buffers Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-06  4:57   ` Laurent Pinchart
2020-11-06  4:57     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 06/56] drm/omap: dsi: add generic transfer function Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-06  5:05   ` Laurent Pinchart
2020-11-06  5:05     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 07/56] drm/omap: panel-dsi-cm: convert to transfer API Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-06  5:08   ` Laurent Pinchart
2020-11-06  5:08     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 08/56] drm/omap: dsi: unexport specific data transfer functions Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:10   ` Laurent Pinchart
2020-11-09  8:10     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 09/56] drm/omap: dsi: drop virtual channel logic Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:14   ` Laurent Pinchart
2020-11-09  8:14     ` Laurent Pinchart
2020-11-09  8:20     ` Tomi Valkeinen
2020-11-09  8:20       ` Tomi Valkeinen
2020-11-09  8:18   ` Tomi Valkeinen
2020-11-09  8:18     ` Tomi Valkeinen
2020-11-05 12:02 ` [PATCH v3 10/56] drm/omap: dsi: simplify write function Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:21   ` Laurent Pinchart
2020-11-09  8:21     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 11/56] drm/omap: dsi: simplify read functions Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:28   ` Laurent Pinchart
2020-11-09  8:28     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 12/56] drm/omap: dsi: switch dsi_vc_send_long/short to mipi_dsi_msg Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:33   ` Laurent Pinchart
2020-11-09  8:33     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 13/56] drm/omap: dsi: introduce mipi_dsi_host Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:38   ` Laurent Pinchart
2020-11-09  8:38     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 14/56] drm/omap: panel-dsi-cm: use DSI helpers Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:40   ` Laurent Pinchart
2020-11-09  8:40     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 15/56] drm/omap: dsi: request VC via mipi_dsi_attach Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:42   ` Laurent Pinchart
2020-11-09  8:42     ` Laurent Pinchart
2020-11-09 11:16     ` Tomi Valkeinen
2020-11-09 11:16       ` Tomi Valkeinen
2020-11-05 12:02 ` [PATCH v3 16/56] drm/omap: panel-dsi-cm: drop hardcoded VC Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:43   ` Laurent Pinchart
2020-11-09  8:43     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 17/56] drm/omap: panel-dsi-cm: use common MIPI DCS 1.3 defines Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:44   ` Laurent Pinchart
2020-11-09  8:44     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 18/56] drm/omap: dsi: drop unused memory_read() Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:45   ` Laurent Pinchart
2020-11-09  8:45     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 19/56] drm/omap: dsi: drop unused get_te() Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:45   ` Laurent Pinchart
2020-11-09  8:45     ` Laurent Pinchart
2020-11-09  9:49     ` Tomi Valkeinen
2020-11-09  9:49       ` Tomi Valkeinen
2020-11-05 12:02 ` [PATCH v3 20/56] drm/omap: dsi: drop unused enable_te() Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:46   ` Laurent Pinchart
2020-11-09  8:46     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 21/56] drm/omap: dsi: drop useless sync() Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:46   ` Laurent Pinchart
2020-11-09  8:46     ` Laurent Pinchart
2020-11-05 12:02 ` [PATCH v3 22/56] drm/omap: dsi: use pixel-format and mode from attach Tomi Valkeinen
2020-11-05 12:02   ` Tomi Valkeinen
2020-11-09  8:49   ` Laurent Pinchart
2020-11-09  8:49     ` Laurent Pinchart
2020-11-09  9:45     ` Tomi Valkeinen
2020-11-09  9:45       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 23/56] drm/omap: panel-dsi-cm: use bulk regulator API Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09  8:51   ` Laurent Pinchart
2020-11-09  8:51     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 24/56] drm/omap: dsi: lp/hs switching support for transfer() Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09  8:53   ` Laurent Pinchart
2020-11-09  8:53     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 25/56] drm/omap: dsi: move TE GPIO handling into core Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09  9:19   ` Laurent Pinchart
2020-11-09  9:19     ` Laurent Pinchart
2020-11-11 13:26     ` Tomi Valkeinen
2020-11-11 13:26       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 26/56] drm/omap: dsi: drop custom enable_te() API Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09  9:32   ` Laurent Pinchart
2020-11-09  9:32     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 27/56] drm/omap: dsi: do bus locking in host driver Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09  9:52   ` Laurent Pinchart
2020-11-09  9:52     ` Laurent Pinchart
2020-11-09 10:08     ` Tomi Valkeinen
2020-11-09 10:08       ` Tomi Valkeinen
2020-11-09 13:27       ` Sebastian Reichel
2020-11-09 13:27         ` Sebastian Reichel
2020-11-09 14:25         ` Tomi Valkeinen
2020-11-09 14:25           ` Tomi Valkeinen
2020-11-11 13:35         ` Tomi Valkeinen
2020-11-11 13:35           ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 28/56] drm/omap: dsi: untangle ulps ops from enable/disable Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09  9:57   ` Laurent Pinchart
2020-11-09  9:57     ` Laurent Pinchart
2020-11-11 14:05     ` Tomi Valkeinen
2020-11-11 14:05       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 29/56] drm/omap: dsi: do ULPS in host driver Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:03   ` Laurent Pinchart
2020-11-09 10:03     ` Laurent Pinchart
2020-11-11 15:29     ` Tomi Valkeinen
2020-11-11 15:29       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 30/56] drm/omap: dsi: move panel refresh function to host Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:10   ` Laurent Pinchart
2020-11-09 10:10     ` Laurent Pinchart
2020-11-11 15:34     ` Tomi Valkeinen
2020-11-11 15:34       ` Tomi Valkeinen
2020-11-11 15:58       ` Laurent Pinchart
2020-11-11 15:58         ` Laurent Pinchart
2020-11-12  8:08         ` Tomi Valkeinen
2020-11-12  8:08           ` Tomi Valkeinen
2020-11-16  9:22           ` Laurent Pinchart
2020-11-16  9:22             ` Laurent Pinchart
2020-11-17 10:04             ` Sebastian Reichel
2020-11-17 10:04               ` Sebastian Reichel
2020-11-05 12:03 ` [PATCH v3 31/56] drm/omap: dsi: Reverse direction of the DSS device enable/disable operations Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:17   ` Laurent Pinchart
2020-11-09 10:17     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 32/56] drm/omap: dsi: drop custom panel capability support Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:20   ` Laurent Pinchart
2020-11-09 10:20     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 33/56] drm/omap: dsi: convert to drm_panel Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:39   ` Laurent Pinchart
2020-11-09 10:39     ` Laurent Pinchart
2020-11-11 15:54     ` Tomi Valkeinen
2020-11-11 15:54       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 34/56] drm/omap: drop omapdss-boot-init Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:40   ` Laurent Pinchart
2020-11-09 10:40     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 35/56] drm/omap: dsi: implement check timings Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:47   ` Laurent Pinchart
2020-11-09 10:47     ` Laurent Pinchart
2020-11-11 12:36     ` Tomi Valkeinen
2020-11-11 12:36       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 36/56] drm/omap: panel-dsi-cm: use DEVICE_ATTR_RO Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:48   ` Laurent Pinchart
2020-11-09 10:48     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 37/56] drm/omap: panel-dsi-cm: support unbinding Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:49   ` Laurent Pinchart
2020-11-09 10:49     ` Laurent Pinchart
2020-11-11 12:03     ` Tomi Valkeinen
2020-11-11 12:03       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 38/56] drm/omap: panel-dsi-cm: fix remove() Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:50   ` Laurent Pinchart
2020-11-09 10:50     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 39/56] drm/omap: remove global dss_device variable Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:51   ` Laurent Pinchart
2020-11-09 10:51     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 40/56] drm/panel: Move OMAP's DSI command mode panel driver Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-05 15:16   ` Sam Ravnborg
2020-11-05 15:16     ` Sam Ravnborg
2020-11-05 15:27   ` Tomi Valkeinen
2020-11-05 15:27     ` Tomi Valkeinen
2020-11-09 10:53   ` Laurent Pinchart
2020-11-09 10:53     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 41/56] drm/omap: dsi: Register a drm_bridge Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 10:54   ` Laurent Pinchart
2020-11-09 10:54     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 42/56] drm/omap: remove legacy DSS device operations Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:01   ` Laurent Pinchart [this message]
2020-11-09 11:01     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 43/56] drm/omap: remove unused omap_connector Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:02   ` Laurent Pinchart
2020-11-09 11:02     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 44/56] drm/omap: simplify omap_display_id Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:03   ` Laurent Pinchart
2020-11-09 11:03     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 45/56] drm/omap: drop unused DSS next pointer Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:04   ` Laurent Pinchart
2020-11-09 11:04     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 46/56] drm/omap: drop empty omap_encoder helper functions Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:05   ` Laurent Pinchart
2020-11-09 11:05     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 47/56] drm/omap: drop DSS ops_flags Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:05   ` Laurent Pinchart
2020-11-09 11:05     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 48/56] drm/omap: drop dssdev display field Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:06   ` Laurent Pinchart
2020-11-09 11:06     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 49/56] drm/omap: simplify DSI manual update code Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:07   ` Laurent Pinchart
2020-11-09 11:07     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 50/56] drm/omap: dsi: simplify pin config Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:09   ` Laurent Pinchart
2020-11-09 11:09     ` Laurent Pinchart
2020-11-11 12:24     ` Tomi Valkeinen
2020-11-11 12:24       ` Tomi Valkeinen
2020-11-05 12:03 ` [PATCH v3 51/56] ARM: omap2plus_defconfig: Update for moved DSI command mode panel Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:10   ` Laurent Pinchart
2020-11-09 11:10     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 52/56] drm/omap: squash omapdrm sub-modules into one Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:15   ` Laurent Pinchart
2020-11-09 11:15     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 53/56] drm/omap: remove unused display.c Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:16   ` Laurent Pinchart
2020-11-09 11:16     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 54/56] drm/omap: drop unused owner field Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:16   ` Laurent Pinchart
2020-11-09 11:16     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 55/56] drm/omap: remove dispc_ops Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:17   ` Laurent Pinchart
2020-11-09 11:17     ` Laurent Pinchart
2020-11-05 12:03 ` [PATCH v3 56/56] drm/omap: remove dss_mgr_ops Tomi Valkeinen
2020-11-05 12:03   ` Tomi Valkeinen
2020-11-09 11:18   ` Laurent Pinchart
2020-11-09 11:18     ` Laurent Pinchart
2020-11-05 17:15 ` [PATCH v3 00/56] Convert DSI code to use drm_mipi_dsi and drm_panel H. Nikolaus Schaller
2020-11-05 17:15   ` H. Nikolaus Schaller
2020-11-05 17:36   ` Tomi Valkeinen
2020-11-05 17:36     ` Tomi Valkeinen
2020-11-05 18:14     ` H. Nikolaus Schaller
2020-11-05 18:14       ` H. Nikolaus Schaller
2020-11-05 18:28       ` Tomi Valkeinen
2020-11-05 18:28         ` Tomi Valkeinen
2020-11-05 18:56         ` H. Nikolaus Schaller
2020-11-05 18:56           ` H. Nikolaus Schaller
2020-11-06 14:37           ` Tomi Valkeinen
2020-11-06 14:37             ` Tomi Valkeinen
2020-11-06 15:04             ` Tomi Valkeinen
2020-11-06 15:04               ` Tomi Valkeinen
2020-11-07 12:19               ` H. Nikolaus Schaller
2020-11-07 12:19                 ` H. Nikolaus Schaller
2020-11-09  8:04                 ` Tomi Valkeinen
2020-11-09  8:04                   ` Tomi Valkeinen
2020-11-09  9:30                   ` H. Nikolaus Schaller
2020-11-09  9:30                     ` H. Nikolaus Schaller
2020-11-09 10:22                     ` Tomi Valkeinen
2020-11-09 10:22                       ` Tomi Valkeinen
2020-11-09 10:31                       ` H. Nikolaus Schaller
2020-11-09 10:31                         ` H. Nikolaus Schaller
2020-11-09 10:34                         ` Tomi Valkeinen
2020-11-09 10:34                           ` Tomi Valkeinen
2020-11-09 11:09                           ` H. Nikolaus Schaller
2020-11-09 11:09                             ` H. Nikolaus Schaller
2020-11-09 11:33                             ` Tomi Valkeinen
2020-11-09 11:33                               ` Tomi Valkeinen
2020-11-10 13:49                               ` H. Nikolaus Schaller
2020-11-10 13:49                                 ` H. Nikolaus Schaller
2020-11-10 15:25                                 ` Tomi Valkeinen
2020-11-10 15:25                                   ` Tomi Valkeinen
2020-11-10 16:49                                 ` H. Nikolaus Schaller
2020-11-10 16:49                                   ` H. Nikolaus Schaller
2020-11-10 16:52                                   ` Tomi Valkeinen
2020-11-10 16:52                                     ` Tomi Valkeinen
2020-11-10 21:04                                     ` H. Nikolaus Schaller
2020-11-10 21:04                                       ` H. Nikolaus Schaller
2020-11-11  6:40                                       ` Tomi Valkeinen
2020-11-11  6:40                                         ` Tomi Valkeinen
2020-11-11  7:48                                         ` H. Nikolaus Schaller
2020-11-11  7:48                                           ` H. Nikolaus Schaller
2020-11-11 10:11                                           ` Tomi Valkeinen
2020-11-11 10:11                                             ` Tomi Valkeinen
2020-11-11 19:27                                             ` H. Nikolaus Schaller
2020-11-11 19:27                                               ` H. Nikolaus Schaller
2020-11-05 21:31 ` Sam Ravnborg
2020-11-05 21:31   ` Sam Ravnborg
2020-11-08 16:33 ` Nikhil Devshatwar
2020-11-08 16:33   ` Nikhil Devshatwar
     [not found] ` <BAFBC885-9BBE-46D1-B4C4-79910705864A@goldelico.com>
     [not found]   ` <74abbdc4-cc1e-9caf-d4ee-0a5cdb557643@ti.com>
     [not found]     ` <b0677958-02ad-1d2f-d755-! 25a9d384eddc@ti.com>
     [not found]       ` <1A09B4DA-F726-4F37-8CF4-BC192C659950@goldelico.com>
     [not found]         ` <9a4e373e-9092-6d82-937a-bc663d2376b4@ti.com>
     [not found]           ` <09ebc3e3-72c7-41fb-fb21-bf28c! f883d3f@ti.com>
     [not found]             ` <E738362A-8ECE-4ED5-8057-2ABB6F5C3056@goldelico.com>
     [not found]               ` <9a21b475-eff0-9882-8d65-d1f! dd2139dc4@ti.com>
     [not found]                 ` <A1DEB54D-FEC0-493A-858C-E5C0DB24B35E@goldelico.com>
     [not found]                   ` <1150ba22-1ae2-39f3-0924-7! a1f1b468597@ti.com>
     [not found]                     ` <2999ED77-B9F7-4197-81B8-F1AFF329A1E9@goldelico.com>
     [not found]                       ` <cbc147d2-af41-2bed-5670-530d45cfb24e@ti.com>
     [not found]                         ` <106bfbee-c472-c04c-0f7b-db108a090a63@ti.com>
     [not found]                           ` <420b81bd-fc95-e294-fcbe-f34db1ef! f9e7@ti.c om>
     [not found]                             ` <B2FBCAE4-FAD9-4C0D-9C75-63A701215886@goldelico.com>
     [not found]                               ` <826B2E97-8B77-412A-8093-753BF7A65EE1@goldelico.com>
     [not found]                                 ` <acad2006-53a2-6587-b8e6-787e358! 8932a@ti.com>
     [not found]                                   ` <AF87C7B4-DCD2-4207-A300-567DB65B08ED@goldelico.com>
     [not found]                                     ` <27cfb13a-62e3-0a53-153f-92641c437cee@ti. com>
     [not found]                                       ` <27cfb13a-62e3-0a53-153f-92641c437cee@ti.com>
2020-11-16  9:16                                         ` H. Nikolaus Schaller
2020-11-16  9:16                                           ` H. Nikolaus Schaller

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=20201109110151.GM6029@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hns@goldelico.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=nikhil.nd@ti.com \
    --cc=nsekhar@ti.com \
    --cc=sebastian.reichel@collabora.com \
    --cc=sre@kernel.org \
    --cc=tomi.valkeinen@ti.com \
    --cc=tony@atomide.com \
    /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.