Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • drm-msm-fixes-2023-06-08
    A few more late fixes for v6.4-rc6
    
    + Fix max segment size to address splat on newer a6xx
    + Disable PSR by default w/ modparam to re-enable, since there
      still seems to be a lingering issue
    + Fix HPD issue
    + Fix issue with unitialized GMU mutex
  • drm-msm-fixes-2023-06-04
    A few more late fixes for v6.4-rc6
    
    + Fix max segment size to address splat on newer a6xx
    + Disable PSR by default w/ modparam to re-enable, since there
      still seems to be a lingering issue
    + Fix HPD issue
    + Fix issue with unitialized GMU mutex
  • drm-msm-fixes-2023-05-17
    msm-fixes for v6.4-rc3
    
    Display Fixes:
    
    + Catalog fixes:
     - fix the programmable fetch lines and qos settings of msm8998
       to match what is present downstream
     - fix the LM pairs for msm8998 to match what is present downstream.
       The current settings are not right as LMs with incompatible
       connected blocks are paired
     - remove unused INTF0 interrupt mask from SM6115/QCM2290 as there
       is no INTF0 present on those chipsets. There is only one DSI on
       index 1
     - remove TE2 block from relevant chipsets because this is mainly
       used for ping-pong split feature which is not supported upstream
       and also for the chipsets where we are removing them in this
       change, that block is not present as the tear check has been moved
       to the intf block
     - relocate non-MDP_TOP INTF_INTR offsets from dpu_hwio.h to
       dpu_hw_interrupts.c to match where they belong
     - fix the indentation for REV_7xxx interrupt masks
     - fix the offset and version for dither blocks of SM8[34]50/SC8280XP
       chipsets as it was incorrect
     - make the ping-pong blk length 0 for appropriate chipsets as those
       chipsets only have a dither ping-pong dither block but no other
       functionality in the base ping-pong
     - remove some duplicate register defines from INTF
    + Fix the log mask for the writeback block so that it can be enabled
      correctly via debugfs
    + unregister the hdmi codec for dp during unbind otherwise it leaks
      audio codec devices
    + Yaml change to fix warnings related to 'qcom,master-dsi' and
      'qcom,sync-dual-dsi'
    
    GPU Fixes:
    
    + fix submit error path leak
    + arm-smmu-qcom fix for regression that broke per-process page tables
    + fix no-iommu crash
  • drm-msm-next-2023-04-10
    main pull request for v6.4
    
    Core Display:
    ============
    * Bugfixes for error handling during probe
    * rework UBWC decoder programming
    * prepare_commit cleanup
    * bindings for SM8550 (MDSS, DPU), SM8450 (DP)
    * timeout calculation fixup
    * atomic: use drm_crtc_next_vblank_start() instead of our own
      custom thing to calculate the start of next vblank
    
    DP:
    ==
    * interrupts cleanup
    
    DPU:
    ===
    * DSPP sub-block flush on sc7280
    * support AR30 in addition to XR30 format
    * Allow using REC_0 and REC_1 to handle wide (4k) RGB planes
    * Split the HW catalog into individual per-SoC files
    
    DSI:
    ===
    * rework DSI instance ID detection on obscure platforms
    
    GPU:
    ===
    * uapi C++ compatibility fix
    * a6xx: More robust gdsc reset
    * a3xx and a4xx devfreq support
    * update generated headers
    * various cleanups and fixes
    * GPU and GEM updates to avoid allocations which could trigger
      reclaim (shrinker) in fence signaling path
    * dma-fence deadline hint support and wait-boost
    * a640 speedbin support
    * a650 speedbin support
  • dma-fence-deadline
    This series adds a deadline hint to fences, so realtime deadlines
    such as vblank can be communicated to the fence signaller for power/
    frequency management decisions.
    
    This is partially inspired by a trick i915 does, but implemented
    via dma-fence for a couple of reasons:
    
    1) To continue to be able to use the atomic helpers
    2) To support cases where display and gpu are different drivers
    
    See https://patchwork.freedesktop.org/series/93035/
    
    This does not yet add any UAPI, although this will be needed in
    a number of cases:
    
    1) Workloads "ping-ponging" between CPU and GPU, where we don't
       want the GPU freq governor to interpret time stalled waiting
       for GPU as "idle" time
    2) Cases where the compositor is waiting for fences to be signaled
       before issuing the atomic ioctl, for example to maintain 60fps
       cursor updates even when the GPU is not able to maintain that
       framerate.
  • dma-fence-deadline-core
    Immutable branch with dma-fence deadline hint support between drm-next and driver -next trees.
  • drm-msm-next-2023-03-15
    msm-next for v6.4
    
    Early pull req with PSR and related drm core helpers
  • drm-msm-fixes-2023-03-09
    msm-fixes for v6.3-rc2
    
    - Fix for possible invalid ptr free in submit ioctl syncobj cleanup path.
    - Synchronize GMU removal in driver teardown path
    - a5xx preemption fixes
    - Fix runpm imbalance at unbind
    - DPU hw catalog fixes:
     - set DPU_MDP_PERIPH_0_REMOVED for sc8280xp as this is another chipset
       where the PERIPH_0 block of registers is not there
     - fix the DPU features supported in QCM2290 by comparing it with the
       downstream device tree
     - fix the length of registers in the sc7180_ctl from 0xe4 to 0x1dc
     - fix the max mixer line width for sm6115 and qcm2290 chipsets in the
       DPU catalog
     - fix the scaler version on sm8550, sc8280xp, sm8450, sm8250, sm8350
       and sm6115. This was incorrectly populated on the SW version of the
       scaler library and  not the scaler HW version
     - Drop dim layer support for msm8998 as its not indicated to be
       supported in the downstream DTSI
     - fix the DPU_CLK_CTRL bits for msm 8998 sspp blocks
     - Use DPU_CLK_CTRL_DMA* prefix instead of DPU_CLK_CTRL_CURSOR*
       for all chipsets for the DMA sspp blocks
     - fix the ping-pong block base address for sc7280 in the DPU HW catalog
    - Fix stack corruption issue in the dpu_hw_ctl_setup_blendstage() function
      as it was causing a negative left shift by protecting against an invalid
      index
    - Clear the DSPP reservations in dpu_rm_release(). This was missed out and
      as as result the DSPP was not released from the resource manager global
      state.
  • drm-msm-next-2023-01-30
    msm-next for v6.3
    
    There is one devfreq patch, maintainer acked to land via msm-next to
    avoid a build break on platforms that do not support PM_DEVFREQ.  And
    otherwise the usual assortment:
    
    GPU:
    - Add MSM_SUBMIT_BO_NO_IMPLICIT
    - a2xx: Support to load legacy firmware
    - a6xx: GPU devcore dump updates for a650/a660
    - GPU devfreq tuning and fixes
    
    DPU, DSI, MDSS:
    - Support for SM8350, SM8450 SM8550 and SC8280XP platform
    
    Core:
    - Added bindings for SM8150 (driver support already present)
    
    DPU:
    - Partial support for DSC on SM8150 and SM8250
    - Fixed color transformation matrix being lost on suspend/resume
    - Include DSC blocks into register snapshot
    - Misc HW catalog fixes
    
    DP:
    - Support for DP on SDM845 and SC8280XP platforms
    - HPD fixes
    - Support for limiting DP link rate via DT property, this enables
    - Support for HBR3 rates.
    
    DSI:
    - Validate display modes according to the DSI OPP table
    - DSI PHY support for the SM6375 platform
    - Fixed byte intf clock selection for 14nm PHYs
    - Fix the case of empty OPP tables (fixing db410c)
    - DT schema rework and fixes
    
    HDMI:
    - Turn 8960 HDMI PHY into clock provider,
    - Make 8960 HDMI PHY use PXO clock from DT
    
    MDP5:
    - Schema conversion to YAML
  • drm-msm-fixes-2023-01-16
    msm-fixes for v6.3-rc5
    
    Two GPU fixes which were meant to be part of the previous pull request,
    but I'd forgotten to fetch from gitlab after the MR was merged so that
    git tag was applied to the wrong commit.
    
    - kexec shutdown fix
    - fix potential double free
  • drm-msm-fixes-2023-01-12
    msm-fixes for v6.3-rc4
    
    Display Fixes:
    
    - Fix the documentation for dpu_encoder_phys_wb_init() and
      dpu_encoder_phys_wb_setup_fb() APIs to address doc warnings
    - Remove vcca-supply and vdds-supply as mandatory for 14nm PHY and
      10nm PHY DT schemas respectively as they are not present on some
      SOCs using these PHYs
    - Add the dsi-phy-regulator-ldo-mode to dsi-phy-28nm.yaml as it was
      missed out during txt to yaml migration
    - Remove operating-points-v2 and power-domain as a required property
      for the DSI controller as thats not the case for every SOC
    - Fix the description from display escape clock to display core
      clock in the dsi controller yaml
    - Fix the memory leak for mdp1-mem path for the cases when we return
      early after failing to get mdp0-mem ICC paths for msm
    - Fix error handling path in msm_hdmi_dev_probe() to release the phy
      ref count when devm_pm_runtime_enable() fails
    - Fix the dp_aux_isr() routine to make sure it doesnt incorrectly
      signal the aux transaction as complete if the ISR was not an AUX
      isr. This fixes a big hitter stability bug on chromebooks.
    - Add protection against null pointer dereference when there is no
      kms object as in the case of headless adreno GPU in the shutdown
      path.
    
    GPU Fixes:
    
    - a5xx: fix quirks to actually be a bitmask and not overwrite each
      other
    - a6xx: fix gx halt sequence to avoid 1000ms hang on some devices
    - kexec shutdown fix
    - fix potential double free
  • drm-msm-next-2022-11-28
    msm-next for v6.2 (the gpu/gem bits)
    
    - Remove exclusive-fence hack that caused over-synchronization
    - Fix speed-bin detection vs. probe-defer
    - Enable clamp_to_idle on 7c3
    - Improved hangcheck detection
  • drm-msm-display-for-6.2
    drm/msm updates for 6.2
    
    Core:
    - MSM_INFO_GET_FLAGS support
    - Cleaned up MSM IOMMU wrapper code
    
    DPU:
    - Added support for XR30 and P010 image formats
    - Reworked MDSS/DPU schema, added SM8250 MDSS bindings
    - Added Qualcomm SM6115 support
    
    DP:
    - Dropped unsane sanity checks
    
    DSI:
    - Fix calculation of DSC pps payload
    
    DSI PHY:
    - DSI PHY support for QCM2290
    
    HDMI:
    - Reworked dev init path
    
  • drm-msm-fixes-2022-10-24
    msm-fixes for v6.1
    
    - Fix shrinker deadlock
    - Fix crash during suspend after unbind
    - Fix IRQ lifetime issues
    - Fix potential memory corruption with too many bridges
    - Fix memory corruption on GPU state capture
  • drm-msm-next-2022-09-22
    msm-next for v6.1
    
    DPU:
    - simplified VBIF configuration
    - cleaned up CTL interfaces to accept indices rather than flush masks
    
    DSI:
    - removed unused msm_display_dsc_config struct
    - switch regulator calls to new bulk API
    - switched to use PANEL_BRIDGE for directly attached panels
    
    DSI PHY:
    - converted drivers to use parent_hws instead of parent_names
    
    DP:
    - cleaned up pixel_rate handling
    
    HDMI PHY:
    - turned hdmi-phy-8996 into OF clk provider
    
    core:
    - misc dt-bindings fixes
    - choose eDP as primary display if it's available
    - support getting interconnects from either the mdss or the mdp5/dpu
      device nodes
    
    gpu+gem:
    - Shrinker + LRU re-work:
      - adds a shared GEM LRU+shrinker helper and moves msm over to that
      - reduces lock contention between retire and submit by avoiding the
        need to acquire obj lock in retire path (and instead using resv
        seeing obj's busyness in the shrinker
      - fix reclaim vs submit issues
    - GEM fault injection for triggering userspace error paths
    - Map/unmap optimization
    - Improved robustness for a6xx GPU recovery
  • drm-msm-fixes-2022-08-27
    Fixes for v6.0
    
    - Fix for inconsistent indenting in function msm_dsi_dphy_timing_calc_v3.
      This fixes a smatch warning reported by kbot
    - Fix to make eDP the first connector in the connected list. This was
      mainly done to address a screen corruption issue we were seeing on
      sc7280 boards which have eDP as the primary display. The corruption
      itself is from usermode but we decided to fix it this way because
      things work correct with the primary display as the first one for
      usermode
    - Fix to populate intf_cfg correctly before calling reset_intf_cfg().
      Without this, the display pipeline is not torn down correctly for
      writeback
    - Specify the correct number of DSI regulators for SDM660. It should
      have been 1 but 2 was mentioned
    - Specify the correct number of DSI regulators for MSM8996. It should
      have been 3 but 2 was mentioned
    - Fix for removing DP_RECOVERED_CLOCK_OUT_EN bit for tps4 link training
      for DP. This was causing link training failures and hence no display
      for a specific DP to HDMI cable on chromebooks
    - Fix probe-deferral crash in gpu devfreq
    - Fix gpu debugfs deadlock
  • drm-msm-next-2022-07-10
    Next for v5.20
    
    GPU:
    - a619 support
    - Fix for unclocked GMU register access
    - Devcore dump enhancements
    
    Core:
    
    - client utilization via fdinfo support
    - fix fence rollover issue
    - gem: Lockdep false-positive warning fix
    - gem: Switch to pfn mappings
    
    DPU:
    
    - constification of HW catalog
    - support for using encoder as CRC source
    - WB support on sc7180
    - WB resolution fixes
    
    DP:
    
    - dropped custom bulk clock implementation
    - made dp_bridge_mode_valid() return MODE_CLOCK_HIGH where applicable
    - fix link retraining on resolution change
    
    MDP5:
    
    - MSM8953 perf data
    
    HDMI:
    
    - YAML'ification of schema
    - dropped obsolete GPIO support
    - misc cleanups
  • drm-msm-fixes-2022-06-28
    Fixes for v5.19-rc5
    
    - Fix to increment vsync_cnt before calling drm_crtc_handle_vblank so that
      userspace sees the value *after* it is incremented if waiting for vblank
      events
    - Fix to reset drm_dev to NULL in dp_display_unbind to avoid a crash in
      probe/bind error paths
    - Fix to resolve the smatch error of de-referencing before NULL check in
      dpu_encoder_phys_wb.c
    - Fix error return to userspace if fence-id allocation fails in submit
      ioctl
  • drm-msm-fixes-2022-06-20
    Fixes for v5.19-rc4
    
    - Workaround for parade DSI bridge power sequencing
    - Fix for multi-planar YUV format offsets
    - Limiting WB modes to max sspp linewidth
    - Fixing the supported rotations to add 180 back for IGT
    - Fix to handle pm_runtime_get_sync() errors to avoid unclocked access
      in the bind() path for dpu driver
    - Fix the irq_free() without request issue which was a being hit frequently
      in CI.
    - Fix to add minimum ICC vote in the msm_mdss pm_resume path to address
      bootup splats
    - Fix to avoid dereferencing without checking in WB encoder
    - Fix to avoid crash during suspend in DP driver by ensuring interrupt
      mask bits are updated
    - Remove unused code from dpu_encoder_virt_atomic_check()
    - Fix to remove redundant init of dsc variable
    - Fix to ensure mmap offset is initialized to avoid memory corruption
      from unpin/evict
    - Fix double runpm disable in probe-defer path
    - VMA fenced-unpin fixes
    - Fix for WB max-width
    - Fix for rare dp resolution change issue
  • drm-msm-next-2022-05-09