Lines Matching full:companion

76 	struct drm_bridge *companion;  member
465 /* Enable the companion LVDS encoder in dual-link mode. */ in __rcar_lvds_atomic_enable()
466 if (lvds->link_type != RCAR_LVDS_SINGLE_LINK && lvds->companion) in __rcar_lvds_atomic_enable()
467 __rcar_lvds_atomic_enable(lvds->companion, state, crtc, in __rcar_lvds_atomic_enable()
497 * encoder and odd pixels from the companion encoder. in __rcar_lvds_atomic_enable()
500 * companion encoder. in __rcar_lvds_atomic_enable()
509 * ST_SWAP is reserved for the companion encoder, only in __rcar_lvds_atomic_enable()
513 | (lvds->companion && swap_pixels ? in __rcar_lvds_atomic_enable()
520 * PLL clock configuration on all instances but the companion in in __rcar_lvds_atomic_enable()
523 if (lvds->link_type == RCAR_LVDS_SINGLE_LINK || lvds->companion) { in __rcar_lvds_atomic_enable()
621 /* Disable the companion LVDS encoder in dual-link mode. */ in rcar_lvds_atomic_disable()
622 if (lvds->link_type != RCAR_LVDS_SINGLE_LINK && lvds->companion) in rcar_lvds_atomic_disable()
623 lvds->companion->funcs->atomic_disable(lvds->companion, in rcar_lvds_atomic_disable()
713 struct device_node *companion; in rcar_lvds_parse_dt_companion() local
720 /* Locate the companion LVDS encoder for dual-link operation, if any. */ in rcar_lvds_parse_dt_companion()
721 companion = of_parse_phandle(dev->of_node, "renesas,companion", 0); in rcar_lvds_parse_dt_companion()
722 if (!companion) in rcar_lvds_parse_dt_companion()
726 * Sanity check: the companion encoder must have the same compatible in rcar_lvds_parse_dt_companion()
730 if (!of_device_is_compatible(companion, match->compatible)) { in rcar_lvds_parse_dt_companion()
731 dev_err(dev, "Companion LVDS encoder is invalid\n"); in rcar_lvds_parse_dt_companion()
743 port1 = of_graph_get_port_by_id(companion, 1); in rcar_lvds_parse_dt_companion()
760 * encoder, and odd pixels from the companion encoder. in rcar_lvds_parse_dt_companion()
774 lvds->companion = of_drm_find_bridge(companion); in rcar_lvds_parse_dt_companion()
775 if (!lvds->companion) { in rcar_lvds_parse_dt_companion()
781 "Dual-link configuration detected (companion encoder %pOF)\n", in rcar_lvds_parse_dt_companion()
782 companion); in rcar_lvds_parse_dt_companion()
788 * FIXME: We should not be messing with the companion encoder private in rcar_lvds_parse_dt_companion()
789 * data from the primary encoder, we should rather let the companion in rcar_lvds_parse_dt_companion()
790 * encoder work things out on its own. However, the companion encoder in rcar_lvds_parse_dt_companion()
796 companion_lvds = bridge_to_rcar_lvds(lvds->companion); in rcar_lvds_parse_dt_companion()
800 of_node_put(companion); in rcar_lvds_parse_dt_companion()