Hi Dave, This time mostly further refinement of dpu1+a6xx for sdm845 and beyond.. and hurray for more negative diffstat :-) - Misc cleanups and fixes - GPU preemption optimization - a6xx perf improvements and clock fixes (ie. lets actually not run at minimum clks) - a6xx devfreq/DCVS - Lots of code cleanup across dpu (Bruce, Jeykumar, Sean) - Fixed a few crashes on startup relating to dsi (Sean) - Add cursor support (Sravanthi, Sean) - Properly free mdss irq on destroy (Jordan) - Use correct encoder_type when initializing, fixes crash on boot (Stephen) ----------------- The following changes since commit 87c2ee740c07f1edae9eec8bc45cb9b32a68f323: Merge branch 'drm-next-4.20' of git://people.freedesktop.org/~agd5f/linux into drm-next (2018-09-28 09:48:40 +1000) are available in the Git repository at: git://people.freedesktop.org/~robclark/linux drm-msm-next-2018-10-07 for you to fetch changes up to d21cc8e340ee88890122c1080fc78781a1870746: drm/msm/a6xx: Remove CP perfcounter selects from the protected list (2018-10-05 16:18:09 -0400) ---------------------------------------------------------------- Anders Roxell (1): drm/msm/gpu: fix parameters in function msm_gpu_crashstate_capture Bruce Wang (7): drm/msm/dpu: Remove unneeded checks in dpu_plane.c drm/msm/dpu: Clean up plane atomic disable/update drm/msm/dpu: Remove unneeded checks in dpu_crtc.c drm/msm/dpu: Remove _dpu_crtc_power_enable drm/msm/dpu: Change _dpu_crtc_vblank_enable_no_lock to void drm/msm/dpu: Make dpu_plane_danger_signal_ctrl void drm/msm/dpu: Revise _dpu_plane_get_aspace Colin Ian King (1): drm/msm: fix unsigned comparison with less than zero Jeykumar Sankaran (22): drm/msm/dpu: remove stale display port programming drm/msm/dpu: remove unwanted encoder type mapping drm/msm/dpu: use encoder type to identify display type drm/msm/dpu: remove debugfs support for misr drm/msm/dpu: squash power handle event types drm/msm/dpu: remove scalar config definitions drm/msm/dpu: remove resource pool manager drm/msm/dpu: remove ping pong split topology variables drm/msm/dpu: enable master-slave encoders explicitly drm/msm/dpu: use kms stored hw mdp block drm/msm/dpu: iterate for assigned hw ctl in virtual encoder drm/msm/dpu: avoid querying for hw intf before assignment drm/msm/dpu: make crtc get_mixer_width helper static drm/msm/dpu: move hw resource tracking to crtc state drm/msm/dpu: rename hw_ctl to lm_ctl drm/msm/dpu: clean up destination scaler residue drm/msm/dpu: remove cdm block support from resource manager drm/msm/dpu: remove LOCK/CLEAR support in RM drm/msm/dpu: remove display H_TILE from encoder drm/msm/dpu: remove RM dependency on connector state drm/msm/dpu: relax parameter validation in encoders drm/msm/dpu: remove RM topology definition Jordan Crouse (8): drm/msm/dpu: Remove dpu_mdss_isr when dpu_mdss_destroy is called drm/msm/dpu: Remove an unused enum drm/msm/a6xx: Rename gmu phandle to qcom,gmu drm/msm/a6xx: Fix PDC register overlap msm/gpu/a6xx: Force of_dma_configure to setup DMA for GMU drm/msm/a6xx: Poll for HFI responses drm/msm/a6xx: Add inactive_period for a6xx drm/msm/a6xx: Remove CP perfcounter selects from the protected list Rob Clark (2): drm/msm/rd: fix crash with long process cmdlines drm/msm: update generated headers Sean Paul (17): drm/msm: dsi: Initialize msm_dsi->id to -1 drm/msm: dsi: Return errors whan dt parsing fails drm/msm: Don't fail bind if nothing connected to dsi drm/msm: dpu: Allow planes to extend past active display drm/msm: dpu: Remove impossible checks drm/msm: dpu: Move atomic_check_plane_state() call to atomic_check drm/msm: dpu: Consolidate atomic_check functions() drm/msm: dpu: Remove dpu_plane_sspp_enabled() drm/msm: dpu: Remove dpu_plane_enabled() drm/msm: dpu: Make dpu_plane_sspp_atomic_update() void drm/msm: dpu: Don't continue after error in atomic_check drm/msm: dpu: Clear frame_busy_mask bit after trace drm/msm: dpu: Add extra_flush_bits to trigger_flush trace drm/msm: dpu: Don't store/deref pointers in trace ringbuffer drm/msm: dpu: Don't reset dpu_enc->cur_master on .disable() drm/msm: a5xx: Fix improper u64 division drm/msm: dpu: Fix memory leak caused by dropped reference Sharat Masetty (6): drm/msm/a6xx: Send the right perf index value to GMU drm/msm/a5xx: Skip hardware preemption init if no preemption drm/msm: suspend devfreq on init drm/msm/a6xx: Add gmu_read64() register read op drm/msm: re-factor devfreq code drm/msm/a6xx: Add devfreq support for a6xx Sravanthi Kollukuduru (2): drm/msm/dpu: enable cursor plane on dpu drm/msm/dpu: fix for cursor blend issue Stephen Boyd (1): drm/msm/disp/dpu: Use proper define for drm_encoder_init() 'encoder_type' Thomas Zimmermann (3): drm/msm: Replace drm_framebuffer_{un/reference} with put, get functions drm/msm: Replace drm_gem_object_{un/reference} with put, get functions drm/msm: Replace drm_dev_unref with drm_dev_put drivers/gpu/drm/msm/Makefile | 1 - drivers/gpu/drm/msm/adreno/a2xx.xml.h | 8 +- drivers/gpu/drm/msm/adreno/a3xx.xml.h | 8 +- drivers/gpu/drm/msm/adreno/a4xx.xml.h | 8 +- drivers/gpu/drm/msm/adreno/a5xx.xml.h | 8 +- drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 20 +- drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 12 +- drivers/gpu/drm/msm/adreno/a6xx.xml.h | 1413 +++++++++++++++----- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 144 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 21 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h | 12 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 35 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 3 +- drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 161 +-- drivers/gpu/drm/msm/adreno/adreno_common.xml.h | 8 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 1 + drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h | 26 +- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 737 ++-------- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 115 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 257 +--- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 10 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 23 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 48 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 125 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 109 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 56 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c | 323 ----- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.h | 139 -- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 16 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 4 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 29 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h | 7 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c | 29 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h | 7 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h | 39 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 18 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h | 17 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c | 3 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h | 16 - drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 45 +- drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c | 4 +- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 499 ++----- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h | 4 +- drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c | 15 +- drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h | 14 +- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 285 +--- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 44 - drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 116 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 5 +- drivers/gpu/drm/msm/dsi/dsi.c | 10 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 2 + drivers/gpu/drm/msm/dsi/dsi_manager.c | 4 +- drivers/gpu/drm/msm/msm_drv.c | 8 +- drivers/gpu/drm/msm/msm_drv.h | 2 + drivers/gpu/drm/msm/msm_gem_submit.c | 4 +- drivers/gpu/drm/msm/msm_gpu.c | 49 +- drivers/gpu/drm/msm/msm_gpu.h | 5 +- drivers/gpu/drm/msm/msm_rd.c | 6 +- 60 files changed, 1903 insertions(+), 3240 deletions(-) delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.h