Lines Matching refs:ctx
4305 struct dsi_clk_calc_ctx *ctx = data;
4306 struct videomode *vm = &ctx->vm;
4308 ctx->dispc_cinfo.lck_div = lckd;
4309 ctx->dispc_cinfo.pck_div = pckd;
4310 ctx->dispc_cinfo.lck = lck;
4311 ctx->dispc_cinfo.pck = pck;
4313 *vm = *ctx->config->vm;
4315 vm->hactive = ctx->config->vm->hactive;
4316 vm->vactive = ctx->config->vm->vactive;
4326 struct dsi_clk_calc_ctx *ctx = data;
4328 ctx->dsi_cinfo.mX[HSDIV_DISPC] = m_dispc;
4329 ctx->dsi_cinfo.clkout[HSDIV_DISPC] = dispc;
4331 return dispc_div_calc(ctx->dsi->dss->dispc, dispc,
4332 ctx->req_pck_min, ctx->req_pck_max,
4333 dsi_cm_calc_dispc_cb, ctx);
4339 struct dsi_clk_calc_ctx *ctx = data;
4340 struct dsi_data *dsi = ctx->dsi;
4342 ctx->dsi_cinfo.n = n;
4343 ctx->dsi_cinfo.m = m;
4344 ctx->dsi_cinfo.fint = fint;
4345 ctx->dsi_cinfo.clkdco = clkdco;
4347 return dss_pll_hsdiv_calc_a(ctx->pll, clkdco, ctx->req_pck_min,
4349 dsi_cm_calc_hsdiv_cb, ctx);
4354 struct dsi_clk_calc_ctx *ctx)
4375 memset(ctx, 0, sizeof(*ctx));
4376 ctx->dsi = dsi;
4377 ctx->pll = &dsi->pll;
4378 ctx->config = cfg;
4379 ctx->req_pck_min = pck;
4380 ctx->req_pck_nom = pck;
4381 ctx->req_pck_max = pck * 3 / 2;
4386 return dss_pll_calc_a(ctx->pll, clkin,
4388 dsi_cm_calc_pll_cb, ctx);
4391 static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
4393 struct dsi_data *dsi = ctx->dsi;
4394 const struct omap_dss_dsi_config *cfg = ctx->config;
4397 unsigned long hsclk = ctx->dsi_cinfo.clkdco / 4;
4414 req_pck_min = ctx->req_pck_min;
4415 req_pck_max = ctx->req_pck_max;
4416 req_pck_nom = ctx->req_pck_nom;
4418 dispc_pck = ctx->dispc_cinfo.pck;
4483 dsi_vm = &ctx->dsi_vm;
4547 dispc_vm = &ctx->vm;
4593 struct dsi_clk_calc_ctx *ctx = data;
4595 ctx->dispc_cinfo.lck_div = lckd;
4596 ctx->dispc_cinfo.pck_div = pckd;
4597 ctx->dispc_cinfo.lck = lck;
4598 ctx->dispc_cinfo.pck = pck;
4600 if (dsi_vm_calc_blanking(ctx) == false)
4604 print_dispc_vm("dispc", &ctx->vm);
4605 print_dsi_vm("dsi ", &ctx->dsi_vm);
4606 print_dispc_vm("req ", ctx->config->vm);
4607 print_dsi_dispc_vm("act ", &ctx->dsi_vm);
4616 struct dsi_clk_calc_ctx *ctx = data;
4619 ctx->dsi_cinfo.mX[HSDIV_DISPC] = m_dispc;
4620 ctx->dsi_cinfo.clkout[HSDIV_DISPC] = dispc;
4627 if (ctx->config->trans_mode == OMAP_DSS_DSI_BURST_MODE)
4628 pck_max = ctx->req_pck_max + 10000000;
4630 pck_max = ctx->req_pck_max;
4632 return dispc_div_calc(ctx->dsi->dss->dispc, dispc,
4633 ctx->req_pck_min, pck_max,
4634 dsi_vm_calc_dispc_cb, ctx);
4640 struct dsi_clk_calc_ctx *ctx = data;
4641 struct dsi_data *dsi = ctx->dsi;
4643 ctx->dsi_cinfo.n = n;
4644 ctx->dsi_cinfo.m = m;
4645 ctx->dsi_cinfo.fint = fint;
4646 ctx->dsi_cinfo.clkdco = clkdco;
4648 return dss_pll_hsdiv_calc_a(ctx->pll, clkdco, ctx->req_pck_min,
4650 dsi_vm_calc_hsdiv_cb, ctx);
4655 struct dsi_clk_calc_ctx *ctx)
4667 memset(ctx, 0, sizeof(*ctx));
4668 ctx->dsi = dsi;
4669 ctx->pll = &dsi->pll;
4670 ctx->config = cfg;
4673 ctx->req_pck_min = vm->pixelclock - 1000;
4674 ctx->req_pck_nom = vm->pixelclock;
4675 ctx->req_pck_max = vm->pixelclock + 1000;
4677 byteclk_min = div64_u64((u64)ctx->req_pck_min * bitspp, ndl * 8);
4684 byteclk_max = div64_u64((u64)ctx->req_pck_max * bitspp,
4690 return dss_pll_calc_a(ctx->pll, clkin,
4692 dsi_vm_calc_pll_cb, ctx);
4699 struct dsi_clk_calc_ctx ctx;
4709 ok = dsi_vm_calc(dsi, config, &ctx);
4711 ok = dsi_cm_calc(dsi, config, &ctx);
4719 dsi_pll_calc_dsi_fck(dsi, &ctx.dsi_cinfo);
4721 r = dsi_lp_clock_calc(ctx.dsi_cinfo.clkout[HSDIV_DSI],
4728 dsi->user_dsi_cinfo = ctx.dsi_cinfo;
4729 dsi->user_dispc_cinfo = ctx.dispc_cinfo;
4731 dsi->vm = ctx.vm;
4756 dsi->vm_timings = ctx.dsi_vm;