Lines Matching refs:ctx

159 	struct dpi_clk_calc_ctx *ctx = data;  in dpi_calc_dispc_cb()  local
166 if (ctx->pck_min >= 100000000) { in dpi_calc_dispc_cb()
174 ctx->dispc_cinfo.lck_div = lckd; in dpi_calc_dispc_cb()
175 ctx->dispc_cinfo.pck_div = pckd; in dpi_calc_dispc_cb()
176 ctx->dispc_cinfo.lck = lck; in dpi_calc_dispc_cb()
177 ctx->dispc_cinfo.pck = pck; in dpi_calc_dispc_cb()
186 struct dpi_clk_calc_ctx *ctx = data; in dpi_calc_hsdiv_cb() local
193 if (m_dispc > 1 && m_dispc % 2 != 0 && ctx->pck_min >= 100000000) in dpi_calc_hsdiv_cb()
196 ctx->dsi_cinfo.mX[HSDIV_DISPC] = m_dispc; in dpi_calc_hsdiv_cb()
197 ctx->dsi_cinfo.clkout[HSDIV_DISPC] = dispc; in dpi_calc_hsdiv_cb()
199 return dispc_div_calc(dispc, ctx->pck_min, ctx->pck_max, in dpi_calc_hsdiv_cb()
200 dpi_calc_dispc_cb, ctx); in dpi_calc_hsdiv_cb()
208 struct dpi_clk_calc_ctx *ctx = data; in dpi_calc_pll_cb() local
210 ctx->dsi_cinfo.n = n; in dpi_calc_pll_cb()
211 ctx->dsi_cinfo.m = m; in dpi_calc_pll_cb()
212 ctx->dsi_cinfo.fint = fint; in dpi_calc_pll_cb()
213 ctx->dsi_cinfo.clkdco = clkdco; in dpi_calc_pll_cb()
215 return dss_pll_hsdiv_calc(ctx->pll, clkdco, in dpi_calc_pll_cb()
216 ctx->pck_min, dss_feat_get_param_max(FEAT_PARAM_DSS_FCK), in dpi_calc_pll_cb()
217 dpi_calc_hsdiv_cb, ctx); in dpi_calc_pll_cb()
222 struct dpi_clk_calc_ctx *ctx = data; in dpi_calc_dss_cb() local
224 ctx->fck = fck; in dpi_calc_dss_cb()
226 return dispc_div_calc(fck, ctx->pck_min, ctx->pck_max, in dpi_calc_dss_cb()
227 dpi_calc_dispc_cb, ctx); in dpi_calc_dss_cb()
231 struct dpi_clk_calc_ctx *ctx) in dpi_dsi_clk_calc() argument
236 memset(ctx, 0, sizeof(*ctx)); in dpi_dsi_clk_calc()
237 ctx->pll = dpi->pll; in dpi_dsi_clk_calc()
238 ctx->pck_min = pck - 1000; in dpi_dsi_clk_calc()
239 ctx->pck_max = pck + 1000; in dpi_dsi_clk_calc()
244 clkin = clk_get_rate(ctx->pll->clkin); in dpi_dsi_clk_calc()
246 return dss_pll_calc(ctx->pll, clkin, in dpi_dsi_clk_calc()
248 dpi_calc_pll_cb, ctx); in dpi_dsi_clk_calc()
251 static bool dpi_dss_clk_calc(unsigned long pck, struct dpi_clk_calc_ctx *ctx) in dpi_dss_clk_calc() argument
265 memset(ctx, 0, sizeof(*ctx)); in dpi_dss_clk_calc()
267 ctx->pck_min = max(pck - 1000 * i * i * i, 0lu); in dpi_dss_clk_calc()
269 ctx->pck_min = 0; in dpi_dss_clk_calc()
270 ctx->pck_max = pck + 1000 * i * i * i; in dpi_dss_clk_calc()
272 ok = dss_div_calc(pck, ctx->pck_min, dpi_calc_dss_cb, ctx); in dpi_dss_clk_calc()
286 struct dpi_clk_calc_ctx ctx; in dpi_set_dsi_clk() local
290 ok = dpi_dsi_clk_calc(dpi, pck_req, &ctx); in dpi_set_dsi_clk()
294 r = dss_pll_set_config(dpi->pll, &ctx.dsi_cinfo); in dpi_set_dsi_clk()
301 dpi->mgr_config.clock_info = ctx.dispc_cinfo; in dpi_set_dsi_clk()
303 *fck = ctx.dsi_cinfo.clkout[HSDIV_DISPC]; in dpi_set_dsi_clk()
304 *lck_div = ctx.dispc_cinfo.lck_div; in dpi_set_dsi_clk()
305 *pck_div = ctx.dispc_cinfo.pck_div; in dpi_set_dsi_clk()
313 struct dpi_clk_calc_ctx ctx; in dpi_set_dispc_clk() local
317 ok = dpi_dss_clk_calc(pck_req, &ctx); in dpi_set_dispc_clk()
321 r = dss_set_fck_rate(ctx.fck); in dpi_set_dispc_clk()
325 dpi->mgr_config.clock_info = ctx.dispc_cinfo; in dpi_set_dispc_clk()
327 *fck = ctx.fck; in dpi_set_dispc_clk()
328 *lck_div = ctx.dispc_cinfo.lck_div; in dpi_set_dispc_clk()
329 *pck_div = ctx.dispc_cinfo.pck_div; in dpi_set_dispc_clk()
513 struct dpi_clk_calc_ctx ctx; in dpi_check_timings() local
523 ok = dpi_dsi_clk_calc(dpi, timings->pixelclock, &ctx); in dpi_check_timings()
527 fck = ctx.dsi_cinfo.clkout[HSDIV_DISPC]; in dpi_check_timings()
529 ok = dpi_dss_clk_calc(timings->pixelclock, &ctx); in dpi_check_timings()
533 fck = ctx.fck; in dpi_check_timings()
536 lck_div = ctx.dispc_cinfo.lck_div; in dpi_check_timings()
537 pck_div = ctx.dispc_cinfo.pck_div; in dpi_check_timings()