[pull] drm/msm: msm-next for 4.10

Message ID CAF6AEGsZc-tyS_ateTT7p978UhXxAghhLuDGyrN7c46ZNbJnBw@mail.gmail.com
State New
Headers show

Pull-request

git://people.freedesktop.org/~robclark/linux msm-next

Message

Rob Clark Nov. 29, 2016, 6:12 p.m.
Hi Dave,

A bit late, but worth the wait.  The big news is a5xx support.  Latest
version of the corresponding mesa patches are here:

  https://github.com/freedreno/mesa/commits/a5xx

On the userspace side, all the basics are working, and most of glmark2
is working.  I've been working through deqp, and I've got a couple more
things to fix (but we've gone from 70% to 80+% pass in last day, and
current deqp run that is going should pick up another 5-10%).  I expect
to push the mesa patches today or tomorrow.

There are a couple more a5xx related patches to take the gpu out of
secure mode (for the devices that come up in secure mode, like the hw
I have), but those depend on an scm patch that would come in through
another tree.  If that can land in the next day or two, there might
be a second late pull request for drm/msm.

In addition to the new-shiny, there have also been a lot of overlay/
plane related fixes for issues found using drm-hwc2 (in the process of
testing/debugging the atomic/kms fence patches), resulting in rework
to assign hwpipes to kms planes dynamically (as part of global atomic
state) and also handling SMP (fifo) block allocation atomically as
part of the ->atomic_check() step.  All those patches should also help
out atomic weston (when those patches eventually land).

Plus some 64b fixes and other misc fixes/improvements.


The following changes since commit 7625e05286cf3f37c8a5e633379a4d014ddbe555:

  Merge branch 'drm-tda998x-devel' of
git://git.armlinux.org.uk/~rmk/linux-arm into drm-next (2016-11-25
09:55:33 +1000)

are available in the git repository at:

  git://people.freedesktop.org/~robclark/linux msm-next

for you to fetch changes up to 2401a008461481387741bacf7318d13af2c2055f:

  drm/msm: gpu: Add support for the GPMU (2016-11-28 15:14:16 -0500)

----------------------------------------------------------------
Archit Taneja (1):
      drm/msm: Remove bad calls to of_node_put()

Jordan Crouse (9):
      drm/msm: gpu: Cut down the list of "generic" registers to the ones we use
      drm/msm: gpu: Return error on hw_init failure
      drm/msm: gpu Add new gpu register read/write functions
      drm/msm: Add adreno_gpu_write64()
      drm/msm: gpu: Add OUT_TYPE4 and OUT_TYPE7
      drm/msm: Remove 'src_clk' from adreno configuration
      drm/msm: Disable interrupts during init
      drm/msm: gpu: Add A5XX target support
      drm/msm: gpu: Add support for the GPMU

