Skip to content
Tags give the ability to mark specific points in history as being important
  • drm-msm-next-2024-04-11
    Fixes for v6.9
    
    Display:
    - Fixes for PM refcount leak when DP goes to disconnected state and
      also when link training fails. This is also one of the issues found
      with the pm runtime series
    - Add missing newlines to prints in msm_fb and msm_kms
    - Change permissions of some dpu debugfs entries which write to const
      data from catalog to read-only to avoid protection faults
    - Fix the interface table for the catalog of X1E80100. This is an
      important fix to bringup DP for X1E80100.
    - Logging fix to print the callback symbol in the invalid IRQ message
      case rather than printing when its known to be NULL.
    - Bindings fix to add DP node as child of mdss for mdss node
    - Minor typo fix in DP driver API which handles port status change
    
    GPU:
    - fix CHRASHDUMP_READ()
    - fix HHB (highest bank bit) for a619 to fix UBWC corruption
  • drm-msm-next-2024-03-07
    Late updates for v6.9, the main part is CDM (YUV over DP) which was
    waiting for drm-misc-next-2024-02-29.
    
    DPU:
    - Add support for YUV420 over DP
    - Patchset to ease debugging of vblank timeouts
    - Small cleanup
  • drm-msm-next-2024-02-29
    Updates for v6.9:
    
    Core:
    - Correct bindings for MSM8976 and SM8650 platforms
    - Start migration of MDP5 platforms to DPU driver
    - X1E80100 MDSS support
    
    DPU:
    - Improve DSC allocation, fixing several important corner cases
    - Add support for SDM630/SDM660 platforms
    - Simplify dpu_encoder_phys_ops
    - Apply fixes targeting DSC support with a single DSC encoder
    - Apply fixes for HCTL_EN timing configuration
    - X1E80100 support
    
    DP:
    - Refactor parser and power submodules
    
    DSI:
    - Clean up obsolete set_split_display support
    - Update DSC documentation
    
    MDP5:
    - Clean up obsolete set_split_display support
    
    GPU:
    - fix sc7180 UBWC config
    - fix a7xx LLC config
    - new gpu support: a305B, a750, a702
    - machine support: SM7150 (different power levels than other a618)
    - a7xx devcoredump support
  • drm-msm-fixes-2024-02-28
    Fixes for v6.8-rc7
    
    DP:
    - Revert a change which was causing a HDP regression
  • drm-msm-fixes-2024-02-15
    8c7bfd82 · drm/msm: Wire up tlb ops ·
    Fixes for v6.8-rc5
    
    GPU:
    - dmabuf vmap fix
    - a610 UBWC corruption fix (incorrect hbb)
    - revert a commit that was making GPU recovery unreliable
    - tlb invalidation fix
  • drm-msm-fixes-2024-02-07
    Fixes for v6.8-rc4
    
    DPU:
    - fix for kernel doc warnings and smatch warnings in dpu_encoder
    - fix for smatch warning in dpu_encoder
    - fix the bus bandwidth value for SDM670
    
    DP:
    - fixes to handle unknown bpc case correctly for DP. The current code was
      spilling over into other bits of DP configuration register, had to be
      fixed to avoid the extra shifts which were causing the spill over
    - fix for MISC0 programming in DP driver to program the correct
      colorimetry value
    
    GPU:
    - dmabuf vmap fix
    - a610 UBWC corruption fix (incorrect hbb)
    - revert a commit that was making GPU recovery unreliable
  • drm-msm-next-2023-12-15
    Updates for v6.8:
    
    Core:
    - Add support for SDM670, SM8650
    - Handle the CFG interconnect to fix the obscure hangs / timeouts
      on register write
    - Kconfig fix for QMP dependency
    - DT schema fixes
    
    DPU:
    - Add support for SDM670, SM8650
    - Enable SmartDMA on SM8350 and SM8450
    - Correct UBWC settings for SC8280XP
    - Fix catalog settings for SC8180X
    - Actually make use of the version to switch between QSEED3/3LITE/4
      scalers
    - Use devres-managed and drm-managed allocations where appropriate
    - misc other fixes
    - Enabled YUV writeback on SC7280, SM8250
    - Enabled writeback on SM8350, SM8450
    - CRC fix when encoder is selected as the input source
    - other misc fixes
    
    MDP4:
    - Use devres-managed and drm-managed allocations where appropriate
    - flush vblank event on CRTC disable
    
    MDP5:
    - Use devres-managed and drm-managed allocations where appropriate
    
    DP:
    - Add support for SM8650
    - Enable PM runtime support
    - Merge msm-specific debugfs dir with the generic one
    - Described DisplayPort on SM8150 in DeviceTree bindings
    - Moved dp_display_get_next_bridge() to probe()
    
    DSI:
    - Add support for SM8650
    - Enable PM runtime support
    
    GPU/GEM:
    - demote userspace triggerable warnings to debug
    - add GEM object metadata UAPI
    - move GPU devcoredumps to GPU device
    - fix hangcheck to skip retired submits
    - expose UBWC config to userspace
    - fix a680 chip-id
    - drm_exec conversion
    - drm/ci: remove rebase-merge directory (to unblock CI)
  • drm-msm-fixes-2023-11-21
    Fixes for v6.7-rc3:
    
    - Fix the VREG_CTRL_1 for 4nm CPHY to match downstream
    - Remove duplicate call to drm_kms_helper_poll_init() in msm_drm_init()
    - Fix the safe_lut_tbl[] for sc8280xp to match downstream
    - Don't attach the drm_dp_set_subconnector_property() for eDP
    - Fix to attach drm_dp_set_subconnector_property() for DP. Otherwise
      there is a bootup crash on multiple targets
    - Remove unnecessary NULL check left behind during cleanup
  • drm-msm-next-2023-10-17
    Updates for v6.7
    
    DP:
    - use existing helpers for DPCD handling instead of open-coded functions
    - set the subconnector type according to the plugged cable / dongle
      skip validity check for DP CTS EDID checksum
    
    DPU:
    - continued migration of feature flags to use core revision checks
    - reworked interrupts code to use '0' as NO_IRQ, removed raw IRQ indices
      from log / trace output
    
    gpu:
    - a7xx support (a730, a740)
    - fixes and additional speedbins for a635, a643
    
    core:
    - decouple msm_drv from kms to more cleanly support headless devices (like
      imx5+a2xx)
  • drm-msm-fixes-2023-10-07
    Fixes for v6.6-rc5
    
    - fix to not reset the PHY everytime we start link training but only
      do it if link training fails. Without this, the PLL unlocked
      interrupt fires causing "Unexpected DP AUX IRQ 0x01000000 when
      not busy" spam in the logs since last 2-3 cycles
    - correct the highest bank bit to match downstream device tree for
      msm8998
    - skip the video mode wait if the timing engine is not enabled. This
      was introduced after pre_enable flag for DSI video mode panels
      where we would end up waiting for the video mode done interrupt
      even before enabling timing engine causing error spam and long
      bootup times.
    - check the correct return code of irq_of_parse_and_map() in DSI code
    - avoid overflow issues in the dpu bandwidth calculation . This was
      exposed for high resolution displays and a critical fix to avoid
      atomic_check failure
    - minor fix to add new lines in DP print messages.
    - Fix to fail atomic_check() if the resolution exceeds max mdp clk.
      This leads to underflow otherwise if we try to allow that frame.
  • drm-msm-next-2023-08-20
    Updates for v6.6, which includes a backmerge of msm-fixes to avoid conficts.
    
    Core:
    - SM6125 MDSS support
    
    DPU:
    - SM6125 DPU support
    - Added subblocks to display snapshot
    - Use UBWC data from MDSS driver rather than duplicating it
    - dpu_core_perf cleanup
    
    DSI:
    - Enabled burst mode to fix CMD mode panels
    - Runtime PM support
    - refgen regulator support
    
    DSI PHY:
    - SM6125 support in 14nm DSI PHY driver
    
    GPU:
    - Rework GPU identification to prepare for a7xx, and other a7xx prep
    - Cleanups and fixes
    - Disallow legacy relocs on a6xx and newer
    - a690: switch to using a660_gmu.bin fw as this is what we have in
      linux-firmware and we see no evidence that it should be different
      from other a660 family (a6xx subgen 4) devices
    - Submit overhead opts, 1.6x faster for NO_IMPLICIT_SYNC commits with
      100 BOs to 2.5x faster for 1000 BOs
  • drm-msm-fixes-2023-07-27
    Fixes for v6.5-rc4
    
    Display:
    + Fix to correct the UBWC programming for decoder version 4.3 seen
      on SM8550
    + Add the missing flush and fetch bits for DMA4 and DMA5 SSPPs.
    + Fix to drop the unused dpu_core_perf_data_bus_id enum from the code
    + Drop the unused dsi_phy_14nm_17mA_regulators from QCM 2290 DSI cfg.
    
    GPU:
    + Fix warn splat for newer devices without revn
    + Remove name/revn for a690.. we shouldn't be populating these for
      newer devices, for consistency, but it slipped through review
    + Fix a6xx gpu snapshot BINDLESS_DATA size (was listed in bytes
      instead of dwords, causing AHB faults on a6xx gen4/a660-family)
    + Disallow submit with fence id 0
  • drm-msm-next-2023-06-18
    Updates for v6.5.. this includes a backmerg of drm-next tree to be able
    to use new DRM DSC helpers.
    
    Core:
    + Add Marijn Suijten as drm/msm reviewer
    + Adreno A660 bindings
    + SM8350 MDSS bindings fix
    + Fix adreno_is_a690() warnings
    + More generic (DRM) and MSM-specific DSC helpers
    
    DP:
    + Removed obsolete USB-PD remains
    + Documented DP compatible string for sm8550 platform
    
    DPU:
    + Enable missing features (DSPP, DSC, split display) on sc8180x,
      sc8280xp, sm8450
    + Enabled writeback on sc7280
    + Implemented tearcheck support to support vsync on SM150 and
      newer platforms
    + Native HDMI output support
    + Dropped unused features: regdma, GC, IGC
    + Fixed the DSC flush operations
    + Simplified QoS handling, removing obsolete and unused features
      and merging SSPP and WB code paths
    + Reworked dpu_encoder initialisation path
    + Enabled DSPP support on sdm845
    + Disabled color-management if DSPP blocks are not available
    + Added support for DSC 1.2 blocks found on sm8350 and later
    + Added .fb_dirty to fix CMD panels
    
    DSI:
    + Drop powerup quirks in favour of using pre_enable_prev_first for
      downstream bridges
    + Fixed 14nm DSI PHY programming
    + Added support for DSI and 28nm DSI PHY on MSM8226 platform
    + Make use of DRM and MSM DSC helpers
    
    MDP5:
    + Added support for display controller on MSM8226 platform
    
    GPU:
    + A690 support
    + Don't set IO_PGTABLE_QUIRK_ARM_OUTER_WBWA on devices with coherent SMMU
      (like A690)
    + Move cmdstream dumping out of fence signaling path
    + Cleanups
    + Support for a6xx devices without GMU (aka "GMU wrapper"
    + a610 support
    + a619_holi support (a619 variant without GMU)
  • 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