Lines Matching full:pll

8 static int dsi_pll_enable(struct msm_dsi_pll *pll)  in dsi_pll_enable()  argument
16 if (unlikely(pll->pll_on)) in dsi_pll_enable()
20 for (i = 0; i < pll->en_seq_cnt; i++) { in dsi_pll_enable()
21 ret = pll->enable_seqs[i](pll); in dsi_pll_enable()
22 DBG("DSI PLL %s after sequence #%d", in dsi_pll_enable()
29 DRM_ERROR("DSI PLL failed to lock\n"); in dsi_pll_enable()
33 pll->pll_on = true; in dsi_pll_enable()
38 static void dsi_pll_disable(struct msm_dsi_pll *pll) in dsi_pll_disable() argument
40 if (unlikely(!pll->pll_on)) in dsi_pll_disable()
43 pll->disable_seq(pll); in dsi_pll_disable()
45 pll->pll_on = false; in dsi_pll_disable()
49 * DSI PLL Helper functions
54 struct msm_dsi_pll *pll = hw_clk_to_pll(hw); in msm_dsi_pll_helper_clk_round_rate() local
56 if (rate < pll->min_rate) in msm_dsi_pll_helper_clk_round_rate()
57 return pll->min_rate; in msm_dsi_pll_helper_clk_round_rate()
58 else if (rate > pll->max_rate) in msm_dsi_pll_helper_clk_round_rate()
59 return pll->max_rate; in msm_dsi_pll_helper_clk_round_rate()
66 struct msm_dsi_pll *pll = hw_clk_to_pll(hw); in msm_dsi_pll_helper_clk_prepare() local
68 return dsi_pll_enable(pll); in msm_dsi_pll_helper_clk_prepare()
73 struct msm_dsi_pll *pll = hw_clk_to_pll(hw); in msm_dsi_pll_helper_clk_unprepare() local
75 dsi_pll_disable(pll); in msm_dsi_pll_helper_clk_unprepare()
93 * DSI PLL API
95 int msm_dsi_pll_get_clk_provider(struct msm_dsi_pll *pll, in msm_dsi_pll_get_clk_provider() argument
98 if (pll->get_provider) in msm_dsi_pll_get_clk_provider()
99 return pll->get_provider(pll, in msm_dsi_pll_get_clk_provider()
106 void msm_dsi_pll_destroy(struct msm_dsi_pll *pll) in msm_dsi_pll_destroy() argument
108 if (pll->destroy) in msm_dsi_pll_destroy()
109 pll->destroy(pll); in msm_dsi_pll_destroy()
112 void msm_dsi_pll_save_state(struct msm_dsi_pll *pll) in msm_dsi_pll_save_state() argument
114 if (pll->save_state) { in msm_dsi_pll_save_state()
115 pll->save_state(pll); in msm_dsi_pll_save_state()
116 pll->state_saved = true; in msm_dsi_pll_save_state()
120 int msm_dsi_pll_restore_state(struct msm_dsi_pll *pll) in msm_dsi_pll_restore_state() argument
124 if (pll->restore_state && pll->state_saved) { in msm_dsi_pll_restore_state()
125 ret = pll->restore_state(pll); in msm_dsi_pll_restore_state()
129 pll->state_saved = false; in msm_dsi_pll_restore_state()
135 int msm_dsi_pll_set_usecase(struct msm_dsi_pll *pll, in msm_dsi_pll_set_usecase() argument
138 if (pll->set_usecase) in msm_dsi_pll_set_usecase()
139 return pll->set_usecase(pll, uc); in msm_dsi_pll_set_usecase()
148 struct msm_dsi_pll *pll; in msm_dsi_pll_init() local
153 pll = msm_dsi_pll_28nm_init(pdev, type, id); in msm_dsi_pll_init()
156 pll = msm_dsi_pll_28nm_8960_init(pdev, id); in msm_dsi_pll_init()
159 pll = msm_dsi_pll_14nm_init(pdev, id); in msm_dsi_pll_init()
162 pll = msm_dsi_pll_10nm_init(pdev, id); in msm_dsi_pll_init()
166 pll = msm_dsi_pll_7nm_init(pdev, id); in msm_dsi_pll_init()
169 pll = ERR_PTR(-ENXIO); in msm_dsi_pll_init()
173 if (IS_ERR(pll)) { in msm_dsi_pll_init()
174 DRM_DEV_ERROR(dev, "%s: failed to init DSI PLL\n", __func__); in msm_dsi_pll_init()
175 return pll; in msm_dsi_pll_init()
178 pll->type = type; in msm_dsi_pll_init()
180 DBG("DSI:%d PLL registered", id); in msm_dsi_pll_init()
182 return pll; in msm_dsi_pll_init()