Lines Matching refs:ctx

47 	struct exynos_dpi *ctx = connector_to_dpi(connector);  in exynos_dpi_detect()  local
49 if (ctx->panel && !ctx->panel->connector) in exynos_dpi_detect()
50 drm_panel_attach(ctx->panel, &ctx->connector); in exynos_dpi_detect()
70 struct exynos_dpi *ctx = connector_to_dpi(connector); in exynos_dpi_get_modes() local
73 if (ctx->vm) { in exynos_dpi_get_modes()
81 drm_display_mode_from_videomode(ctx->vm, mode); in exynos_dpi_get_modes()
87 if (ctx->panel) in exynos_dpi_get_modes()
88 return ctx->panel->funcs->get_modes(ctx->panel); in exynos_dpi_get_modes()
96 struct exynos_dpi *ctx = connector_to_dpi(connector); in exynos_dpi_best_encoder() local
98 return ctx->encoder; in exynos_dpi_best_encoder()
109 struct exynos_dpi *ctx = display_to_dpi(display); in exynos_dpi_create_connector() local
110 struct drm_connector *connector = &ctx->connector; in exynos_dpi_create_connector()
113 ctx->encoder = encoder; in exynos_dpi_create_connector()
132 static void exynos_dpi_poweron(struct exynos_dpi *ctx) in exynos_dpi_poweron() argument
134 if (ctx->panel) { in exynos_dpi_poweron()
135 drm_panel_prepare(ctx->panel); in exynos_dpi_poweron()
136 drm_panel_enable(ctx->panel); in exynos_dpi_poweron()
140 static void exynos_dpi_poweroff(struct exynos_dpi *ctx) in exynos_dpi_poweroff() argument
142 if (ctx->panel) { in exynos_dpi_poweroff()
143 drm_panel_disable(ctx->panel); in exynos_dpi_poweroff()
144 drm_panel_unprepare(ctx->panel); in exynos_dpi_poweroff()
150 struct exynos_dpi *ctx = display_to_dpi(display); in exynos_dpi_dpms() local
154 if (ctx->dpms_mode != DRM_MODE_DPMS_ON) in exynos_dpi_dpms()
155 exynos_dpi_poweron(ctx); in exynos_dpi_dpms()
160 if (ctx->dpms_mode == DRM_MODE_DPMS_ON) in exynos_dpi_dpms()
161 exynos_dpi_poweroff(ctx); in exynos_dpi_dpms()
166 ctx->dpms_mode = mode; in exynos_dpi_dpms()
262 static int exynos_dpi_parse_dt(struct exynos_dpi *ctx) in exynos_dpi_parse_dt() argument
264 struct device *dev = ctx->dev; in exynos_dpi_parse_dt()
268 ctx->panel_node = exynos_dpi_of_find_panel_node(dev); in exynos_dpi_parse_dt()
277 vm = devm_kzalloc(dev, sizeof(*ctx->vm), GFP_KERNEL); in exynos_dpi_parse_dt()
287 ctx->vm = vm; in exynos_dpi_parse_dt()
292 if (!ctx->panel_node) in exynos_dpi_parse_dt()
300 struct exynos_dpi *ctx; in exynos_dpi_probe() local
303 ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); in exynos_dpi_probe()
304 if (!ctx) in exynos_dpi_probe()
307 ctx->display.type = EXYNOS_DISPLAY_TYPE_LCD; in exynos_dpi_probe()
308 ctx->display.ops = &exynos_dpi_display_ops; in exynos_dpi_probe()
309 ctx->dev = dev; in exynos_dpi_probe()
310 ctx->dpms_mode = DRM_MODE_DPMS_OFF; in exynos_dpi_probe()
314 ctx->display.type); in exynos_dpi_probe()
318 ret = exynos_dpi_parse_dt(ctx); in exynos_dpi_probe()
320 devm_kfree(dev, ctx); in exynos_dpi_probe()
324 if (ctx->panel_node) { in exynos_dpi_probe()
325 ctx->panel = of_drm_find_panel(ctx->panel_node); in exynos_dpi_probe()
326 if (!ctx->panel) { in exynos_dpi_probe()
333 return &ctx->display; in exynos_dpi_probe()
343 struct exynos_dpi *ctx = display_to_dpi(display); in exynos_dpi_remove() local
345 exynos_dpi_dpms(&ctx->display, DRM_MODE_DPMS_OFF); in exynos_dpi_remove()
347 if (ctx->panel) in exynos_dpi_remove()
348 drm_panel_detach(ctx->panel); in exynos_dpi_remove()
350 exynos_drm_component_del(ctx->dev, EXYNOS_DEVICE_TYPE_CONNECTOR); in exynos_dpi_remove()