• Laurent Pinchart's avatar
    drm/omap: Store bus flags in the omap_dss_device structure · b4935e3a
    Laurent Pinchart authored
    Source components in the display pipeline need to configure their output
    signals polarities and clock driving edge based on the requirements of
    the sink component.
    
    Those requirements are currently shared across the whole pipeline in the
    flags of a videomode structure, instead of being local to each bus. This
    both prevents multiple buses from having different configurations (when
    the hardware supports it), and makes it difficult to move from videomode
    to drm_display_mode as the latter doesn't contain bus polarities and
    clock edge flags.
    
    Add a bus_flags field to the omap_dss_device structure and move the
    DISPLAY_FLAGS_DE_(LOW|HIGH), DISPLAY_FLAGS_PIXDATA_(POS|NEG)EDGE and
    DISPLAY_FLAGS_SYNC_(POS|NEG)EDGE videomode flags to bus_flags in all
    external encoders, connectors and panels. The videomode flags are still
    used internally for internal encoders, this will be addressed in a
    second step.
    
    The related videomode flags in the default mode of the DVI connector can
    simply be dropped, as they are always overridden by the TFP410 driver.
    Note that this results in both the DISPLAY_FLAGS_SYNC_POSEDGE and
    DISPLAY_FLAGS_SYNC_NEGEDGE flags being set, which is invalid, but only
    the former is tested for when programming the DISPC, so the DVI
    connector flags are effectively overridden by the TFP410 flags.
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    b4935e3a
omap_crtc.c 19.6 KB