From patchwork Wed Dec 12 22:39:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Clark X-Patchwork-Id: 10727363 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 115501759 for ; Wed, 12 Dec 2018 22:40:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 014112ADB5 for ; Wed, 12 Dec 2018 22:40:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E97F82ADFC; Wed, 12 Dec 2018 22:40:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 133822ADB5 for ; Wed, 12 Dec 2018 22:40:10 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A3B9B6EBE1; Wed, 12 Dec 2018 22:40:08 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-it1-x142.google.com (mail-it1-x142.google.com [IPv6:2607:f8b0:4864:20::142]) by gabe.freedesktop.org (Postfix) with ESMTPS id 96FDA6EBE1; Wed, 12 Dec 2018 22:40:07 +0000 (UTC) Received: by mail-it1-x142.google.com with SMTP id b5so900894iti.2; Wed, 12 Dec 2018 14:40:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=Dh0hNsprPAT3Bxs9VgVjf1VNPfAG3ghFxVxTnuU0yno=; b=GkYkbNLrm0yrMeyIeinNtEwH8TmkAM2ErVVSmCH42fpxrq27fJGDCVMWT24n3B0GdG 0DqwsI2hQTOy0sLYQBGcN6UMKRHwFkGyahUYolwAj6n5xNYoQrP315LenL3a/UmHAcao VqSAkJYcWgvCcEoKkOTGIfveAoe3w7agkXDoR/BhpRug+j2y3c6X6I5ubho8Le488ft0 qaoVafmKTTrl674RlW7HZl5qB6KOdscEKV16IXHmB/o4+vP6S9i6+s6v0ELbUvSS/3P3 EqxvBXPZTU4EmbBCOYpbADDVS0TEHy1CKk1bBL/4o9TXfxrYmpjcMYSeHcozyYqODVLQ 99CA== X-Gm-Message-State: AA+aEWa3YhzDomCPbMAJZgpG1Tkcx6TYFZD5aSZoCEr3bSRZZ33yXJPd Aq59FLD+VX5Ukvoq7iuM0iiaz1g6D9uQtUiCOJM= X-Google-Smtp-Source: AFSGD/ULlurn2B4ouq/rnq4jS4rw95B3Iu8xGLRjJwz3MueLHb9FS44vaSpIs1jEYNGuDn03Mr8ENqXafsIgrZeNo5k= X-Received: by 2002:a24:68d1:: with SMTP id v200mr7890825itb.163.1544654406662; Wed, 12 Dec 2018 14:40:06 -0800 (PST) MIME-Version: 1.0 From: Rob Clark Date: Wed, 12 Dec 2018 17:39:54 -0500 Message-ID: Subject: [pull] drm/msm: msm-next for 4.21 To: Dave Airlie X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sean Paul , linux-arm-msm , freedreno , dri-devel Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Hi Dave, A little bigger this time, but still negative diffstat. This time around, seeing some love for some older hw: - a2xx gpu support for apq8060 (hp touchpad) and imx5 (headless gpu-only mode) - a2xx gpummu support (a2xx was pre-iommu) - mdp4 display support for apq8060/touchpad For display/dpu: - a big pile of continuing dpu fixes and cleanups On the gpu side of things: - per-submit statistics and traceevents for better profiling - a6xx crashdump support - decouple get_iova() and page pinning.. so we can unpin from physical memory inactive bo's while using softpin to lower cpu overhead - new interface to set debug names on GEM BOs and debugfs output improvements - additional submit flag to indicate buffers that are usef to dump (so $debugfs/rd cmdstream dumping is useful with softpin + state-objects) The following changes since commit e69aa5f9b97f7f871643336deb281db5cb14878b: Merge tag 'drm-misc-next-2018-12-06' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2018-12-07 11:23:05 +1000) are available in the Git repository at: git://people.freedesktop.org/~robclark/linux drm-msm-next-2018-12-12 for you to fetch changes up to ba0ede185ef4c74bfecfe1c992be5dbcc5c5ac04: drm/msm/dpu: Fix clock issue after bind failure (2018-12-11 13:10:19 -0500) ---------------------------------------------------------------- Abhinav Kumar (1): drm/msm/dsi: fix dsi clock names in DSI 10nm PLL driver Bruce Wang (4): drm/msm/dpu: Remove dpu_kms_pm_suspend/resume drm/msm: Cut dpu_kms hooks from msm_pm_suspend/resume drm/msm/dpu: Remove suspend state tracking from crtc drm/msm/dpu: Replace dpu_crtc_reset by atomic helper Douglas Anderson (1): drm/msm: Only add available components Jayant Shekhar (2): drm/msm/dpu: Correct dpu destroy and disable order drm/msm/dpu: Fix clock issue after bind failure Jeykumar Sankaran (1): drm/msm/dpu: set geometry for iommu domain Jonathan Marek (10): drm/msm/mdp4: only use lut_clk on mdp4.2+ drm/msm/mdp4: allocate blank_cursor_no with MSM_BO_SCANOUT flag drm/msm: use contiguous vram for MSM_BO_SCANOUT when possible drm/msm/adreno: add a2xx drm/msm/mdp5: add config for msm8917 drm/msm: set priv->kms to NULL before uninit drm/msm: implement a2xx mmu drm/msm/mdp4: add lcdc-align-lsb flag to control lane alignment dt-bindings: display: msm/gpu: document amd,imageon compatible drm/msm: add headless gpu device for imx5 Jordan Crouse (29): drm/msm/gpu: Allocate the correct size for the GPU memptrs drm/msm: Gracefully handle failure in _msm_gem_kernel_new drm/msm/gpu: Add per-submission statistics drm/msm/gpu: Add trace events for tracking GPU submissions drm/msm/gpu: Only store local command buffers in the GPU state drm/msm/gpu: Move gpu_poll_timeout() to adreno_gpu.h drm/msm/adreno: Don't capture register values if target doesn't define them drm/msm/a6xx: Add a6xx gpu state drm/msm/a6xx: Track and manage a6xx state memory drm/msm: Add a common function to free kernel buffer objects drm/msm: Remove sgt from the mmu unmap function drm/msm: Split msm_gem_get_iova into two steps drm/msm: Clean up and enhance the output of the 'gem' debugfs node drm/msm: Add msm_gem_get_and_pin_iova() drm/msm: Count how many times iova memory is pinned drm/msm: Add a name field for gem objects drm/msm/gpu: Map the ringbuffer in the iova at create time drm/msm/a6xx: Use new kernel API free function for gpu state drm/msm/a6xx: Add a name for the crashdumper buffer drm/msm/dpu: Remove dpu_dbg drm/msm/dpu: Remove dpu_crtc_get_mixer_height drm/msm/dpu: Remove dpu_crtc_is_enabled() drm/msm/dpu: Remove unused functions drm/msm/dpu: Cleanup callers of dpu_hw_blk_init drm/msm: Make irq_postinstall optional drm/msm/dpu: Remove dpu_irq and unused functions drm/msm/dpu: Cleanup the debugfs functions drm/msm/dpu: Further cleanups for static inline functions drm/msm/dpu: Clean up dpu_media_info.h static inline functions Mamta Shukla (1): drm: msm: Use DRM_DEV_* instead of dev_* Matthias Kaehlcke (1): dt-bindings: msm/dsi: Add ref clock for PHYs Rob Clark (5): drm/msm: update generated headers drm/msm/gpu: add submit flag to hint which buffers should be dumped drm/msm: rework GEM_INFO ioctl drm/msm: add uapi to get/set debug name drm/msm: bump UAPI version Sean Paul (35): drm/msm: dpu: Add tracing around CTL_FLUSH drm/msm: Remove dpu_encoder_phys_ops->hw_reset() drm/msm: dpu: Remove unused functions from msm_media_info.h drm/msm: dpu: Remove _dpu_encoder_power_enable() drm/msm: dpu: Remove 'inline' from several functions drm/msm: dpu: Remove empty/useless labels drm/msm: dpu: Clean up _dpu_core_video_mode_intf_connected() drm/msm: dpu: Remove checks from dpu_plane_destroy_state() drm/msm: dpu: Only check flush register against pending flushes drm/msm: dpu: Make legacy cursor updates asynchronous drm/msm: dpu: Allocate proper amount for dpu_crtc_state drm/msm: dpu: Remove dpu_power_handle_get_dbus_name() drm/msm: dpu: Remove unused trace_dpu_perf_update_bus() drm/msm: dpu: Remove dpu_power_client drm/msm: dpu: Don't use power_event for vbif_init_memtypes drm/msm: dpu: Handle crtc pm_runtime_resume() directly drm/msm: dpu: Remove power_handle from core_perf drm/msm: dpu: Include dpu_io_util.h directly in dpu_kms.h drm/msm: dpu: Move DPU_POWER_HANDLE_DBUS_ID to core_perf drm/msm: dpu: Remove dpu_power_handle drm/msm: dpu: Fix typo in dpu_encoder drm/msm: dpu: Add ->enabled to dpu_encoder_virt drm/msm: dpu: Move crtc runtime resume to encoder drm/msm: dpu: Don't drop locks in crtc_vblank_enable drm/msm: dpu: Grab the modeset locks in frame_event drm/msm: dpu: Stop using encoder->crtc pointer drm/msm: dpu: Add modeset lock checks where applicable drm/msm: dpu: Move pm_runtime_(get|put) from vblank_enable drm/msm: dpu: Remove crtc_lock from setup_mixers drm/msm: dpu: Remove vblank_callback from encoder drm/msm: dpu: Use atomic_disable for dpu_crtc_disable drm/msm: dpu: Don't bother checking ->enabled in dpu_crtc_vblank drm/msm: dpu: Separate crtc assignment from vblank enable drm/msm: dpu: Remove vblank_requested flag from dpu_crtc drm/msm: dpu: Remove crtc_lock Sharat Masetty (1): drm/msm: Optimize adreno_show_object() .../devicetree/bindings/display/msm/dsi.txt | 1 + .../devicetree/bindings/display/msm/gpu.txt | 4 +- .../devicetree/bindings/display/msm/mdp4.txt | 2 + drivers/gpu/drm/msm/Kconfig | 4 +- drivers/gpu/drm/msm/Makefile | 11 +- drivers/gpu/drm/msm/adreno/a2xx.xml.h | 298 ++- drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 492 ++++ drivers/gpu/drm/msm/adreno/a2xx_gpu.h | 21 + drivers/gpu/drm/msm/adreno/a3xx.xml.h | 10 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 4 +- drivers/gpu/drm/msm/adreno/a4xx.xml.h | 10 +- drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 4 +- drivers/gpu/drm/msm/adreno/a5xx.xml.h | 10 +- drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 8 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 45 +- drivers/gpu/drm/msm/adreno/a5xx_power.c | 15 +- drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 20 +- drivers/gpu/drm/msm/adreno/a6xx.xml.h | 78 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 81 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 3 + drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h | 10 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 89 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 8 + drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 1165 ++++++++++ drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 430 ++++ drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 14 +- drivers/gpu/drm/msm/adreno/adreno_common.xml.h | 19 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 77 +- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 159 +- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 21 + drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h | 18 +- drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c | 45 +- drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h | 16 +- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 169 +- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h | 29 +- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 401 +--- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 68 +- drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c | 2393 -------------------- drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.h | 103 - drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 197 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 30 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 14 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 21 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 8 +- drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 5 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_blk.c | 10 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_blk.h | 2 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 9 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 50 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 18 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h | 10 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c | 36 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h | 5 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c | 21 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h | 10 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 23 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 10 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 20 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h | 10 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.c | 1 - drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c | 8 +- drivers/gpu/drm/msm/disp/dpu1/dpu_irq.c | 66 - drivers/gpu/drm/msm/disp/dpu1/dpu_irq.h | 59 - drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 374 +-- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 45 +- drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c | 14 +- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 130 +- drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c | 240 -- drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h | 217 -- drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 101 +- drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 28 +- drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h | 15 +- drivers/gpu/drm/msm/disp/dpu1/msm_media_info.h | 359 +-- drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 8 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c | 12 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 70 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 43 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c | 8 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c | 90 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c | 10 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 12 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c | 16 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 30 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c | 10 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 8 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c | 4 +- drivers/gpu/drm/msm/dsi/dsi.c | 10 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 28 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 28 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c | 6 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c | 6 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c | 2 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c | 2 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c | 2 +- drivers/gpu/drm/msm/dsi/pll/dsi_pll.c | 2 +- drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c | 16 +- drivers/gpu/drm/msm/dsi/pll/dsi_pll_14nm.c | 12 +- drivers/gpu/drm/msm/dsi/pll/dsi_pll_28nm.c | 16 +- drivers/gpu/drm/msm/dsi/pll/dsi_pll_28nm_8960.c | 10 +- drivers/gpu/drm/msm/edp/edp.c | 8 +- drivers/gpu/drm/msm/hdmi/hdmi.c | 32 +- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 10 +- drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 10 +- drivers/gpu/drm/msm/hdmi/hdmi_i2c.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 12 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c | 6 +- drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c | 4 +- drivers/gpu/drm/msm/msm_atomic.c | 3 +- drivers/gpu/drm/msm/msm_debugfs.c | 8 +- drivers/gpu/drm/msm/msm_drv.c | 171 +- drivers/gpu/drm/msm/msm_drv.h | 28 +- drivers/gpu/drm/msm/msm_fb.c | 14 +- drivers/gpu/drm/msm/msm_fbdev.c | 10 +- drivers/gpu/drm/msm/msm_gem.c | 219 +- drivers/gpu/drm/msm/msm_gem.h | 5 + drivers/gpu/drm/msm/msm_gem_submit.c | 24 +- drivers/gpu/drm/msm/msm_gem_vma.c | 118 +- drivers/gpu/drm/msm/msm_gpu.c | 124 +- drivers/gpu/drm/msm/msm_gpu.h | 2 + drivers/gpu/drm/msm/msm_gpu_trace.h | 90 + drivers/gpu/drm/msm/msm_gpu_tracepoints.c | 6 + drivers/gpu/drm/msm/msm_gpummu.c | 123 + drivers/gpu/drm/msm/msm_iommu.c | 3 +- drivers/gpu/drm/msm/msm_kms.h | 3 - drivers/gpu/drm/msm/msm_mmu.h | 6 +- drivers/gpu/drm/msm/msm_rd.c | 13 +- drivers/gpu/drm/msm/msm_ringbuffer.c | 14 +- drivers/gpu/drm/msm/msm_ringbuffer.h | 16 + include/uapi/drm/msm_drm.h | 25 +- 129 files changed, 4591 insertions(+), 5500 deletions(-) create mode 100644 drivers/gpu/drm/msm/adreno/a2xx_gpu.c create mode 100644 drivers/gpu/drm/msm/adreno/a2xx_gpu.h create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.h delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_irq.c delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_irq.h delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h create mode 100644 drivers/gpu/drm/msm/msm_gpu_trace.h create mode 100644 drivers/gpu/drm/msm/msm_gpu_tracepoints.c create mode 100644 drivers/gpu/drm/msm/msm_gpummu.c