12 Mar, 2013

3 commits

  • Display timing's fields have minimum, typical and maximum values. These
    can be accessed by using timing_entry_index enum, and
    display_timing_get_value() function.

    There's no real need for this extra complexity. The values can be
    accessed more easily by just using the min/typ/max fields.

    Signed-off-by: Tomi Valkeinen
    Cc: Steffen Trumtrar

    Tomi Valkeinen
     
  • Instead of having plain defines for the videomode's flags, add an enum
    for the flags. This makes the flags clearer to use, as the enum tells
    which values can be used with the flags field.

    Signed-off-by: Tomi Valkeinen
    Cc: Steffen Trumtrar

    Tomi Valkeinen
     
  • Both videomode and display_timing contain flags describing the modes.
    These are stored in dmt_flags and data_flags. There's no need to
    separate these flags, and having separate fields just makes the flags
    more difficult to use.

    This patch combines the fields and renames VESA_DMT_* flags to
    DISPLAY_FLAGS_*.

    Signed-off-by: Tomi Valkeinen
    Cc: Steffen Trumtrar

    Tomi Valkeinen
     

24 Jan, 2013

1 commit

  • Add display_timing structure and the according helper functions. This allows
    the description of a display via its supported timing parameters.

    Also, add helper functions to convert from display timings to a generic videomode
    structure.

    The struct display_timing specifies all needed parameters to describe the signal
    properties of a display in one mode. This includes
    - ranges for signals that may have min-, max- and typical values
    - single integers for signals that can be on, off or are ignored
    - booleans for signals that are either on or off

    As a display may support multiple modes like this, a struct display_timings is
    added, that holds all given struct display_timing pointers and declares the
    native mode of the display.

    Although a display may state that a signal can be in a range, it is driven with
    fixed values that indicate a videomode. Therefore graphic drivers don't need all
    the information of struct display_timing, but would generate a videomode from
    the given set of supported signal timings and work with that.

    The video subsystems all define their own structs that describe a mode and work
    with that (e.g. fb_videomode or drm_display_mode). To slowly replace all those
    various structures and allow code reuse across those subsystems, add struct
    videomode as a generic description.

    This patch only includes the most basic fields in struct videomode. All missing
    fields that are needed to have a really generic video mode description can be
    added at a later stage.

    Signed-off-by: Steffen Trumtrar
    Reviewed-by: Thierry Reding
    Acked-by: Thierry Reding
    Tested-by: Thierry Reding
    Tested-by: Philipp Zabel
    Reviewed-by: Laurent Pinchart
    Acked-by: Laurent Pinchart
    Tested-by: Afzal Mohammed
    Tested-by: Rob Clark
    Tested-by: Leela Krishna Amudala

    Steffen Trumtrar