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

Hi Dave, Noteworthy changes this time: 1) 4k support for newer chips (ganging up hwpipes and mixers) 2) using OPP bindings for gpu 3) more prep work towards per-process pagetables Note that this includes the patches that where in the fixes pull for 4.11. One of those patches moved around some code that is touched by later patches for 4.12 so you'd hit a merge conflict when -fixes and -next collide.. It might be easier for me to rebase this on top of fixes? The following changes since commit 0168778115687486575a6831df865dbc4f5369fe: Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm-next (2017-04-07 05:49:12 +1000) are available in the git repository at: git://people.freedesktop.org/~robclark/linux msm-next for you to fetch changes up to 98db803f6413e6d4bf1f590ea57e9e7dfe1eb32b: msm/drm: gpu: Dynamically locate the clocks from the device tree (2017-04-08 06:59:37 -0400) ---------------------------------------------------------------- Archit Taneja (26): drm/msm/dsi: Fix bug in dsi_mgr_phy_enable drm/msm/mdp5: Update SSPP_MAX value drm/msm/mdp5: Bring back pipe_lock to mdp5_plane struct drm/msm/mdp5: describe LM instances in mdp5_cfg drm/msm/mdp5: Add structs for hw Layer Mixers drm/msm/mdp5: Start using mdp5_hw_mixer drm/msm/mdp5: Simplify LM <-> PP mapping drm/msm/mdp5: Clean up interface assignment drm/msm/mdp5: Remove the pipeline stuff in mdp5_ctl drm/msm/mdp5: subclass CRTC state drm/msm/mdp5: Prepare for dynamic assignment of mixers drm/msm/mdp5: Assign INTF and CTL in encoder's atomic_check() drm/msm/mdp5: Add more stuff to CRTC state drm/msm/mdp5: Start using parameters from CRTC state drm/msm/mdp5: Remove mixer/intf pointers from mdp5_ctl drm/msm/mdp5: Add a CAP for Source Split drm/msm/mdp5: Add optional 'right' Layer Mixer in CRTC state drm/msm/mdp5: Create mdp5_hwpipe_mode_set drm/msm/mdp5: Assign a 'right hwpipe' to plane state drm/msm/mdp5: Configure 'right' hwpipe drm/msm/mdp5: Prepare Layer Mixers for source split drm/msm/mdp5: Stage right side hwpipes on Right-side Layer Mixer drm/msm/mdp5: Stage border out on base stage if CRTC has 2 LMs drm/msm/mdp5: Assign 'right' mixer to CRTC state drm/msm/mdp5: Reset CTL blend registers before configuring them drm/msm/mdp5: Enable 3D mux in mdp5_ctl Arnd Bergmann (1): drm/msm: adreno: fix build error without debugfs Daniel Vetter (2): drm/msm: switch to postclose drm/msm: Simplify vblank event delivery Jordan Crouse (11): drm/msm: Fix wrong pointer check in a5xx_destroy drm/msm: Don't increase priv->num_aspaces until we know that it fits drm/msm: Pass interrupt status to a5xx_rbbm_err_irq() drm/msm: Support 64 bit iova in RD_CMDSTREAM_ADDR drm/msm: Don't allow zero sized buffer objects drm/msm: Make sure to detach the MMU during GPU cleanup drm/msm: Reference count address spaces drm/msm: Add MSM_PARAM_GMEM_BASE drm/msm: Hard code the GPU "slow frequency" drm/msm: gpu: Use OPP tables if we can msm/drm: gpu: Dynamically locate the clocks from the device tree Rob Clark (6): drm/msm/gpu: move suspend/resume into debugfs->show drm/msm/gpu: use pm-runtime drm/msm/adreno: reset ringbuffer in hw_init drm/msm: convert to iommu_map_sg drm/msm: pm runtime support for iommu drm/msm: move submit fence wait out of struct_mutex Vinay Simha BN (1): drm/msm/hdmi: redefinitions of macros not required drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 2 - drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 4 - drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 28 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 126 +++++-- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 70 ++-- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 2 +- drivers/gpu/drm/msm/dsi/dsi_manager.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_audio.c | 7 - drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 12 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c | 81 ++++ drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h | 8 + drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c | 30 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 466 +++++++++++++++++++----- drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c | 192 ++++++---- drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.h | 21 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 66 ++-- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 123 +++++-- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h | 53 ++- drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.c | 172 +++++++++ drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.h | 47 +++ drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.c | 2 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.h | 4 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 340 ++++++++++++----- drivers/gpu/drm/msm/mdp/mdp_kms.h | 6 + drivers/gpu/drm/msm/msm_debugfs.c | 2 + drivers/gpu/drm/msm/msm_drv.c | 13 +- drivers/gpu/drm/msm/msm_drv.h | 3 +- drivers/gpu/drm/msm/msm_gem.c | 6 + drivers/gpu/drm/msm/msm_gem.h | 2 + drivers/gpu/drm/msm/msm_gem_submit.c | 39 +- drivers/gpu/drm/msm/msm_gem_vma.c | 35 +- drivers/gpu/drm/msm/msm_gpu.c | 186 +++++----- drivers/gpu/drm/msm/msm_gpu.h | 18 +- drivers/gpu/drm/msm/msm_iommu.c | 69 +--- drivers/gpu/drm/msm/msm_rd.c | 4 +- include/uapi/drm/msm_drm.h | 1 + 38 files changed, 1600 insertions(+), 645 deletions(-) create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.c create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.h