Re: [PATCH v3 05/10] drm: rcar-du: lvds: Remove LVDS double-enable checks

2019-06-07 Thread Kieran Bingham
Hi Laurent,

On 28/05/2019 15:12, Laurent Pinchart wrote:
> The DRM core and DU driver guarantee that the LVDS bridge will not be
> double-enabled or double-disabled. Remove the corresponding unnecessary
> checks.

I'm glad to hear it - that's quite a few WARN_ON's removed which
hopefully is a good thing!

> 
> Signed-off-by: Laurent Pinchart 
> Reviewed-by: Jacopo Mondi > Tested-by: Jacopo Mondi 
> 

Reviewed-by: Kieran Bingham 


> ---
>  drivers/gpu/drm/rcar-du/rcar_lvds.c | 19 ---
>  1 file changed, 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c 
> b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> index 620b51aab291..a331f0c32187 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> @@ -63,7 +63,6 @@ struct rcar_lvds {
>   struct clk *extal;  /* External clock */
>   struct clk *dotclkin[2];/* External DU clocks */
>   } clocks;
> - bool enabled;
>  
>   struct drm_display_mode display_mode;
>   enum rcar_lvds_mode mode;
> @@ -368,15 +367,12 @@ int rcar_lvds_clk_enable(struct drm_bridge *bridge, 
> unsigned long freq)
>  
>   dev_dbg(lvds->dev, "enabling LVDS PLL, freq=%luHz\n", freq);
>  
> - WARN_ON(lvds->enabled);
> -
>   ret = clk_prepare_enable(lvds->clocks.mod);
>   if (ret < 0)
>   return ret;
>  
>   __rcar_lvds_pll_setup_d3_e3(lvds, freq, true);
>  
> - lvds->enabled = true;
>   return 0;
>  }
>  EXPORT_SYMBOL_GPL(rcar_lvds_clk_enable);
> @@ -390,13 +386,9 @@ void rcar_lvds_clk_disable(struct drm_bridge *bridge)
>  
>   dev_dbg(lvds->dev, "disabling LVDS PLL\n");
>  
> - WARN_ON(!lvds->enabled);
> -
>   rcar_lvds_write(lvds, LVDPLLCR, 0);
>  
>   clk_disable_unprepare(lvds->clocks.mod);
> -
> - lvds->enabled = false;
>  }
>  EXPORT_SYMBOL_GPL(rcar_lvds_clk_disable);
>  
> @@ -417,8 +409,6 @@ static void rcar_lvds_enable(struct drm_bridge *bridge)
>   u32 lvdcr0;
>   int ret;
>  
> - WARN_ON(lvds->enabled);
> -
>   ret = clk_prepare_enable(lvds->clocks.mod);
>   if (ret < 0)
>   return;
> @@ -507,16 +497,12 @@ static void rcar_lvds_enable(struct drm_bridge *bridge)
>   drm_panel_prepare(lvds->panel);
>   drm_panel_enable(lvds->panel);
>   }
> -
> - lvds->enabled = true;
>  }
>  
>  static void rcar_lvds_disable(struct drm_bridge *bridge)
>  {
>   struct rcar_lvds *lvds = bridge_to_rcar_lvds(bridge);
>  
> - WARN_ON(!lvds->enabled);
> -
>   if (lvds->panel) {
>   drm_panel_disable(lvds->panel);
>   drm_panel_unprepare(lvds->panel);
> @@ -527,8 +513,6 @@ static void rcar_lvds_disable(struct drm_bridge *bridge)
>   rcar_lvds_write(lvds, LVDPLLCR, 0);
>  
>   clk_disable_unprepare(lvds->clocks.mod);
> -
> - lvds->enabled = false;
>  }
>  
>  static bool rcar_lvds_mode_fixup(struct drm_bridge *bridge,
> @@ -592,8 +576,6 @@ static void rcar_lvds_mode_set(struct drm_bridge *bridge,
>  {
>   struct rcar_lvds *lvds = bridge_to_rcar_lvds(bridge);
>  
> - WARN_ON(lvds->enabled);
> -
>   lvds->display_mode = *adjusted_mode;
>  
>   rcar_lvds_get_lvds_mode(lvds);
> @@ -793,7 +775,6 @@ static int rcar_lvds_probe(struct platform_device *pdev)
>  
>   lvds->dev = >dev;
>   lvds->info = of_device_get_match_data(>dev);
> - lvds->enabled = false;
>  
>   ret = rcar_lvds_parse_dt(lvds);
>   if (ret < 0)
> 

-- 
Regards
--
Kieran


[PATCH v3 05/10] drm: rcar-du: lvds: Remove LVDS double-enable checks

2019-05-28 Thread Laurent Pinchart
The DRM core and DU driver guarantee that the LVDS bridge will not be
double-enabled or double-disabled. Remove the corresponding unnecessary
checks.

Signed-off-by: Laurent Pinchart 
Reviewed-by: Jacopo Mondi 
Tested-by: Jacopo Mondi 
---
 drivers/gpu/drm/rcar-du/rcar_lvds.c | 19 ---
 1 file changed, 19 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c 
b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index 620b51aab291..a331f0c32187 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -63,7 +63,6 @@ struct rcar_lvds {
struct clk *extal;  /* External clock */
struct clk *dotclkin[2];/* External DU clocks */
} clocks;
-   bool enabled;
 
struct drm_display_mode display_mode;
enum rcar_lvds_mode mode;
@@ -368,15 +367,12 @@ int rcar_lvds_clk_enable(struct drm_bridge *bridge, 
unsigned long freq)
 
dev_dbg(lvds->dev, "enabling LVDS PLL, freq=%luHz\n", freq);
 
-   WARN_ON(lvds->enabled);
-
ret = clk_prepare_enable(lvds->clocks.mod);
if (ret < 0)
return ret;
 
__rcar_lvds_pll_setup_d3_e3(lvds, freq, true);
 
-   lvds->enabled = true;
return 0;
 }
 EXPORT_SYMBOL_GPL(rcar_lvds_clk_enable);
@@ -390,13 +386,9 @@ void rcar_lvds_clk_disable(struct drm_bridge *bridge)
 
dev_dbg(lvds->dev, "disabling LVDS PLL\n");
 
-   WARN_ON(!lvds->enabled);
-
rcar_lvds_write(lvds, LVDPLLCR, 0);
 
clk_disable_unprepare(lvds->clocks.mod);
-
-   lvds->enabled = false;
 }
 EXPORT_SYMBOL_GPL(rcar_lvds_clk_disable);
 
@@ -417,8 +409,6 @@ static void rcar_lvds_enable(struct drm_bridge *bridge)
u32 lvdcr0;
int ret;
 
-   WARN_ON(lvds->enabled);
-
ret = clk_prepare_enable(lvds->clocks.mod);
if (ret < 0)
return;
@@ -507,16 +497,12 @@ static void rcar_lvds_enable(struct drm_bridge *bridge)
drm_panel_prepare(lvds->panel);
drm_panel_enable(lvds->panel);
}
-
-   lvds->enabled = true;
 }
 
 static void rcar_lvds_disable(struct drm_bridge *bridge)
 {
struct rcar_lvds *lvds = bridge_to_rcar_lvds(bridge);
 
-   WARN_ON(!lvds->enabled);
-
if (lvds->panel) {
drm_panel_disable(lvds->panel);
drm_panel_unprepare(lvds->panel);
@@ -527,8 +513,6 @@ static void rcar_lvds_disable(struct drm_bridge *bridge)
rcar_lvds_write(lvds, LVDPLLCR, 0);
 
clk_disable_unprepare(lvds->clocks.mod);
-
-   lvds->enabled = false;
 }
 
 static bool rcar_lvds_mode_fixup(struct drm_bridge *bridge,
@@ -592,8 +576,6 @@ static void rcar_lvds_mode_set(struct drm_bridge *bridge,
 {
struct rcar_lvds *lvds = bridge_to_rcar_lvds(bridge);
 
-   WARN_ON(lvds->enabled);
-
lvds->display_mode = *adjusted_mode;
 
rcar_lvds_get_lvds_mode(lvds);
@@ -793,7 +775,6 @@ static int rcar_lvds_probe(struct platform_device *pdev)
 
lvds->dev = >dev;
lvds->info = of_device_get_match_data(>dev);
-   lvds->enabled = false;
 
ret = rcar_lvds_parse_dt(lvds);
if (ret < 0)
-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel