diff options
Diffstat (limited to 'drivers/clk/rockchip/clk-ddr.c')
-rw-r--r-- | drivers/clk/rockchip/clk-ddr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/clk/rockchip/clk-ddr.c b/drivers/clk/rockchip/clk-ddr.c index 3e3b65732e7a..90d40388bb9b 100644 --- a/drivers/clk/rockchip/clk-ddr.c +++ b/drivers/clk/rockchip/clk-ddr.c @@ -23,6 +23,7 @@ #include <linux/of.h> #include <linux/rockchip/rockchip_sip.h> #include <linux/slab.h> +#include <soc/rockchip/rockchip_dmc.h> #include <soc/rockchip/rockchip_sip.h> #include <soc/rockchip/scpi.h> #include <uapi/drm/drm_mode.h> @@ -219,6 +220,7 @@ struct share_params { * 0: never wait flag1 */ u32 wait_flag0; + u32 complt_hwirq; /* if need, add parameter after */ }; @@ -261,6 +263,9 @@ static int rockchip_ddrclk_sip_set_rate_v2(struct clk_hw *hw, res = sip_smc_dram(SHARE_PAGE_TYPE_DDR, 0, ROCKCHIP_SIP_CONFIG_DRAM_SET_RATE); + if ((int)res.a1 == SIP_RET_SET_RATE_TIMEOUT) + rockchip_dmcfreq_wait_complete(); + return res.a0; } |