[PATCH 4.19.y-cip 01/17] drm: rcar-du: lvds: Remove LVDS double-enable checks


Biju Das <biju.das.jz@...>
 

From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

commit 968328496b0fbee42abb6fae98ba0dc720bda977 upstream.

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 <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
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 21fd248e5cbf..067017d25993 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -62,7 +62,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;
@@ -367,15 +366,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);
@@ -389,13 +385,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);

@@ -416,8 +408,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;
@@ -502,16 +492,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);
@@ -522,8 +508,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,
@@ -587,8 +571,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);
@@ -788,7 +770,6 @@ static int rcar_lvds_probe(struct platform_device *pdev)

lvds->dev = &pdev->dev;
lvds->info = of_device_get_match_data(&pdev->dev);
- lvds->enabled = false;

ret = rcar_lvds_parse_dt(lvds);
if (ret < 0)
--
2.17.1

Join cip-dev@lists.cip-project.org to automatically receive all group messages.