Lines Matching refs:imxpd

50 	struct imx_parallel_display *imxpd = con_to_imxpd(connector);  in imx_pd_connector_get_modes()  local
51 struct device_node *np = imxpd->dev->of_node; in imx_pd_connector_get_modes()
54 num_modes = drm_panel_get_modes(imxpd->panel, connector); in imx_pd_connector_get_modes()
58 if (imxpd->edid) { in imx_pd_connector_get_modes()
59 drm_connector_update_edid_property(connector, imxpd->edid); in imx_pd_connector_get_modes()
60 num_modes = drm_add_edid_modes(connector, imxpd->edid); in imx_pd_connector_get_modes()
70 ret = of_get_drm_display_mode(np, &imxpd->mode, in imx_pd_connector_get_modes()
71 &imxpd->bus_flags, in imx_pd_connector_get_modes()
78 drm_mode_copy(mode, &imxpd->mode); in imx_pd_connector_get_modes()
89 struct imx_parallel_display *imxpd = bridge_to_imxpd(bridge); in imx_pd_bridge_enable() local
91 drm_panel_prepare(imxpd->panel); in imx_pd_bridge_enable()
92 drm_panel_enable(imxpd->panel); in imx_pd_bridge_enable()
97 struct imx_parallel_display *imxpd = bridge_to_imxpd(bridge); in imx_pd_bridge_disable() local
99 drm_panel_disable(imxpd->panel); in imx_pd_bridge_disable()
100 drm_panel_unprepare(imxpd->panel); in imx_pd_bridge_disable()
120 struct imx_parallel_display *imxpd = bridge_to_imxpd(bridge); in imx_pd_bridge_atomic_get_output_bus_fmts() local
123 if (!imxpd->bus_format && !di->num_bus_formats) { in imx_pd_bridge_atomic_get_output_bus_fmts()
134 if (!imxpd->bus_format && di->num_bus_formats) in imx_pd_bridge_atomic_get_output_bus_fmts()
137 output_fmts[0] = imxpd->bus_format; in imx_pd_bridge_atomic_get_output_bus_fmts()
162 struct imx_parallel_display *imxpd = bridge_to_imxpd(bridge); in imx_pd_bridge_atomic_get_input_bus_fmts() local
171 output_fmt = imxpd->bus_format ? : MEDIA_BUS_FMT_RGB888_1X24; in imx_pd_bridge_atomic_get_input_bus_fmts()
174 if ((imxpd->bus_format && imxpd->bus_format != output_fmt) || in imx_pd_bridge_atomic_get_input_bus_fmts()
196 struct imx_parallel_display *imxpd = bridge_to_imxpd(bridge); in imx_pd_bridge_atomic_check() local
211 bus_flags = imxpd->bus_flags; in imx_pd_bridge_atomic_check()
251 struct imx_parallel_display *imxpd) in imx_pd_register() argument
253 struct drm_encoder *encoder = &imxpd->encoder; in imx_pd_register()
256 ret = imx_drm_encoder_parse_of(drm, encoder, imxpd->dev->of_node); in imx_pd_register()
265 imxpd->connector.dpms = DRM_MODE_DPMS_OFF; in imx_pd_register()
269 imxpd->bridge.funcs = &imx_pd_bridge_funcs; in imx_pd_register()
270 drm_bridge_attach(encoder, &imxpd->bridge, NULL, 0); in imx_pd_register()
272 if (!imxpd->next_bridge) { in imx_pd_register()
273 drm_connector_helper_add(&imxpd->connector, in imx_pd_register()
275 drm_connector_init(drm, &imxpd->connector, in imx_pd_register()
280 if (imxpd->next_bridge) { in imx_pd_register()
281 ret = drm_bridge_attach(encoder, imxpd->next_bridge, in imx_pd_register()
282 &imxpd->bridge, 0); in imx_pd_register()
284 dev_err(imxpd->dev, "failed to attach bridge: %d\n", in imx_pd_register()
289 drm_connector_attach_encoder(&imxpd->connector, encoder); in imx_pd_register()
300 struct imx_parallel_display *imxpd; in imx_pd_bind() local
306 imxpd = dev_get_drvdata(dev); in imx_pd_bind()
307 memset(imxpd, 0, sizeof(*imxpd)); in imx_pd_bind()
310 ret = drm_of_find_panel_or_bridge(np, 1, 0, &imxpd->panel, in imx_pd_bind()
311 &imxpd->next_bridge); in imx_pd_bind()
317 imxpd->edid = devm_kmemdup(dev, edidp, edid_len, GFP_KERNEL); in imx_pd_bind()
330 imxpd->bus_format = bus_format; in imx_pd_bind()
332 imxpd->dev = dev; in imx_pd_bind()
334 ret = imx_pd_register(drm, imxpd); in imx_pd_bind()
347 struct imx_parallel_display *imxpd; in imx_pd_probe() local
349 imxpd = devm_kzalloc(&pdev->dev, sizeof(*imxpd), GFP_KERNEL); in imx_pd_probe()
350 if (!imxpd) in imx_pd_probe()
353 platform_set_drvdata(pdev, imxpd); in imx_pd_probe()