tree a7f6ca26fb46225f850a3846d9d511700aeec0a6
parent cbe232ab07ab7a1c7743c94c53d0e0d50c3d1b88
parent 1e9124df8be0a43e4e9a10c5d1140d6ca8e50132
author Linus Torvalds <torvalds@linux-foundation.org> 1656096229 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1656096229 -0700
mergetag object 1e9124df8be0a43e4e9a10c5d1140d6ca8e50132
 type commit
 tag drm-fixes-2022-06-24
 tagger Dave Airlie <airlied@redhat.com> 1656048288 +1000
 
 drm fixes for 5.19-rc4
 
 amdgpu:
 - Adjust GTT size logic
 - eDP fix for RMB
 - DCN 3.15 fix
 - DP training fix
 - Color encoding fix for DCN2+
 
 sun4i:
 - multiple suspend fixes
 
 vc4:
 - rework driver split for rpi4,
   fixes mulitple crashers.
 
 panel:
 - quirk for Aya Neo Next
 
 i915:
 - Revert low voltage SKU check removal to fix display issues
 - Apply PLL DCO fraction workaround for ADL-S
 - Don't show engine classes not present in client fdinfo
 
 msm:
 - 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmK1S1EACgkQDHTzWXnE
 hr76nxAArO4n/Hqjuvp50KDuOSbGqSU0z97j9ImzAij6mIoBv2HrQ3VDitdON8ym
 8QI7Xc3mgiABs6GbBfIVm8cxEY0CKjH/l0IqZ6z4CT06T1lhgc5KwvceoE/Qap6y
 ZrleAjk34ZS1kagMUklm6DTkKRnNIkYLt/CLX7VVV2Afpiduanr0ILwEPLqQrbXP
 zcB3nblu34/5Mywa2dPFChspqlv4g+RyUML2M8M7g4lOC+dDaQBbr69g2m17fMar
 vmXyCsHyo5LSGLKen8k+oIQWXYzpCbH9n/6s+OLe/HMX52lkudEtIcA7jcxwNY46
 tajy3yfrP/c3FOVF2mTGwIs/zx0R1XiEjUgcDGAJwo2bY8OMJqToLRPj9M0Gyoub
 UixoYfqGVwxpInVHmRVx7zWF5c0/RpRY1yLcOuPSmG+qXx9PHny+I2eYgsNzkT0M
 UmM6pt5Vlj2AjjU0NKfNbZ7MM6lSE82lvtdV3h7sR9I3LCLZhPyXqNudWZtKFtSF
 qIJL4yq4mjPZ5F9/fG8ttz7tnJ9yNe2Gq3AbldKlbIZZ2EpOGDjaDV75zqA5lxyY
 bmz8U5+QbK0/LTsLjoQtX8Ch9tVwyZjGtUZ2zxuiId0OKla4GSfTKFWE6cZAAtYg
 rtkn6Q3WAVyAElg3E2JojVjIGalpIsXamfKWmc4wCUIVy2WbLgk=
 =yG/r
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2022-06-24' of git://anongit.freedesktop.org/drm/drm

Pull drm fixes from Dave Airlie:
 "Fixes for this week, bit larger than normal, but I think the last
  couple have been quieter, and it's only rc4.

  There are a lot of small msm fixes, and a slightly larger set of vc4
  fixes. The vc4 fixes clean up a lot of crashes around the rPI4
  hardware differences from earlier ones, and problems in the page flip
  and modeset code which assumed earlier hw, so I thought it would be
  okay to keep them in.

  Otherwise, it's a few amdgpu, i915, sun4i and a panel quirk.

  amdgpu:
   - Adjust GTT size logic
   - eDP fix for RMB
   - DCN 3.15 fix
   - DP training fix
   - Color encoding fix for DCN2+

  sun4i:
   - multiple suspend fixes

  vc4:
   - rework driver split for rpi4, fixes mulitple crashers.

  panel:
   - quirk for Aya Neo Next

  i915:
   - Revert low voltage SKU check removal to fix display issues
   - Apply PLL DCO fraction workaround for ADL-S
   - Don't show engine classes not present in client fdinfo

  msm:
   - 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"

* tag 'drm-fixes-2022-06-24' of git://anongit.freedesktop.org/drm/drm: (41 commits)
  amd/display/dc: Fix COLOR_ENCODING and COLOR_RANGE doing nothing for DCN20+
  drm/amd/display: Fix typo in override_lane_settings
  drm/amd/display: Fix DC warning at driver load
  drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled"
  drm/amdgpu: Adjust logic around GTT size (v3)
  drm/sun4i: Return if frontend is not present
  drm/vc4: fix error code in vc4_check_tex_size()
  drm/sun4i: Add DMA mask and segment size
  drm/vc4: hdmi: Fixed possible integer overflow
  drm/i915/display: Re-add check for low voltage sku for max dp source rate
  drm/i915/fdinfo: Don't show engine classes not present
  drm/i915: Implement w/a 22010492432 for adl-s
  drm: panel-orientation-quirks: Add quirk for Aya Neo Next
  drm/msm/dp: force link training for display resolution change
  drm/msm/dpu: limit wb modes based on max_mixer_width
  drm/msm/dp: check core_initialized before disable interrupts at dp_display_unbind()
  drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf
  drm/msm: Don't overwrite hw fence in hw_init
  drm/msm: Drop update_fences()
  drm/vc4: Warn if some v3d code is run on BCM2711
  ...
