drm fixes for 5.13-rc7

amdgpu:
 - GFX9 and 10 powergating fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmDMRqkACgkQDHTzWXnE
 hr7ITw/8Dm6N30vtkIdMA2HNZZ1a2fosilBvmDlP4ve9XYgBM5zO2s9Ig3a4tDm0
 uruewJW8DAZadNvDe9CszXb8qPDauRe3h3BxQYZCQEndRBI57fRPqA7Mq3qhnh0D
 RgnCbdBbx9B4zrCbk2hJF/oi0avW9+Pg5uir44OHDalUFraQ/6OnvPFOZqaGqfZa
 A3Wh7wEkxzrFjUvKiNN1fg+JjoQ5nnDnQwPLdMXF+SYzMQtdVI/reqqI1LuJ0Ixc
 9g8HRTWeZ7vs4tEHTCjnqjEWqFmp+R0Den5RZfHnQb+O/FHRDTjeduDMVkrM9Olu
 DOUPSl2wJ4fW6/uI3fSkvR/fyxPEZqWuHzjxPnxnixQmpxqNw9LQ/3uCZh+TxvdH
 S5Y71sBKE7vi/g8gA2m5riCZlFCX/1iU3hiaagWoINo0TwCodW1Dnsn6/WHTvFvc
 pYfbol8oTwGvC99n+viLwy3als9z3Dce9vdzm2PV4H5q+8tcVtQJwuTWbzFlPr3w
 JKWPZQuUORZapZiex/25QY4JQVhkXs2cx2d1ffJz1sb4y3MDCg9EPeoXROPpNnN+
 utfXhD0xp4nQl9bQMMxloLDG5LLwXdevG5r4voIvd5TkD4Ott5QbvJRNitvF+gaW
 HM98v5VyrTEEUYnPOXwzNeb1EY3YviQVh0WVgqL5lDAwo2MTinU=
 =2F0i
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2021-06-18' of git://anongit.freedesktop.org/drm/drm

Pull drm fixes from Dave Airlie:
 "Not much happening in fixes land this week only one PR for two amdgpu
  powergating fixes was waiting for me, maybe something will show up
  over the weekend, maybe not.

  amdgpu:

   - GFX9 and 10 powergating fixes"

* tag 'drm-fixes-2021-06-18' of git://anongit.freedesktop.org/drm/drm:
  drm/amdgpu/gfx10: enlarge CP_MEC_DOORBELL_RANGE_UPPER to cover full doorbell.
  drm/amdgpu/gfx9: fix the doorbell missing when in CGPG issue.
This commit is contained in:
Linus Torvalds 2021-06-18 10:36:18 -07:00
commit c3bf96eaa4
2 changed files with 10 additions and 2 deletions

View File

@ -6871,8 +6871,12 @@ static int gfx_v10_0_kiq_init_register(struct amdgpu_ring *ring)
if (ring->use_doorbell) { if (ring->use_doorbell) {
WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_LOWER, WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_LOWER,
(adev->doorbell_index.kiq * 2) << 2); (adev->doorbell_index.kiq * 2) << 2);
/* If GC has entered CGPG, ringing doorbell > first page doesn't
* wakeup GC. Enlarge CP_MEC_DOORBELL_RANGE_UPPER to workaround
* this issue.
*/
WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_UPPER, WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_UPPER,
(adev->doorbell_index.userqueue_end * 2) << 2); (adev->doorbell.size - 4));
} }
WREG32_SOC15(GC, 0, mmCP_HQD_PQ_DOORBELL_CONTROL, WREG32_SOC15(GC, 0, mmCP_HQD_PQ_DOORBELL_CONTROL,

View File

@ -3673,8 +3673,12 @@ static int gfx_v9_0_kiq_init_register(struct amdgpu_ring *ring)
if (ring->use_doorbell) { if (ring->use_doorbell) {
WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_LOWER, WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_LOWER,
(adev->doorbell_index.kiq * 2) << 2); (adev->doorbell_index.kiq * 2) << 2);
/* If GC has entered CGPG, ringing doorbell > first page doesn't
* wakeup GC. Enlarge CP_MEC_DOORBELL_RANGE_UPPER to workaround
* this issue.
*/
WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_UPPER, WREG32_SOC15(GC, 0, mmCP_MEC_DOORBELL_RANGE_UPPER,
(adev->doorbell_index.userqueue_end * 2) << 2); (adev->doorbell.size - 4));
} }
WREG32_SOC15_RLC(GC, 0, mmCP_HQD_PQ_DOORBELL_CONTROL, WREG32_SOC15_RLC(GC, 0, mmCP_HQD_PQ_DOORBELL_CONTROL,