1. 02 4月, 2015 2 次提交
    • 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
    • R
      drm/msm: split out vram initialization · 5bf9c0b6
      Rob Clark 提交于
      We'll want to extend this a bit to handle also a reserved-memory
      ("stolen") region, so that drm/msm can take-over bootloader splash
      screen.  First split it out into it's own fxn to reduce noise in
      the following patch.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      5bf9c0b6
  2. 02 2月, 2015 2 次提交
  3. 19 12月, 2014 1 次提交
  4. 18 12月, 2014 1 次提交
    • D
      drm/atomic-helper: Again check modeset *before* plane states · b4274fbe
      Daniel Vetter 提交于
      This essentially reverts
      
      commit 934ce1c2
      Author: Rob Clark <robdclark@gmail.com>
      Date:   Wed Nov 19 16:41:33 2014 -0500
      
          drm/atomic: check mode_changed *after* atomic_check
      
      Depending upon the driver both orders (or maybe even interleaving) is
      required:
      - If ->atomic_check updates ->mode_changed then helper_check_modeset
        must be run afters.
      - If ->atomic_check depends upon accurate adjusted dotclock values for
        e.g. watermarks, then helper_check_modeset must be run first.
      
      The failure mode in the first case is usually a totally angry hw
      because the pixel format switching doesn't happen. The failure mode in
      the later case is usually nothing, since in most cases the old
      adjusted mode from the previous modeset wont be too far off to be a
      problem. So just underruns and perhaps even just suboptimal (from a
      power consumption) watermarks.
      
      Furthermore in the transitional helpers we only call ->atomic_check
      after the new modeset state has been fully set up (and hence
      computed).
      
      Given that asymmetry in expected failure modes I think it's safer to
      go back to the older order. So do that and give msm a special check
      function to compensate.
      
      Also update kerneldoc to explain this a bit.
      
      v2: Actually add the missing hunk Rob spotted.
      
      v3: Move msm_atomic_check into msm_atomic.c, requested by Rob.
      
      Cc: Rob Clark <robdclark@gmail.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Tested-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      b4274fbe
  5. 17 11月, 2014 3 次提交
  6. 20 10月, 2014 1 次提交
  7. 11 9月, 2014 1 次提交
  8. 10 9月, 2014 4 次提交
  9. 26 8月, 2014 1 次提交
  10. 04 8月, 2014 2 次提交
    • R
      drm/msm: fix potential deadlock in gpu init · a1ad3523
      Rob Clark 提交于
      Somewhere along the way, the firmware loader sprouted another lock
      dependency, resulting in possible deadlock scenario:
      
       &dev->struct_mutex --> &sb->s_type->i_mutex_key#2 --> &mm->mmap_sem
      
      which is problematic vs things like gem mmap.
      
      So introduce a separate mutex to synchronize gpu init.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      a1ad3523
    • R
      drm/msm: DT support for 8960/8064 (v3) · 41e69778
      Rob Clark 提交于
      Now that we (almost) have enough dependencies in place (MMCC, RPM, etc),
      add necessary DT support so that we can use drm/msm on upstream kernel.
      
      v2: update for review comments
      v3: rebase on component helper changes
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      41e69778
  11. 05 7月, 2014 1 次提交
  12. 22 6月, 2014 1 次提交
  13. 05 6月, 2014 1 次提交
  14. 02 6月, 2014 3 次提交
  15. 23 4月, 2014 1 次提交
  16. 31 3月, 2014 3 次提交
  17. 14 1月, 2014 1 次提交
  18. 10 1月, 2014 3 次提交
    • R
      drm/msm: add mdp5/apq8x74 · 06c0dd96
      Rob Clark 提交于
      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: NRob Clark <robdclark@gmail.com>
      06c0dd96
    • R
      drm/msm: split out msm_kms.h · dd2da6e3
      Rob Clark 提交于
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      dd2da6e3
    • R
      drm/msm: add support for non-IOMMU systems · 871d812a
      Rob Clark 提交于
      Add a VRAM carveout that is used for systems which do not have an IOMMU.
      
      The VRAM carveout uses CMA.  The arch code must setup a CMA pool for the
      device (preferrably in highmem.. a 256m-512m VRAM pool in lowmem is not
      cool).  The user can configure the VRAM pool size using msm.vram module
      param.
      
      Technically, the abstraction of IOMMU behind msm_mmu is not strictly
      needed, but it simplifies the GEM code a bit, and will be useful later
      when I add support for a2xx devices with GPUMMU, so I decided to keep
      this part.
      
      It appears to be possible to configure the GPU to restrict access to
      addresses within the VRAM pool, but this is not done yet.  So for now
      the GPU will refuse to load if there is no sort of mmu.  Once address
      based limits are supported and tested to confirm that we aren't giving
      the GPU access to arbitrary memory, this restriction can be lifted
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      871d812a
  19. 18 12月, 2013 2 次提交
  20. 02 11月, 2013 3 次提交
  21. 28 9月, 2013 3 次提交