linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm
@ 2019-05-27 10:21 ` Yannick Fertré
  2019-05-27 10:21   ` [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops Yannick Fertré
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Yannick Fertré @ 2019-05-27 10:21 UTC (permalink / raw)
  To: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	Heiko Stuebner, Sam Ravnborg, Yannick Fertre, Nickey Yang,
	Philippe Cornu, Benjamin Gaignard, Vincent Abriou,
	Maxime Coquelin, Alexandre Torgue, dri-devel, linux-stm32,
	linux-arm-kernel, linux-kernel

These patches fix a bug concerning an access issue to display controler (ltdc)
registers.
If the physical layer of the DSI is started too early then the fifo DSI are full
very quickly which implies ltdc register's access hang up. To avoid this
problem, it is necessary to start the DSI physical layer only when the bridge
is enable.

Yannick Fertré (2):
  drm/bridge/synopsys: dsi: add power on/off optional phy ops
  drm/stm: dsi: add power on/off phy ops

 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c |  8 ++++++++
 drivers/gpu/drm/stm/dw_mipi_dsi-stm.c         | 21 ++++++++++++++++++++-
 include/drm/bridge/dw_mipi_dsi.h              |  2 ++
 3 files changed, 30 insertions(+), 1 deletion(-)

--
2.7.4


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops
  2019-05-27 10:21 ` [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm Yannick Fertré
@ 2019-05-27 10:21   ` Yannick Fertré
  2019-05-27 12:53     ` Philippe CORNU
  2019-06-12  6:59     ` Andrzej Hajda
  2019-05-27 10:21   ` [PATCH v1 2/2] drm/stm: dsi: add power on/off " Yannick Fertré
  2019-06-12  7:18   ` [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm Andrzej Hajda
  2 siblings, 2 replies; 8+ messages in thread
From: Yannick Fertré @ 2019-05-27 10:21 UTC (permalink / raw)
  To: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	Heiko Stuebner, Sam Ravnborg, Yannick Fertre, Nickey Yang,
	Philippe Cornu, Benjamin Gaignard, Vincent Abriou,
	Maxime Coquelin, Alexandre Torgue, dri-devel, linux-stm32,
	linux-arm-kernel, linux-kernel

Add power on & off optional physical operation functions, helpful to
program specific registers of the DSI physical part.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
---
 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 8 ++++++++
 include/drm/bridge/dw_mipi_dsi.h              | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
index e915ae8..5bb676f 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
@@ -775,6 +775,10 @@ static void dw_mipi_dsi_clear_err(struct dw_mipi_dsi *dsi)
 static void dw_mipi_dsi_bridge_post_disable(struct drm_bridge *bridge)
 {
 	struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge);
+	const struct dw_mipi_dsi_phy_ops *phy_ops = dsi->plat_data->phy_ops;
+
+	if (phy_ops->power_off)
+		phy_ops->power_off(dsi->plat_data->priv_data);
 
 	/*
 	 * Switch to command mode before panel-bridge post_disable &
@@ -874,11 +878,15 @@ static void dw_mipi_dsi_bridge_mode_set(struct drm_bridge *bridge,
 static void dw_mipi_dsi_bridge_enable(struct drm_bridge *bridge)
 {
 	struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge);
+	const struct dw_mipi_dsi_phy_ops *phy_ops = dsi->plat_data->phy_ops;
 
 	/* Switch to video mode for panel-bridge enable & panel enable */
 	dw_mipi_dsi_set_mode(dsi, MIPI_DSI_MODE_VIDEO);
 	if (dsi->slave)
 		dw_mipi_dsi_set_mode(dsi->slave, MIPI_DSI_MODE_VIDEO);
+
+	if (phy_ops->power_on)
+		phy_ops->power_on(dsi->plat_data->priv_data);
 }
 
 static enum drm_mode_status
diff --git a/include/drm/bridge/dw_mipi_dsi.h b/include/drm/bridge/dw_mipi_dsi.h
index 7d3dd69..df6eda6 100644
--- a/include/drm/bridge/dw_mipi_dsi.h
+++ b/include/drm/bridge/dw_mipi_dsi.h
@@ -14,6 +14,8 @@ struct dw_mipi_dsi;
 
 struct dw_mipi_dsi_phy_ops {
 	int (*init)(void *priv_data);
+	void (*power_on)(void *priv_data);
+	void (*power_off)(void *priv_data);
 	int (*get_lane_mbps)(void *priv_data,
 			     const struct drm_display_mode *mode,
 			     unsigned long mode_flags, u32 lanes, u32 format,
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v1 2/2] drm/stm: dsi: add power on/off phy ops
  2019-05-27 10:21 ` [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm Yannick Fertré
  2019-05-27 10:21   ` [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops Yannick Fertré
@ 2019-05-27 10:21   ` Yannick Fertré
  2019-05-27 12:54     ` Philippe CORNU
  2019-06-12  7:02     ` Andrzej Hajda
  2019-06-12  7:18   ` [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm Andrzej Hajda
  2 siblings, 2 replies; 8+ messages in thread
From: Yannick Fertré @ 2019-05-27 10:21 UTC (permalink / raw)
  To: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	Heiko Stuebner, Sam Ravnborg, Yannick Fertre, Nickey Yang,
	Philippe Cornu, Benjamin Gaignard, Vincent Abriou,
	Maxime Coquelin, Alexandre Torgue, dri-devel, linux-stm32,
	linux-arm-kernel, linux-kernel

These new physical operations are helpful to power_on/off the dsi
wrapper. If the dsi wrapper is powered in video mode, the display
controller (ltdc) register access will hang when DSI fifos are full.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
---
 drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
index 01db020..0ab32fe 100644
--- a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
+++ b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
@@ -210,10 +210,27 @@ static int dw_mipi_dsi_phy_init(void *priv_data)
 	if (ret)
 		DRM_DEBUG_DRIVER("!TIMEOUT! waiting PLL, let's continue\n");
 
+	return 0;
+}
+
+static void dw_mipi_dsi_phy_power_on(void *priv_data)
+{
+	struct dw_mipi_dsi_stm *dsi = priv_data;
+
+	DRM_DEBUG_DRIVER("\n");
+
 	/* Enable the DSI wrapper */
 	dsi_set(dsi, DSI_WCR, WCR_DSIEN);
+}
 
-	return 0;
+static void dw_mipi_dsi_phy_power_off(void *priv_data)
+{
+	struct dw_mipi_dsi_stm *dsi = priv_data;
+
+	DRM_DEBUG_DRIVER("\n");
+
+	/* Disable the DSI wrapper */
+	dsi_clear(dsi, DSI_WCR, WCR_DSIEN);
 }
 
 static int
@@ -287,6 +304,8 @@ dw_mipi_dsi_get_lane_mbps(void *priv_data, const struct drm_display_mode *mode,
 
 static const struct dw_mipi_dsi_phy_ops dw_mipi_dsi_stm_phy_ops = {
 	.init = dw_mipi_dsi_phy_init,
+	.power_on = dw_mipi_dsi_phy_power_on,
+	.power_off = dw_mipi_dsi_phy_power_off,
 	.get_lane_mbps = dw_mipi_dsi_get_lane_mbps,
 };
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops
  2019-05-27 10:21   ` [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops Yannick Fertré
@ 2019-05-27 12:53     ` Philippe CORNU
  2019-06-12  6:59     ` Andrzej Hajda
  1 sibling, 0 replies; 8+ messages in thread
From: Philippe CORNU @ 2019-05-27 12:53 UTC (permalink / raw)
  To: Yannick FERTRE, Andrzej Hajda, Laurent Pinchart, David Airlie,
	Daniel Vetter, Heiko Stuebner, Sam Ravnborg, Nickey Yang,
	Benjamin Gaignard, Vincent ABRIOU, Maxime Coquelin,
	Alexandre TORGUE, dri-devel, linux-stm32, linux-arm-kernel,
	linux-kernel

Hi Yannick,
and thank you for your patch.

Tested successfully on stm32f too.

Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Tested-by: Philippe Cornu <philippe.cornu@st.com>

Philippe :-)

On 5/27/19 12:21 PM, Yannick Fertré wrote:
> Add power on & off optional physical operation functions, helpful to
> program specific registers of the DSI physical part.
> 
> Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
> ---
>   drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 8 ++++++++
>   include/drm/bridge/dw_mipi_dsi.h              | 2 ++
>   2 files changed, 10 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> index e915ae8..5bb676f 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> @@ -775,6 +775,10 @@ static void dw_mipi_dsi_clear_err(struct dw_mipi_dsi *dsi)
>   static void dw_mipi_dsi_bridge_post_disable(struct drm_bridge *bridge)
>   {
>   	struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge);
> +	const struct dw_mipi_dsi_phy_ops *phy_ops = dsi->plat_data->phy_ops;
> +
> +	if (phy_ops->power_off)
> +		phy_ops->power_off(dsi->plat_data->priv_data);
>   
>   	/*
>   	 * Switch to command mode before panel-bridge post_disable &
> @@ -874,11 +878,15 @@ static void dw_mipi_dsi_bridge_mode_set(struct drm_bridge *bridge,
>   static void dw_mipi_dsi_bridge_enable(struct drm_bridge *bridge)
>   {
>   	struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge);
> +	const struct dw_mipi_dsi_phy_ops *phy_ops = dsi->plat_data->phy_ops;
>   
>   	/* Switch to video mode for panel-bridge enable & panel enable */
>   	dw_mipi_dsi_set_mode(dsi, MIPI_DSI_MODE_VIDEO);
>   	if (dsi->slave)
>   		dw_mipi_dsi_set_mode(dsi->slave, MIPI_DSI_MODE_VIDEO);
> +
> +	if (phy_ops->power_on)
> +		phy_ops->power_on(dsi->plat_data->priv_data);
>   }
>   
>   static enum drm_mode_status
> diff --git a/include/drm/bridge/dw_mipi_dsi.h b/include/drm/bridge/dw_mipi_dsi.h
> index 7d3dd69..df6eda6 100644
> --- a/include/drm/bridge/dw_mipi_dsi.h
> +++ b/include/drm/bridge/dw_mipi_dsi.h
> @@ -14,6 +14,8 @@ struct dw_mipi_dsi;
>   
>   struct dw_mipi_dsi_phy_ops {
>   	int (*init)(void *priv_data);
> +	void (*power_on)(void *priv_data);
> +	void (*power_off)(void *priv_data);
>   	int (*get_lane_mbps)(void *priv_data,
>   			     const struct drm_display_mode *mode,
>   			     unsigned long mode_flags, u32 lanes, u32 format,
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 2/2] drm/stm: dsi: add power on/off phy ops
  2019-05-27 10:21   ` [PATCH v1 2/2] drm/stm: dsi: add power on/off " Yannick Fertré
@ 2019-05-27 12:54     ` Philippe CORNU
  2019-06-12  7:02     ` Andrzej Hajda
  1 sibling, 0 replies; 8+ messages in thread
From: Philippe CORNU @ 2019-05-27 12:54 UTC (permalink / raw)
  To: Yannick FERTRE, Andrzej Hajda, Laurent Pinchart, David Airlie,
	Daniel Vetter, Heiko Stuebner, Sam Ravnborg, Nickey Yang,
	Benjamin Gaignard, Vincent ABRIOU, Maxime Coquelin,
	Alexandre TORGUE, dri-devel, linux-stm32, linux-arm-kernel,
	linux-kernel

Hi Yannick,
and thank you for your patch.

Tested successfully on stm32f too.

Acked-by: Philippe Cornu <philippe.cornu@st.com>
Tested-by: Philippe Cornu <philippe.cornu@st.com>

Philippe :-)

On 5/27/19 12:21 PM, Yannick Fertré wrote:
> These new physical operations are helpful to power_on/off the dsi
> wrapper. If the dsi wrapper is powered in video mode, the display
> controller (ltdc) register access will hang when DSI fifos are full.
> 
> Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
> ---
>   drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 21 ++++++++++++++++++++-
>   1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
> index 01db020..0ab32fe 100644
> --- a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
> +++ b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
> @@ -210,10 +210,27 @@ static int dw_mipi_dsi_phy_init(void *priv_data)
>   	if (ret)
>   		DRM_DEBUG_DRIVER("!TIMEOUT! waiting PLL, let's continue\n");
>   
> +	return 0;
> +}
> +
> +static void dw_mipi_dsi_phy_power_on(void *priv_data)
> +{
> +	struct dw_mipi_dsi_stm *dsi = priv_data;
> +
> +	DRM_DEBUG_DRIVER("\n");
> +
>   	/* Enable the DSI wrapper */
>   	dsi_set(dsi, DSI_WCR, WCR_DSIEN);
> +}
>   
> -	return 0;
> +static void dw_mipi_dsi_phy_power_off(void *priv_data)
> +{
> +	struct dw_mipi_dsi_stm *dsi = priv_data;
> +
> +	DRM_DEBUG_DRIVER("\n");
> +
> +	/* Disable the DSI wrapper */
> +	dsi_clear(dsi, DSI_WCR, WCR_DSIEN);
>   }
>   
>   static int
> @@ -287,6 +304,8 @@ dw_mipi_dsi_get_lane_mbps(void *priv_data, const struct drm_display_mode *mode,
>   
>   static const struct dw_mipi_dsi_phy_ops dw_mipi_dsi_stm_phy_ops = {
>   	.init = dw_mipi_dsi_phy_init,
> +	.power_on = dw_mipi_dsi_phy_power_on,
> +	.power_off = dw_mipi_dsi_phy_power_off,
>   	.get_lane_mbps = dw_mipi_dsi_get_lane_mbps,
>   };
>   
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops
  2019-05-27 10:21   ` [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops Yannick Fertré
  2019-05-27 12:53     ` Philippe CORNU
@ 2019-06-12  6:59     ` Andrzej Hajda
  1 sibling, 0 replies; 8+ messages in thread
From: Andrzej Hajda @ 2019-06-12  6:59 UTC (permalink / raw)
  To: Yannick Fertré,
	Laurent Pinchart, David Airlie, Daniel Vetter, Heiko Stuebner,
	Sam Ravnborg, Nickey Yang, Philippe Cornu, Benjamin Gaignard,
	Vincent Abriou, Maxime Coquelin, Alexandre Torgue, dri-devel,
	linux-stm32, linux-arm-kernel, linux-kernel

On 27.05.2019 12:21, Yannick Fertré wrote:
> Add power on & off optional physical operation functions, helpful to
> program specific registers of the DSI physical part.
>
> Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>

 --
Regards
Andrzej
> ---
>  drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 8 ++++++++
>  include/drm/bridge/dw_mipi_dsi.h              | 2 ++
>  2 files changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> index e915ae8..5bb676f 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> @@ -775,6 +775,10 @@ static void dw_mipi_dsi_clear_err(struct dw_mipi_dsi *dsi)
>  static void dw_mipi_dsi_bridge_post_disable(struct drm_bridge *bridge)
>  {
>  	struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge);
> +	const struct dw_mipi_dsi_phy_ops *phy_ops = dsi->plat_data->phy_ops;
> +
> +	if (phy_ops->power_off)
> +		phy_ops->power_off(dsi->plat_data->priv_data);
>  
>  	/*
>  	 * Switch to command mode before panel-bridge post_disable &
> @@ -874,11 +878,15 @@ static void dw_mipi_dsi_bridge_mode_set(struct drm_bridge *bridge,
>  static void dw_mipi_dsi_bridge_enable(struct drm_bridge *bridge)
>  {
>  	struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge);
> +	const struct dw_mipi_dsi_phy_ops *phy_ops = dsi->plat_data->phy_ops;
>  
>  	/* Switch to video mode for panel-bridge enable & panel enable */
>  	dw_mipi_dsi_set_mode(dsi, MIPI_DSI_MODE_VIDEO);
>  	if (dsi->slave)
>  		dw_mipi_dsi_set_mode(dsi->slave, MIPI_DSI_MODE_VIDEO);
> +
> +	if (phy_ops->power_on)
> +		phy_ops->power_on(dsi->plat_data->priv_data);
>  }
>  
>  static enum drm_mode_status
> diff --git a/include/drm/bridge/dw_mipi_dsi.h b/include/drm/bridge/dw_mipi_dsi.h
> index 7d3dd69..df6eda6 100644
> --- a/include/drm/bridge/dw_mipi_dsi.h
> +++ b/include/drm/bridge/dw_mipi_dsi.h
> @@ -14,6 +14,8 @@ struct dw_mipi_dsi;
>  
>  struct dw_mipi_dsi_phy_ops {
>  	int (*init)(void *priv_data);
> +	void (*power_on)(void *priv_data);
> +	void (*power_off)(void *priv_data);
>  	int (*get_lane_mbps)(void *priv_data,
>  			     const struct drm_display_mode *mode,
>  			     unsigned long mode_flags, u32 lanes, u32 format,



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 2/2] drm/stm: dsi: add power on/off phy ops
  2019-05-27 10:21   ` [PATCH v1 2/2] drm/stm: dsi: add power on/off " Yannick Fertré
  2019-05-27 12:54     ` Philippe CORNU
@ 2019-06-12  7:02     ` Andrzej Hajda
  1 sibling, 0 replies; 8+ messages in thread
From: Andrzej Hajda @ 2019-06-12  7:02 UTC (permalink / raw)
  To: Yannick Fertré,
	Laurent Pinchart, David Airlie, Daniel Vetter, Heiko Stuebner,
	Sam Ravnborg, Nickey Yang, Philippe Cornu, Benjamin Gaignard,
	Vincent Abriou, Maxime Coquelin, Alexandre Torgue, dri-devel,
	linux-stm32, linux-arm-kernel, linux-kernel

On 27.05.2019 12:21, Yannick Fertré wrote:
> These new physical operations are helpful to power_on/off the dsi
> wrapper. If the dsi wrapper is powered in video mode, the display
> controller (ltdc) register access will hang when DSI fifos are full.
>
> Signed-off-by: Yannick Fertré <yannick.fertre@st.com>


Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>


 --
Regards
Andrzej


> ---
>  drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 21 ++++++++++++++++++++-
>  1 file changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
> index 01db020..0ab32fe 100644
> --- a/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
> +++ b/drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
> @@ -210,10 +210,27 @@ static int dw_mipi_dsi_phy_init(void *priv_data)
>  	if (ret)
>  		DRM_DEBUG_DRIVER("!TIMEOUT! waiting PLL, let's continue\n");
>  
> +	return 0;
> +}
> +
> +static void dw_mipi_dsi_phy_power_on(void *priv_data)
> +{
> +	struct dw_mipi_dsi_stm *dsi = priv_data;
> +
> +	DRM_DEBUG_DRIVER("\n");
> +
>  	/* Enable the DSI wrapper */
>  	dsi_set(dsi, DSI_WCR, WCR_DSIEN);
> +}
>  
> -	return 0;
> +static void dw_mipi_dsi_phy_power_off(void *priv_data)
> +{
> +	struct dw_mipi_dsi_stm *dsi = priv_data;
> +
> +	DRM_DEBUG_DRIVER("\n");
> +
> +	/* Disable the DSI wrapper */
> +	dsi_clear(dsi, DSI_WCR, WCR_DSIEN);
>  }
>  
>  static int
> @@ -287,6 +304,8 @@ dw_mipi_dsi_get_lane_mbps(void *priv_data, const struct drm_display_mode *mode,
>  
>  static const struct dw_mipi_dsi_phy_ops dw_mipi_dsi_stm_phy_ops = {
>  	.init = dw_mipi_dsi_phy_init,
> +	.power_on = dw_mipi_dsi_phy_power_on,
> +	.power_off = dw_mipi_dsi_phy_power_off,
>  	.get_lane_mbps = dw_mipi_dsi_get_lane_mbps,
>  };
>  



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm
  2019-05-27 10:21 ` [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm Yannick Fertré
  2019-05-27 10:21   ` [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops Yannick Fertré
  2019-05-27 10:21   ` [PATCH v1 2/2] drm/stm: dsi: add power on/off " Yannick Fertré
@ 2019-06-12  7:18   ` Andrzej Hajda
  2 siblings, 0 replies; 8+ messages in thread
From: Andrzej Hajda @ 2019-06-12  7:18 UTC (permalink / raw)
  To: Yannick Fertré,
	Laurent Pinchart, David Airlie, Daniel Vetter, Heiko Stuebner,
	Sam Ravnborg, Nickey Yang, Philippe Cornu, Benjamin Gaignard,
	Vincent Abriou, Maxime Coquelin, Alexandre Torgue, dri-devel,
	linux-stm32, linux-arm-kernel, linux-kernel

On 27.05.2019 12:21, Yannick Fertré wrote:
> These patches fix a bug concerning an access issue to display controler (ltdc)
> registers.
> If the physical layer of the DSI is started too early then the fifo DSI are full
> very quickly which implies ltdc register's access hang up. To avoid this
> problem, it is necessary to start the DSI physical layer only when the bridge
> is enable.
>
> Yannick Fertré (2):
>   drm/bridge/synopsys: dsi: add power on/off optional phy ops
>   drm/stm: dsi: add power on/off phy ops
>
>  drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c |  8 ++++++++
>  drivers/gpu/drm/stm/dw_mipi_dsi-stm.c         | 21 ++++++++++++++++++++-
>  include/drm/bridge/dw_mipi_dsi.h              |  2 ++
>  3 files changed, 30 insertions(+), 1 deletion(-)
>
> --
> 2.7.4
>
>
>
Queued both patches to drm-misc-next.

--
Regards
Andrzej


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-06-12  7:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20190527102219epcas2p20eaad1cb2849841d8b0c3dbc8d0b2e99@epcas2p2.samsung.com>
2019-05-27 10:21 ` [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm Yannick Fertré
2019-05-27 10:21   ` [PATCH v1 1/2] drm/bridge/synopsys: dsi: add power on/off optional phy ops Yannick Fertré
2019-05-27 12:53     ` Philippe CORNU
2019-06-12  6:59     ` Andrzej Hajda
2019-05-27 10:21   ` [PATCH v1 2/2] drm/stm: dsi: add power on/off " Yannick Fertré
2019-05-27 12:54     ` Philippe CORNU
2019-06-12  7:02     ` Andrzej Hajda
2019-06-12  7:18   ` [PATCH v1 0/2] dw-mipi-dsi: add power on & off optional phy ops and update stm Andrzej Hajda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).