Lines Matching full:companion

39 	struct drm_bridge *companion;  member
119 if (p2d->companion) { in imx8qxp_pxl2dpi_bridge_mode_set()
120 companion_p2d = bridge_to_p2d(p2d->companion); in imx8qxp_pxl2dpi_bridge_mode_set()
125 p2d->companion->funcs->mode_set(p2d->companion, mode, in imx8qxp_pxl2dpi_bridge_mode_set()
141 if (p2d->companion) in imx8qxp_pxl2dpi_bridge_atomic_disable()
142 p2d->companion->funcs->atomic_disable(p2d->companion, in imx8qxp_pxl2dpi_bridge_atomic_disable()
328 struct device_node *companion; in imx8qxp_pxl2dpi_parse_dt_companion() local
334 /* Locate the companion PXL2DPI for dual-link operation, if any. */ in imx8qxp_pxl2dpi_parse_dt_companion()
335 companion = of_parse_phandle(dev->of_node, "fsl,companion-pxl2dpi", 0); in imx8qxp_pxl2dpi_parse_dt_companion()
336 if (!companion) in imx8qxp_pxl2dpi_parse_dt_companion()
339 if (!of_device_is_available(companion)) { in imx8qxp_pxl2dpi_parse_dt_companion()
340 DRM_DEV_ERROR(dev, "companion PXL2DPI is not available\n"); in imx8qxp_pxl2dpi_parse_dt_companion()
346 * Sanity check: the companion bridge must have the same compatible in imx8qxp_pxl2dpi_parse_dt_companion()
350 if (!of_device_is_compatible(companion, match->compatible)) { in imx8qxp_pxl2dpi_parse_dt_companion()
351 DRM_DEV_ERROR(dev, "companion PXL2DPI is incompatible\n"); in imx8qxp_pxl2dpi_parse_dt_companion()
356 p2d->companion = of_drm_find_bridge(companion); in imx8qxp_pxl2dpi_parse_dt_companion()
357 if (!p2d->companion) { in imx8qxp_pxl2dpi_parse_dt_companion()
360 "failed to find companion bridge: %d\n", in imx8qxp_pxl2dpi_parse_dt_companion()
365 companion_p2d = bridge_to_p2d(p2d->companion); in imx8qxp_pxl2dpi_parse_dt_companion()
371 * even pixels and odd pixels than we need to use the companion PXL2DPI. in imx8qxp_pxl2dpi_parse_dt_companion()
387 "dual-link configuration detected (companion bridge %pOF)\n", in imx8qxp_pxl2dpi_parse_dt_companion()
388 companion); in imx8qxp_pxl2dpi_parse_dt_companion()
390 of_node_put(companion); in imx8qxp_pxl2dpi_parse_dt_companion()