Lines Matching refs:ctx
28 int (*init)(struct ltk050h3146w *ctx);
246 static int ltk050h3146w_init_sequence(struct ltk050h3146w *ctx)
248 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
307 dev_err(ctx->dev, "failed to set tear on: %d\n", ret);
335 static int ltk050h3146w_a2_select_page(struct ltk050h3146w *ctx, int page)
337 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
343 static int ltk050h3146w_a2_write_page(struct ltk050h3146w *ctx, int page,
347 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
350 ret = ltk050h3146w_a2_select_page(ctx, page);
352 dev_err(ctx->dev, "failed to select page %d: %d\n", page, ret);
360 dev_err(ctx->dev, "failed to write page %d init cmds: %d\n", page, ret);
368 static int ltk050h3146w_a2_init_sequence(struct ltk050h3146w *ctx)
370 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
377 ret = ltk050h3146w_a2_write_page(ctx, 3, page3_cmds,
382 ret = ltk050h3146w_a2_write_page(ctx, 4, page4_cmds,
387 ret = ltk050h3146w_a2_write_page(ctx, 1, page1_cmds,
392 ret = ltk050h3146w_a2_select_page(ctx, 0);
394 dev_err(ctx->dev, "failed to select page 0: %d\n", ret);
401 dev_err(ctx->dev, "failed to set tear on: %d\n", ret);
431 struct ltk050h3146w *ctx = panel_to_ltk050h3146w(panel);
432 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
435 if (!ctx->prepared)
440 dev_err(ctx->dev, "failed to set display off: %d\n", ret);
446 dev_err(ctx->dev, "failed to enter sleep mode: %d\n", ret);
450 regulator_disable(ctx->iovcc);
451 regulator_disable(ctx->vci);
453 ctx->prepared = false;
460 struct ltk050h3146w *ctx = panel_to_ltk050h3146w(panel);
461 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
464 if (ctx->prepared)
467 dev_dbg(ctx->dev, "Resetting the panel\n");
468 ret = regulator_enable(ctx->vci);
470 dev_err(ctx->dev, "Failed to enable vci supply: %d\n", ret);
473 ret = regulator_enable(ctx->iovcc);
475 dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret);
479 gpiod_set_value_cansleep(ctx->reset_gpio, 1);
481 gpiod_set_value_cansleep(ctx->reset_gpio, 0);
484 ret = ctx->panel_desc->init(ctx);
486 dev_err(ctx->dev, "Panel init sequence failed: %d\n", ret);
492 dev_err(ctx->dev, "Failed to exit sleep mode: %d\n", ret);
501 dev_err(ctx->dev, "Failed to set display on: %d\n", ret);
507 ctx->prepared = true;
512 regulator_disable(ctx->iovcc);
514 regulator_disable(ctx->vci);
521 struct ltk050h3146w *ctx = panel_to_ltk050h3146w(panel);
524 mode = drm_mode_duplicate(connector->dev, ctx->panel_desc->mode);
547 struct ltk050h3146w *ctx;
550 ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
551 if (!ctx)
554 ctx->panel_desc = of_device_get_match_data(dev);
555 if (!ctx->panel_desc)
558 ctx->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
559 if (IS_ERR(ctx->reset_gpio)) {
561 return PTR_ERR(ctx->reset_gpio);
564 ctx->vci = devm_regulator_get(dev, "vci");
565 if (IS_ERR(ctx->vci)) {
566 ret = PTR_ERR(ctx->vci);
572 ctx->iovcc = devm_regulator_get(dev, "iovcc");
573 if (IS_ERR(ctx->iovcc)) {
574 ret = PTR_ERR(ctx->iovcc);
580 mipi_dsi_set_drvdata(dsi, ctx);
582 ctx->dev = dev;
589 drm_panel_init(&ctx->panel, &dsi->dev, <k050h3146w_funcs,
592 ret = drm_panel_of_backlight(&ctx->panel);
596 drm_panel_add(&ctx->panel);
601 drm_panel_remove(&ctx->panel);
610 struct ltk050h3146w *ctx = mipi_dsi_get_drvdata(dsi);
613 ret = drm_panel_unprepare(&ctx->panel);
617 ret = drm_panel_disable(&ctx->panel);
624 struct ltk050h3146w *ctx = mipi_dsi_get_drvdata(dsi);
633 drm_panel_remove(&ctx->panel);