Lines Matching full:panel
3 * Raydium RM67191 MIPI-DSI panel driver
24 /* Panel specific color-format bits */
198 struct drm_panel panel; member
228 static inline struct rad_panel *to_rad_panel(struct drm_panel *panel) in to_rad_panel() argument
230 return container_of(panel, struct rad_panel, panel); in to_rad_panel()
266 static int rad_panel_prepare(struct drm_panel *panel) in rad_panel_prepare() argument
268 struct rad_panel *rad = to_rad_panel(panel); in rad_panel_prepare()
290 static int rad_panel_unprepare(struct drm_panel *panel) in rad_panel_unprepare() argument
292 struct rad_panel *rad = to_rad_panel(panel); in rad_panel_unprepare()
318 static int rad_panel_enable(struct drm_panel *panel) in rad_panel_enable() argument
320 struct rad_panel *rad = to_rad_panel(panel); in rad_panel_enable()
404 static int rad_panel_disable(struct drm_panel *panel) in rad_panel_disable() argument
406 struct rad_panel *rad = to_rad_panel(panel); in rad_panel_disable()
439 static int rad_panel_get_modes(struct drm_panel *panel) in rad_panel_get_modes() argument
441 struct drm_connector *connector = panel->connector; in rad_panel_get_modes()
444 mode = drm_mode_duplicate(panel->drm, &default_mode); in rad_panel_get_modes()
446 DRM_DEV_ERROR(panel->dev, "failed to add mode %ux%ux@%u\n", in rad_panel_get_modes()
454 drm_mode_probed_add(panel->connector, mode); in rad_panel_get_modes()
544 struct rad_panel *panel; in rad_panel_probe() local
549 panel = devm_kzalloc(&dsi->dev, sizeof(*panel), GFP_KERNEL); in rad_panel_probe()
550 if (!panel) in rad_panel_probe()
553 mipi_dsi_set_drvdata(dsi, panel); in rad_panel_probe()
555 panel->dsi = dsi; in rad_panel_probe()
587 panel->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); in rad_panel_probe()
588 if (IS_ERR(panel->reset)) in rad_panel_probe()
589 return PTR_ERR(panel->reset); in rad_panel_probe()
596 panel->backlight = devm_backlight_device_register(dev, dev_name(dev), in rad_panel_probe()
599 if (IS_ERR(panel->backlight)) { in rad_panel_probe()
600 ret = PTR_ERR(panel->backlight); in rad_panel_probe()
605 ret = rad_init_regulators(panel); in rad_panel_probe()
609 drm_panel_init(&panel->panel); in rad_panel_probe()
610 panel->panel.funcs = &rad_panel_funcs; in rad_panel_probe()
611 panel->panel.dev = dev; in rad_panel_probe()
612 dev_set_drvdata(dev, panel); in rad_panel_probe()
614 ret = drm_panel_add(&panel->panel); in rad_panel_probe()
620 drm_panel_remove(&panel->panel); in rad_panel_probe()
636 drm_panel_remove(&rad->panel); in rad_panel_remove()
645 rad_panel_disable(&rad->panel); in rad_panel_shutdown()
646 rad_panel_unprepare(&rad->panel); in rad_panel_shutdown()
657 .name = "panel-raydium-rm67191",
667 MODULE_DESCRIPTION("DRM Driver for Raydium RM67191 MIPI DSI panel");