05 Mar, 2015

1 commit

  • Commit 0b776d457b94 ("drm/msm: fix fallout of atomic dpms
    changes") has a typo in both mdp5_encoder_helper_funcs and
    mdp5_crtc_helper_funcs definitions:

    .dpms entry should be replaced by .disable and .enable

    Also fixed a typo in mdp5_encoder_enable().

    Note that these typos are only present for MDP5. MDP4 is fine.

    Signed-off-by: Stephane Viau
    Signed-off-by: Rob Clark

    Stephane Viau
     

02 Feb, 2015

2 commits

  • Modified the hard-coded hdmi connector/encoder implementations in msm drm
    driver to support both edp and hdmi.

    V1: Initial change

    V2: Address Thierry's change

    Signed-off-by: Hai Li
    Signed-off-by: Rob Clark

    Hai Li
     
  • As a result of atomic DPMS support, the various prepare/commit hooks get
    called in a way that msm dislikes. We were expecting prepare/commit to
    bracket a modeset, which is no longer the case. This was needed to hold
    various extra clk's (such as interface clks) on while we are touching
    registers, and in the case of mdp4 holding vblank enabled.

    The most straightforward way to deal with this, since we already have
    our own atomic_commit(), is to just handle prepare/commit internally to
    the driver (with some additional vfuncs for mdp4 vs mdp5), and switch
    everything over to instead use the new enable/disable hooks. It doesn't
    really change too much, despite the code motion. What used to be in the
    encoder/crtc dpms() fxns is split out into enable/disable.

    We should be able to drop our own enable-state tracking, as the atomic
    helpers should do this for us. But keeping that for the short term for
    extra debugging as atomic stablizes.

    Signed-off-by: Rob Clark

    Rob Clark
     

21 Nov, 2014

2 commits

  • When disabling the interface (INTF), the change doesn't latch until next
    vblank, so we need to wait for vblank.

    Also, to be pedantic, in the crtc, set all the mixer stages to unused.
    It shouldn't really matter, since at this point we have already disabled
    the INTF and waited for necessary vblank.

    Signed-off-by: Rob Clark

    Rob Clark
     
  • MDP5 currently support one single CRTC with its private pipe.
    This change allows the configuration of multiple CRTCs with
    the possibility to attach several public planes to these CRTCs.

    Signed-off-by: Stephane Viau
    Signed-off-by: Rob Clark

    Stephane Viau
     

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