tree 9beaab856ddd6e64046c179f6858c67e0a282e83
parent 444565650a5fe9c63ddf153e6198e31705dedeb2
parent 7d9ff5eed4146bf026c69e766ff630bc0bd555bb
author Linus Torvalds <torvalds@linux-foundation.org> 1590208629 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1590208629 -0700
mergetag object 7d9ff5eed4146bf026c69e766ff630bc0bd555bb
 type commit
 tag drm-fixes-2020-05-23
 tagger Dave Airlie <airlied@redhat.com> 1590179514 +1000
 
 drm fixes for v5.7-rc7
 
 vmwgfx:
 - change maintainers
 - fix redundant assignment
 - fix parameter name
 - fix return value
 
 etnaviv:
 - memory leak fix when userspace passes a invalid softpin address
 - off-by-one crashing the kernel in the perfmon domain iteration when
   the GPU core has both 2D and 3D capabilities
 
 amdgpu:
 - DP fix
 - Floating point fix
 - Fix cursor stutter issue
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJeyDb/AAoJEAx081l5xIa+wL4P/3pd2Favy18WHMgotEXhN8QV
 /3t0SpNtIxAGuYLf7U5oWKq30fNY6QGBGSeqlgISCDG+SOsEXlhjBSCDDhfO+sez
 pdbXoGI+2lW/gNTYEVKbk/Lb1VMKP+RCkhLkCZJLyeQ+60Y3kr2/yPdCb7MUf4wl
 waQQMDfSRIciy1UrAJU4nxRV39VWuokaIs9vwfY3trdA41pz9KlCJW0+JsdoavcG
 Ala9uThSK0QxBZ76Mtqukxkr0E/sV/mqckPTaYwKNmGFoIYtKcWvyU2BffWwmGU/
 a48t45oah5GDi1fDsbBdJTSnlAnTjxisl5ASDgfny7gHpvmh00Poh3jThMW0DUew
 2CfUfaQk/U6mcAMp6HLwtDOi+f35KdQp6hyIAQkYeSMUtTcP6cq5BNXDRSt+sOiT
 WqdvzE8fmBKJ422ZB0MIg4FziNqYXkrkOnkyHqEV1DNF2ueR9XHOOdNQMwEgJJLI
 Fc1VkiVDtfOZ1LCItnP3+4AQT6P3DbZzDa3aoTZAutsuP7f14AeccvcLfnODUdgA
 wAk6DneM56lHpS7WJq69Jumv/hfoiuR65dtl4hg5g7ujJRGBjf6EzNQPaHV0k8iI
 1JYtkZ3fr8X4x0BOss25c7TbNuTDsARF7Cwyg4eNzNYlyUYsvHT24ywcoPYaJ4b6
 dbQcyMoEA89DovCX5Wvj
 =1XSD
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2020-05-23' of git://anongit.freedesktop.org/drm/drm

Pull drm fixes from Dave Airlie:
 "Things seemed to have quieten down, though no i915 pull (I even gave
  them an extra 12 hours in case they were late).

  The amdgpu floating point fix is probably the largest, but it just
  moves some code around to it doesn't do fpu stuff outside the fpu
  boundaries. Otherwise it's just a couple of vmwgfx fixes (maintainer
  change) and two etnaviv fixes.

  vmwgfx:
   - change maintainers
   - fix redundant assignment
   - fix parameter name
   - fix return value

  etnaviv:
   - memory leak fix when userspace passes a invalid softpin address
   - off-by-one crashing the kernel in the perfmon domain iteration when
     the GPU core has both 2D and 3D capabilities

  amdgpu:
   - DP fix
   - Floating point fix
   - Fix cursor stutter issue"

* tag 'drm-fixes-2020-05-23' of git://anongit.freedesktop.org/drm/drm:
  drm/amd/display: Defer cursor lock until after VUPDATE
  drm/amd/display: Remove dml_common_def file
  drm/amd/display: DP training to set properly SCRAMBLING_DISABLE
  drm/edid: Add Oculus Rift S to non-desktop list
  drm/etnaviv: Fix a leak in submit_pin_objects()
  drm/etnaviv: fix perfmon domain interation
  drm/vmwgfx: Return true in function vmw_fence_obj_signaled()
  drm/vmwgfx: remove redundant assignment to variable ret
  drm/vmwgfx: Fix parameter name in vmw_bo_init
  drm/vmwgfx: update MAINTAINERS entry
