1. 02 4月, 2015 1 次提交
    • R
      drm/msm: add support for "stolen" mem · 072f1f91
      Rob Clark 提交于
      Add support to use the VRAM carveout (if specified in dtb) for fbdev
      scanout buffer.  This allows drm/msm to take over a bootloader splash-
      screen, and avoids corruption on screen that results if the kernel uses
      memory that is still being scanned out for itself.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      072f1f91
  2. 02 2月, 2015 1 次提交
    • R
      drm/msm: fix fallout of atomic dpms changes · 0b776d45
      Rob Clark 提交于
      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: NRob Clark <robdclark@gmail.com>
      0b776d45
  3. 21 1月, 2015 1 次提交
  4. 17 12月, 2014 1 次提交
  5. 17 11月, 2014 1 次提交
    • D
      drm/msm: Fix fbdev for 16- and 24-bit modes. · 95a9b8d1
      Daniel Thompson 提交于
      Currently forcing the video mode from the kernel command line (for example
      video=HDMI-A-1:1280x720-16@60) does not correctly set the number of bits
      per pixel. This is due to a rather aggressive override in
      msm_fbdev_create(). This is a particular problem for Android bring up
      because the software EGL fallbacks don't support 32bpp.
      
      Since the overrides are actually the default values anyway then this
      problem can be trivially fixed by removing the overrides completely.
      
      Change was tested by dd'ing a test image to /dev/fb0 with no video=
      (still 32bpp), video=1920x1080-32@60, video=1920x1080-24@60 and
      video=1920x1080-16@60 .
      Signed-off-by: NDaniel Thompson <daniel.thompson@linaro.org>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Rob Clark <robdclark@gmail.com>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      95a9b8d1
  6. 26 8月, 2014 1 次提交
  7. 04 8月, 2014 1 次提交
  8. 08 7月, 2014 2 次提交
  9. 22 6月, 2014 1 次提交
    • M
      drm/msm: Replace type of paddr to uint32_t. · 2557e2d7
      Matwey V. Kornilov 提交于
      This patch helps to avoid the following build issue:
      
      drivers/gpu/drm/msm/msm_fbdev.c:108:2: error: passing argument 3 of 'msm_gem_get_iova_locked' from incompatible pointer type [-Werror]
         msm_gem_get_iova_locked(fbdev->bo, 0, &paddr);
         ^
      In file included from drivers/gpu/drm/msm/msm_fbdev.c:18:0:
      drivers/gpu/drm/msm/msm_drv.h:153:5: note: expected 'uint32_t *' but argument is of type 'dma_addr_t *'
        int msm_gem_get_iova_locked(struct drm_gem_object *obj, int id,
            ^
      Signed-off-by: NMatwey V. Kornilov <matwey@sai.msu.ru>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      2557e2d7
  10. 25 4月, 2014 1 次提交
  11. 25 8月, 2013 1 次提交
    • R
      drm/msm: basic KMS driver for snapdragon · c8afe684
      Rob Clark 提交于
      The snapdragon chips have multiple different display controllers,
      depending on which chip variant/version.  (As far as I can tell, current
      devices have either MDP3 or MDP4, and upcoming devices have MDSS.)  And
      then external to the display controller are HDMI, DSI, etc. blocks which
      may be shared across devices which have different display controller
      blocks.
      
      To more easily add support for different display controller blocks, the
      display controller specific bits are split out into a "kms" module,
      which provides the kms plane/crtc/encoder objects.
      
      The external HDMI, DSI, etc. blocks are part encoder, and part connector
      currently.  But I think I will pull in the drm_bridge patches from
      chromeos tree, and split them into a bridge+connector, with the
      registers that need to be set in modeset handled by the bridge.  This
      would remove the 'msm_connector' base class.  But some things need to be
      double checked to make sure I could get the correct ON/OFF sequencing..
      
      This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
      (part of MDP4 block), and hdmi.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      c8afe684