Lines Matching defs:innolux
67 struct innolux_panel *innolux = to_innolux_panel(panel);
69 if (!innolux->enabled)
72 innolux->enabled = false;
79 struct innolux_panel *innolux = to_innolux_panel(panel);
82 if (!innolux->prepared)
85 err = mipi_dsi_dcs_set_display_off(innolux->link);
89 err = mipi_dsi_dcs_enter_sleep_mode(innolux->link);
95 if (innolux->desc->sleep_mode_delay)
96 msleep(innolux->desc->sleep_mode_delay);
98 gpiod_set_value_cansleep(innolux->enable_gpio, 0);
100 if (innolux->desc->power_down_delay)
101 msleep(innolux->desc->power_down_delay);
103 err = regulator_bulk_disable(innolux->desc->num_supplies,
104 innolux->supplies);
108 innolux->prepared = false;
115 struct innolux_panel *innolux = to_innolux_panel(panel);
118 if (innolux->prepared)
121 gpiod_set_value_cansleep(innolux->enable_gpio, 0);
123 err = regulator_bulk_enable(innolux->desc->num_supplies,
124 innolux->supplies);
131 gpiod_set_value_cansleep(innolux->enable_gpio, 1);
136 if (innolux->desc->init_cmds) {
138 innolux->desc->init_cmds;
144 err = mipi_dsi_generic_write(innolux->link, cmd->data,
156 err = mipi_dsi_dcs_nop(innolux->link);
164 err = mipi_dsi_dcs_exit_sleep_mode(innolux->link);
173 err = mipi_dsi_dcs_set_display_on(innolux->link);
182 innolux->prepared = true;
187 gpiod_set_value_cansleep(innolux->enable_gpio, 0);
188 regulator_bulk_disable(innolux->desc->num_supplies, innolux->supplies);
195 struct innolux_panel *innolux = to_innolux_panel(panel);
197 if (innolux->enabled)
200 innolux->enabled = true;
388 struct innolux_panel *innolux = to_innolux_panel(panel);
389 const struct drm_display_mode *m = innolux->desc->mode;
403 connector->display_info.width_mm = innolux->desc->size.width;
404 connector->display_info.height_mm = innolux->desc->size.height;
405 connector->display_info.bpc = innolux->desc->bpc;
419 { .compatible = "innolux,p079zca",
422 { .compatible = "innolux,p097pfg",
432 struct innolux_panel *innolux;
436 innolux = devm_kzalloc(dev, sizeof(*innolux), GFP_KERNEL);
437 if (!innolux)
440 innolux->desc = desc;
442 innolux->supplies = devm_kcalloc(dev, desc->num_supplies,
443 sizeof(*innolux->supplies),
445 if (!innolux->supplies)
449 innolux->supplies[i].supply = desc->supply_names[i];
452 innolux->supplies);
456 innolux->enable_gpio = devm_gpiod_get_optional(dev, "enable",
458 if (IS_ERR(innolux->enable_gpio)) {
459 err = PTR_ERR(innolux->enable_gpio);
461 innolux->enable_gpio = NULL;
464 drm_panel_init(&innolux->base, dev, &innolux_panel_funcs,
467 err = drm_panel_of_backlight(&innolux->base);
471 drm_panel_add(&innolux->base);
473 mipi_dsi_set_drvdata(dsi, innolux);
474 innolux->link = dsi;
479 static void innolux_panel_del(struct innolux_panel *innolux)
481 drm_panel_remove(&innolux->base);
487 struct innolux_panel *innolux;
501 innolux = mipi_dsi_get_drvdata(dsi);
502 innolux_panel_del(innolux);
511 struct innolux_panel *innolux = mipi_dsi_get_drvdata(dsi);
514 err = drm_panel_unprepare(&innolux->base);
518 err = drm_panel_disable(&innolux->base);
526 innolux_panel_del(innolux);
533 struct innolux_panel *innolux = mipi_dsi_get_drvdata(dsi);
535 drm_panel_unprepare(&innolux->base);
536 drm_panel_disable(&innolux->base);
541 .name = "panel-innolux-p079zca",