drm: of: Add drm_of_lvds_get_dual_link_pixel_order
authorFabrizio Castro <fabrizio.castro@bp.renesas.com>
Tue, 17 Dec 2019 13:45:56 +0000 (13:45 +0000)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 18 Dec 2019 00:40:16 +0000 (02:40 +0200)
commit6529007522ded00b8912c079250620fa7a732166
treed741cb30badcd5464e018b6e0a588a089bf40c49
parent593885b085d699c9f49992c3ea50f372e0c7008d
drm: of: Add drm_of_lvds_get_dual_link_pixel_order

An LVDS dual-link connection is made of two links, with even
pixels transitting on one link, and odd pixels on the other
link. The device tree can be used to fully describe dual-link
LVDS connections between encoders and bridges/panels.
The sink of an LVDS dual-link connection is made of two ports,
the corresponding OF graph port nodes can be marked
with either dual-lvds-even-pixels or dual-lvds-odd-pixels,
and that fully describes an LVDS dual-link connection,
including pixel order.

drm_of_lvds_get_dual_link_pixel_order is a new helper
added by this patch, given the source port nodes it
returns DRM_LVDS_DUAL_LINK_EVEN_ODD_PIXELS if the source
port nodes belong to an LVDS dual-link connection, with even
pixels expected to be generated from the first port, and odd
pixels expected to be generated from the second port.
If the new helper returns DRM_LVDS_DUAL_LINK_ODD_EVEN_PIXELS,
odd pixels are expected to be generated from the first port,
and even pixels from the other port.

Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
drivers/gpu/drm/drm_of.c
include/drm/drm_of.h