25 Apr, 2014

1 commit

  • The hw cursor is relatively adept at triggering underflows, which
    manifest as a "blue flash" (since blue is configured as the underflow
    color). Juggle a few things around to tighten up the timing for setting
    cursor registers in DONE irq.

    And most importantly, don't ever disable the hw cursor. Instead flip it
    to a blank/empty cursor. This seems far more reliable, as even simply
    clearing the cursor-enable bit (with no other updates in previous/
    following frames) can in some cases cause underflow.

    v1: original
    v2: add missing locking spotted by Micah

    Cc: Micah Richert
    Signed-off-by: Rob Clark

    Rob Clark
     

10 Jan, 2014

1 commit

  • Add support for the new MDP5 display controller block. The mapping
    between parts of the display controller and KMS is:

    plane -> PIPE{RGBn,VIGn} \
    crtc -> LM (layer mixer) |-> MDP "device"
    encoder -> INTF /
    connector -> HDMI/DSI/eDP/etc --> other device(s)

    Unlike MDP4, it appears we can get by with a single encoder, rather
    than needing a different implementation for DTV, DSI, etc. (Ie. the
    register interface is same, just different bases.)

    Also unlike MDP4, all the IRQs for other blocks (HDMI, DSI, etc) are
    routed through MDP.

    And finally, MDP5 has this "Shared Memory Pool" (called "SMP"), from
    which blocks need to be allocated to the active pipes based on fetch
    stride.

    Signed-off-by: Rob Clark

    Rob Clark