Lines Matching refs:ctx
29 int (*init)(struct ltk050h3146w *ctx);
255 static int ltk050h3146w_init_sequence(struct ltk050h3146w *ctx)
257 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
316 dev_err(ctx->dev, "failed to set tear on: %d\n", ret);
344 static int ltk050h3146w_a2_select_page(struct ltk050h3146w *ctx, int page)
346 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
352 static int ltk050h3146w_a2_write_page(struct ltk050h3146w *ctx, int page,
356 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
359 ret = ltk050h3146w_a2_select_page(ctx, page);
361 dev_err(ctx->dev, "failed to select page %d: %d\n", page, ret);
369 dev_err(ctx->dev, "failed to write page %d init cmds: %d\n", page, ret);
377 static int ltk050h3146w_a2_init_sequence(struct ltk050h3146w *ctx)
379 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
386 ret = ltk050h3146w_a2_write_page(ctx, 3, page3_cmds,
391 ret = ltk050h3146w_a2_write_page(ctx, 4, page4_cmds,
396 ret = ltk050h3146w_a2_write_page(ctx, 1, page1_cmds,
401 ret = ltk050h3146w_a2_select_page(ctx, 0);
403 dev_err(ctx->dev, "failed to select page 0: %d\n", ret);
410 dev_err(ctx->dev, "failed to set tear on: %d\n", ret);
440 struct ltk050h3146w *ctx = panel_to_ltk050h3146w(panel);
441 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
444 if (!ctx->prepared)
449 dev_err(ctx->dev, "failed to set display off: %d\n", ret);
455 dev_err(ctx->dev, "failed to enter sleep mode: %d\n", ret);
459 regulator_disable(ctx->iovcc);
460 regulator_disable(ctx->vci);
462 ctx->prepared = false;
469 struct ltk050h3146w *ctx = panel_to_ltk050h3146w(panel);
470 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
473 if (ctx->prepared)
476 dev_dbg(ctx->dev, "Resetting the panel\n");
477 ret = regulator_enable(ctx->vci);
479 dev_err(ctx->dev, "Failed to enable vci supply: %d\n", ret);
482 ret = regulator_enable(ctx->iovcc);
484 dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret);
488 gpiod_set_value_cansleep(ctx->reset_gpio, 1);
490 gpiod_set_value_cansleep(ctx->reset_gpio, 0);
493 ret = ctx->panel_desc->init(ctx);
495 dev_err(ctx->dev, "Panel init sequence failed: %d\n", ret);
501 dev_err(ctx->dev, "Failed to exit sleep mode: %d\n", ret);
510 dev_err(ctx->dev, "Failed to set display on: %d\n", ret);
516 ctx->prepared = true;
521 regulator_disable(ctx->iovcc);
523 regulator_disable(ctx->vci);
530 struct ltk050h3146w *ctx = panel_to_ltk050h3146w(panel);
533 mode = drm_mode_duplicate(connector->dev, ctx->panel_desc->mode);
556 struct ltk050h3146w *ctx;
559 ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
560 if (!ctx)
563 ctx->panel_desc = of_device_get_match_data(dev);
564 if (!ctx->panel_desc)
567 ctx->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
568 if (IS_ERR(ctx->reset_gpio)) {
570 return PTR_ERR(ctx->reset_gpio);
573 ctx->vci = devm_regulator_get(dev, "vci");
574 if (IS_ERR(ctx->vci)) {
575 ret = PTR_ERR(ctx->vci);
581 ctx->iovcc = devm_regulator_get(dev, "iovcc");
582 if (IS_ERR(ctx->iovcc)) {
583 ret = PTR_ERR(ctx->iovcc);
589 mipi_dsi_set_drvdata(dsi, ctx);
591 ctx->dev = dev;
598 drm_panel_init(&ctx->panel, &dsi->dev, <k050h3146w_funcs,
601 ret = drm_panel_of_backlight(&ctx->panel);
605 drm_panel_add(&ctx->panel);
610 drm_panel_remove(&ctx->panel);
619 struct ltk050h3146w *ctx = mipi_dsi_get_drvdata(dsi);
622 ret = drm_panel_unprepare(&ctx->panel);
626 ret = drm_panel_disable(&ctx->panel);
633 struct ltk050h3146w *ctx = mipi_dsi_get_drvdata(dsi);
642 drm_panel_remove(&ctx->panel);