ret = clk_prepare_enable(dsi->grf_clk);
        if (ret) {
                DRM_DEV_ERROR(dsi->dev, "Failed to enable grf_clk: %d\n", ret);
-               goto out_pm_runtime;
+               goto out_pll_clk;
        }
 
        dw_mipi_dsi_rockchip_config(dsi);
        ret = rockchip_dsi_drm_create_encoder(dsi, drm_dev);
        if (ret) {
                DRM_DEV_ERROR(dev, "Failed to create drm encoder\n");
-               goto out_pm_runtime;
+               goto out_pll_clk;
        }
 
        ret = dw_mipi_dsi_bind(dsi->dmd, &dsi->encoder);
        if (ret) {
                DRM_DEV_ERROR(dev, "Failed to bind: %d\n", ret);
-               goto out_pm_runtime;
+               goto out_pll_clk;
        }
 
        dsi->dsi_bound = true;
 
        return 0;
 
+out_pll_clk:
+       clk_disable_unprepare(dsi->pllref_clk);
 out_pm_runtime:
        pm_runtime_put(dsi->dev);
        if (dsi->slave)