Rob Clark (26):
      drm/msm/mdp5: handle non-fullscreen base plane case
      drm/msm/mdp5: no scaling support on RGBn pipes for 8x16
      drm/msm: update uapi header license
      drm/msm/mdp5: 8x16 actually has 8 mixer stages
      drm/msm: use DRM_DEBUG_DRIVER()
      drm/msm/mdp5: clip img size to src size
      drm/msm: support multiple address spaces
      drm/msm/mdp5: small rename
      drm/msm/mdp5: drop mdp5_crtc::name
      drm/msm/mdp5: nuke mdp5_plane_complete_flip()
      drm/msm/mdp5: drop mdp5_plane::name
      drm/msm/mdp5: don't be so casty
      drm/msm/mdp5: rip out mode_changed
      drm/msm/mdp5: introduce mdp5_hw_pipe
      drm/msm: subclass drm_atomic_state
      drm/msm/mdp5: add skeletal mdp5_state
      drm/msm/mdp5: dynamically assign hw pipes to planes
      drm/msm/mdp5: handle SMP block allocations "atomically"
      drm/msm/mdp5: add debugfs to show smp block status
      drm/msm/mdp5: dump smp state on errors too
      drm/msm/mdp5: move LM bounds check into plane->atomic_check()
      drm/msm: set dma_mask properly
      drm/msm: convert iova to 64b
      drm/msm/rd: support for 64b iova
      drm/msm/adreno: move scratch register dumping to per-gen code
      drm/msm: update generated headers

 drivers/gpu/drm/msm/Makefile                   |    4 +
 drivers/gpu/drm/msm/adreno/a2xx.xml.h          |   27 +-
 drivers/gpu/drm/msm/adreno/a3xx.xml.h          |   38 +-
 drivers/gpu/drm/msm/adreno/a3xx_gpu.c          |  112 +-
 drivers/gpu/drm/msm/adreno/a4xx.xml.h          |  111 +-
 drivers/gpu/drm/msm/adreno/a4xx_gpu.c          |  119 +-
 drivers/gpu/drm/msm/adreno/a5xx.xml.h          | 3757 ++++++++++++++++++++++++
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c          |  888 ++++++
 drivers/gpu/drm/msm/adreno/a5xx_gpu.h          |   60 +
 drivers/gpu/drm/msm/adreno/a5xx_power.c        |  344 +++
 drivers/gpu/drm/msm/adreno/adreno_common.xml.h |   21 +-
 drivers/gpu/drm/msm/adreno/adreno_device.c     |   29 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.c        |   39 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.h        |  159 +-
 drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h    |  300 +-
 drivers/gpu/drm/msm/dsi/dsi.xml.h              |    2 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c             |    4 +-
 drivers/gpu/drm/msm/dsi/mmss_cc.xml.h          |    2 +-
 drivers/gpu/drm/msm/dsi/sfpb.xml.h             |    2 +-
 drivers/gpu/drm/msm/edp/edp.xml.h              |    2 +-
 drivers/gpu/drm/msm/hdmi/hdmi.xml.h            |    2 +-
 drivers/gpu/drm/msm/hdmi/qfprom.xml.h          |    2 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h        |    2 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c       |    4 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c        |   38 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h        |    4 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h        |   14 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c        |    8 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c       |   84 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c        |    2 +
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c        |  267 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h        |   41 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.c       |  133 +
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.h       |   56 +
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c      |  261 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c        |  306 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h        |   70 +-
 drivers/gpu/drm/msm/mdp/mdp_common.xml.h       |    2 +-
 drivers/gpu/drm/msm/msm_atomic.c               |   31 +
 drivers/gpu/drm/msm/msm_debugfs.c              |   16 +-
 drivers/gpu/drm/msm/msm_drv.c                  |   29 +-
 drivers/gpu/drm/msm/msm_drv.h                  |   40 +-
 drivers/gpu/drm/msm/msm_fb.c                   |    4 +-
 drivers/gpu/drm/msm/msm_fbdev.c                |    2 +-
 drivers/gpu/drm/msm/msm_gem.c                  |   46 +-
 drivers/gpu/drm/msm/msm_gem.h                  |   23 +-
 drivers/gpu/drm/msm/msm_gem_submit.c           |    9 +-
 drivers/gpu/drm/msm/msm_gem_vma.c              |   90 +
 drivers/gpu/drm/msm/msm_gpu.c                  |   66 +-
 drivers/gpu/drm/msm/msm_gpu.h                  |   45 +-
 drivers/gpu/drm/msm/msm_iommu.c                |   12 +-
 drivers/gpu/drm/msm/msm_kms.h                  |   19 +
 drivers/gpu/drm/msm/msm_mmu.h                  |    4 +-
 drivers/gpu/drm/msm/msm_rd.c                   |    4 +-
 include/uapi/drm/msm_drm.h                     |   25 +-
 55 files changed, 6802 insertions(+), 979 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/adreno/a5xx.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a5xx_gpu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a5xx_gpu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a5xx_power.c
 create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.c
 create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.h
 create mode 100644 drivers/gpu/drm/msm/msm_gem_vma.c