Lines Matching refs:panel
53 static inline struct seiko_panel *to_seiko_panel(struct drm_panel *panel) in to_seiko_panel() argument
55 return container_of(panel, struct seiko_panel, base); in to_seiko_panel()
58 static int seiko_panel_get_fixed_modes(struct seiko_panel *panel, in seiko_panel_get_fixed_modes() argument
64 if (!panel->desc) in seiko_panel_get_fixed_modes()
67 for (i = 0; i < panel->desc->num_timings; i++) { in seiko_panel_get_fixed_modes()
68 const struct display_timing *dt = &panel->desc->timings[i]; in seiko_panel_get_fixed_modes()
74 dev_err(panel->base.dev, "failed to add mode %ux%u\n", in seiko_panel_get_fixed_modes()
83 if (panel->desc->num_timings == 1) in seiko_panel_get_fixed_modes()
90 for (i = 0; i < panel->desc->num_modes; i++) { in seiko_panel_get_fixed_modes()
91 const struct drm_display_mode *m = &panel->desc->modes[i]; in seiko_panel_get_fixed_modes()
95 dev_err(panel->base.dev, "failed to add mode %ux%u@%u\n", in seiko_panel_get_fixed_modes()
103 if (panel->desc->num_modes == 1) in seiko_panel_get_fixed_modes()
112 connector->display_info.bpc = panel->desc->bpc; in seiko_panel_get_fixed_modes()
113 connector->display_info.width_mm = panel->desc->size.width; in seiko_panel_get_fixed_modes()
114 connector->display_info.height_mm = panel->desc->size.height; in seiko_panel_get_fixed_modes()
115 if (panel->desc->bus_format) in seiko_panel_get_fixed_modes()
117 &panel->desc->bus_format, 1); in seiko_panel_get_fixed_modes()
118 connector->display_info.bus_flags = panel->desc->bus_flags; in seiko_panel_get_fixed_modes()
123 static int seiko_panel_disable(struct drm_panel *panel) in seiko_panel_disable() argument
125 struct seiko_panel *p = to_seiko_panel(panel); in seiko_panel_disable()
135 static int seiko_panel_unprepare(struct drm_panel *panel) in seiko_panel_unprepare() argument
137 struct seiko_panel *p = to_seiko_panel(panel); in seiko_panel_unprepare()
154 static int seiko_panel_prepare(struct drm_panel *panel) in seiko_panel_prepare() argument
156 struct seiko_panel *p = to_seiko_panel(panel); in seiko_panel_prepare()
164 dev_err(panel->dev, "failed to enable dvdd: %d\n", err); in seiko_panel_prepare()
173 dev_err(panel->dev, "failed to enable avdd: %d\n", err); in seiko_panel_prepare()
186 static int seiko_panel_enable(struct drm_panel *panel) in seiko_panel_enable() argument
188 struct seiko_panel *p = to_seiko_panel(panel); in seiko_panel_enable()
198 static int seiko_panel_get_modes(struct drm_panel *panel, in seiko_panel_get_modes() argument
201 struct seiko_panel *p = to_seiko_panel(panel); in seiko_panel_get_modes()
207 static int seiko_panel_get_timings(struct drm_panel *panel, in seiko_panel_get_timings() argument
211 struct seiko_panel *p = to_seiko_panel(panel); in seiko_panel_get_timings()
236 struct seiko_panel *panel; in seiko_panel_probe() local
239 panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL); in seiko_panel_probe()
240 if (!panel) in seiko_panel_probe()
243 panel->enabled = false; in seiko_panel_probe()
244 panel->prepared = false; in seiko_panel_probe()
245 panel->desc = desc; in seiko_panel_probe()
247 panel->dvdd = devm_regulator_get(dev, "dvdd"); in seiko_panel_probe()
248 if (IS_ERR(panel->dvdd)) in seiko_panel_probe()
249 return PTR_ERR(panel->dvdd); in seiko_panel_probe()
251 panel->avdd = devm_regulator_get(dev, "avdd"); in seiko_panel_probe()
252 if (IS_ERR(panel->avdd)) in seiko_panel_probe()
253 return PTR_ERR(panel->avdd); in seiko_panel_probe()
255 drm_panel_init(&panel->base, dev, &seiko_panel_funcs, in seiko_panel_probe()
258 err = drm_panel_of_backlight(&panel->base); in seiko_panel_probe()
262 drm_panel_add(&panel->base); in seiko_panel_probe()
264 dev_set_drvdata(dev, panel); in seiko_panel_probe()
271 struct seiko_panel *panel = platform_get_drvdata(pdev); in seiko_panel_remove() local
273 drm_panel_remove(&panel->base); in seiko_panel_remove()
274 drm_panel_disable(&panel->base); in seiko_panel_remove()
281 struct seiko_panel *panel = platform_get_drvdata(pdev); in seiko_panel_shutdown() local
283 drm_panel_disable(&panel->base); in seiko_panel_shutdown()