drm/rockchip: dsi: add own additional pclk handling
authorHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
Wed, 10 Feb 2021 11:10:15 +0000 (12:10 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Sun, 25 Jul 2021 15:05:40 +0000 (17:05 +0200)
In a followup patch, we'll need to access the pclk ourself to enable some
functionality, so get and store it in the rockchip dw-dsi variant as well.

Clocks are refcounted, so possible cascading enablements are
no problem.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Tested-by: Sebastian Fricke <sebastian.fricke@posteo.net>
Acked-by: Helen Koike <helen.koike@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210210111020.2476369-2-heiko@sntech.de
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c

index ec7729d..f3897de 100644 (file)
@@ -223,6 +223,7 @@ struct dw_mipi_dsi_rockchip {
        void __iomem *base;
 
        struct regmap *grf_regmap;
+       struct clk *pclk;
        struct clk *pllref_clk;
        struct clk *grf_clk;
        struct clk *phy_cfg_clk;
@@ -1065,6 +1066,13 @@ static int dw_mipi_dsi_rockchip_probe(struct platform_device *pdev)
                return ret;
        }
 
+       dsi->pclk = devm_clk_get(dev, "pclk");
+       if (IS_ERR(dsi->pclk)) {
+               ret = PTR_ERR(dsi->pclk);
+               DRM_DEV_ERROR(dev, "Unable to get pclk: %d\n", ret);
+               return ret;
+       }
+
        dsi->pllref_clk = devm_clk_get(dev, "ref");
        if (IS_ERR(dsi->pllref_clk)) {
                if (dsi->phy) {