21 Mar, 2013

1 commit

  • We currently have videomode_from_timing(), which takes one
    display_timing entry from display_timings.

    To make it easier to use display_timing without display_timings, this
    patch renames videomode_from_timing() to videomode_from_timings(), and
    adds a new videomode_from_timing() which just converts a given
    display_timing to videomode.

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

    Tomi Valkeinen
     

12 Mar, 2013

2 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
     
  • 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