Merge get_rptr and get_wptr functions
Subsystems (2)
These patches merge the ring get_rptr and get_wptr functions from each of the GFX drivers between gfx and compute rings.
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/6 drm/amd/amdgpu: Merge get_rptr functions in gfx6
--- drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +3 -8
@@ -1655,7 +1655,7 @@ static int gfx_v6_0_cp_gfx_resume(struct amdgpu_device *adev)return 0 ; } -static u32 gfx_v6_0_ring_get_rptr_gfx (struct amdgpu_ring *ring) +static u32 gfx_v6_0_ring_get_rptr (struct amdgpu_ring *ring) {return ring->adev->wb.wb[ring->rptr_offs]; }
@@ -1675,11 +1675,6 @@ static void gfx_v6_0_ring_set_wptr_gfx(struct amdgpu_ring *ring) (void )RREG32 (CP_RB0_WPTR ); } -static u32 gfx_v6_0_ring_get_rptr_compute (struct amdgpu_ring *ring) -{ -return ring->adev->wb.wb[ring->rptr_offs]; -} -static u32 gfx_v6_0_ring_get_wptr_compute (struct amdgpu_ring *ring) {struct amdgpu_device *adev = ring->adev;
@@ -3152,7 +3147,7 @@ const struct amd_ip_funcs gfx_v6_0_ip_funcs = { };static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_gfx = { - .get_rptr = gfx_v6_0_ring_get_rptr_gfx, + .get_rptr = gfx_v6_0_ring_get_rptr, .get_wptr = gfx_v6_0_ring_get_wptr_gfx, .set_wptr = gfx_v6_0_ring_set_wptr_gfx, .parse_cs =NULL ,
@@ -3169,7 +3164,7 @@ static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_gfx = { };static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_compute = { - .get_rptr = gfx_v6_0_ring_get_rptr_compute, + .get_rptr = gfx_v6_0_ring_get_rptr, .get_wptr = gfx_v6_0_ring_get_wptr_compute, .set_wptr = gfx_v6_0_ring_set_wptr_compute, .parse_cs =NULL ,
Signature · 6 lines
2.9.3 _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
PATCH 2/6 drm/amd/amdgpu: Merge get_rptr functions in gfx7
In reply to a message not in the archive--- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +3 -8
@@ -2443,7 +2443,7 @@ static int gfx_v7_0_cp_gfx_resume(struct amdgpu_device *adev)return 0 ; } -static u32 gfx_v7_0_ring_get_rptr_gfx (struct amdgpu_ring *ring) +static u32 gfx_v7_0_ring_get_rptr (struct amdgpu_ring *ring) {return ring->adev->wb.wb[ring->rptr_offs]; }
@@ -2463,11 +2463,6 @@ static void gfx_v7_0_ring_set_wptr_gfx(struct amdgpu_ring *ring) (void )RREG32 (mmCP_RB0_WPTR); } -static u32 gfx_v7_0_ring_get_rptr_compute (struct amdgpu_ring *ring) -{ -return ring->adev->wb.wb[ring->rptr_offs]; -} -static u32 gfx_v7_0_ring_get_wptr_compute (struct amdgpu_ring *ring) {/* XXX check if swapping is necessary on BE */
@@ -4920,7 +4915,7 @@ const struct amd_ip_funcs gfx_v7_0_ip_funcs = { };static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = { - .get_rptr = gfx_v7_0_ring_get_rptr_gfx, + .get_rptr = gfx_v7_0_ring_get_rptr, .get_wptr = gfx_v7_0_ring_get_wptr_gfx, .set_wptr = gfx_v7_0_ring_set_wptr_gfx, .parse_cs =NULL ,
@@ -4938,7 +4933,7 @@ static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = { };static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_compute = { - .get_rptr = gfx_v7_0_ring_get_rptr_compute, + .get_rptr = gfx_v7_0_ring_get_rptr, .get_wptr = gfx_v7_0_ring_get_wptr_compute, .set_wptr = gfx_v7_0_ring_set_wptr_compute, .parse_cs =NULL ,
Signature · 6 lines
2.9.3 _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
PATCH 3/6 drm/amd/amdgpu: Merge get_rptr functions in gfx8
In reply to a message not in the archive--- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +3 -8
@@ -5835,7 +5835,7 @@ static int gfx_v8_0_set_clockgating_state(void *handle,return 0 ; } -static u32 gfx_v8_0_ring_get_rptr_gfx (struct amdgpu_ring *ring) +static u32 gfx_v8_0_ring_get_rptr (struct amdgpu_ring *ring) {return ring->adev->wb.wb[ring->rptr_offs]; }
@@ -6051,11 +6051,6 @@ static void gfx_v8_0_ring_emit_vm_flush(struct amdgpu_ring *ring, } } -static u32 gfx_v8_0_ring_get_rptr_compute (struct amdgpu_ring *ring) -{ -return ring->adev->wb.wb[ring->rptr_offs]; -} -static u32 gfx_v8_0_ring_get_wptr_compute (struct amdgpu_ring *ring) {return ring->adev->wb.wb[ring->wptr_offs];
@@ -6263,7 +6258,7 @@ const struct amd_ip_funcs gfx_v8_0_ip_funcs = { };static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = { - .get_rptr = gfx_v8_0_ring_get_rptr_gfx, + .get_rptr = gfx_v8_0_ring_get_rptr, .get_wptr = gfx_v8_0_ring_get_wptr_gfx, .set_wptr = gfx_v8_0_ring_set_wptr_gfx, .parse_cs =NULL ,
@@ -6282,7 +6277,7 @@ static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = { };static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_compute = { - .get_rptr = gfx_v8_0_ring_get_rptr_compute, + .get_rptr = gfx_v8_0_ring_get_rptr, .get_wptr = gfx_v8_0_ring_get_wptr_compute, .set_wptr = gfx_v8_0_ring_set_wptr_compute, .parse_cs =NULL ,
Signature · 6 lines
2.9.3 _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
PATCH 4/6 drm/amd/amdgpu: Merge get_wptr functions in gfx6
In reply to a message not in the archive--- drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-)
drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +11 -20
@@ -1660,11 +1660,18 @@ static u32 gfx_v6_0_ring_get_rptr(struct amdgpu_ring *ring)return ring->adev->wb.wb[ring->rptr_offs]; } -static u32 gfx_v6_0_ring_get_wptr_gfx (struct amdgpu_ring *ring) +static u32 gfx_v6_0_ring_get_wptr (struct amdgpu_ring *ring) {struct amdgpu_device *adev = ring->adev; -return RREG32 (CP_RB0_WPTR ); +if (ring == &adev->gfx.gfx_ring[0 ]) +return RREG32 (CP_RB0_WPTR ); +else if (ring == &adev->gfx.compute_ring[0 ]) +return RREG32 (CP_RB1_WPTR ); +else if (ring == &adev->gfx.compute_ring[1 ]) +return RREG32 (CP_RB2_WPTR ); +else +BUG (); }static void gfx_v6_0_ring_set_wptr_gfx (struct amdgpu_ring *ring)
@@ -1675,22 +1682,6 @@ static void gfx_v6_0_ring_set_wptr_gfx(struct amdgpu_ring *ring) (void )RREG32 (CP_RB0_WPTR ); } -static u32 gfx_v6_0_ring_get_wptr_compute (struct amdgpu_ring *ring) -{ -struct amdgpu_device *adev = ring->adev; -u32 wptr; - -if (ring == &adev->gfx.compute_ring[0 ]) { - wptr =RREG32 (CP_RB1_WPTR ); - }else if (ring == &adev->gfx.compute_ring[1 ]) { - wptr =RREG32 (CP_RB2_WPTR ); - }else { -BUG (); - } - -return wptr; -} -static void gfx_v6_0_ring_set_wptr_compute (struct amdgpu_ring *ring) {struct amdgpu_device *adev = ring->adev;
@@ -3148,7 +3139,7 @@ const struct amd_ip_funcs gfx_v6_0_ip_funcs = {static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_gfx = { .get_rptr = gfx_v6_0_ring_get_rptr, - .get_wptr = gfx_v6_0_ring_get_wptr_gfx, + .get_wptr = gfx_v6_0_ring_get_wptr, .set_wptr = gfx_v6_0_ring_set_wptr_gfx, .parse_cs =NULL , .emit_ib = gfx_v6_0_ring_emit_ib_gfx,
@@ -3165,7 +3156,7 @@ static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_gfx = {static const struct amdgpu_ring_funcs gfx_v6_0_ring_funcs_compute = { .get_rptr = gfx_v6_0_ring_get_rptr, - .get_wptr = gfx_v6_0_ring_get_wptr_compute, + .get_wptr = gfx_v6_0_ring_get_wptr, .set_wptr = gfx_v6_0_ring_set_wptr_compute, .parse_cs =NULL , .emit_ib = gfx_v6_0_ring_emit_ib_compute,
Signature · 6 lines
2.9.3 _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
PATCH 5/6 drm/amd/amdgpu: Merge get_wptr functions in gfx7
In reply to a message not in the archive--- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-)
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +7 -10
@@ -2448,11 +2448,14 @@ static u32 gfx_v7_0_ring_get_rptr(struct amdgpu_ring *ring)return ring->adev->wb.wb[ring->rptr_offs]; } -static u32 gfx_v7_0_ring_get_wptr_gfx (struct amdgpu_ring *ring) +static u32 gfx_v7_0_ring_get_wptr (struct amdgpu_ring *ring) {struct amdgpu_device *adev = ring->adev; -return RREG32 (mmCP_RB0_WPTR); +if (ring == &adev->gfx.gfx_ring[0 ]) +return RREG32 (mmCP_RB0_WPTR); +else +return ring->adev->wb.wb[ring->wptr_offs]; }static void gfx_v7_0_ring_set_wptr_gfx (struct amdgpu_ring *ring)
@@ -2463,12 +2466,6 @@ static void gfx_v7_0_ring_set_wptr_gfx(struct amdgpu_ring *ring) (void )RREG32 (mmCP_RB0_WPTR); } -static u32 gfx_v7_0_ring_get_wptr_compute (struct amdgpu_ring *ring) -{ -/* XXX check if swapping is necessary on BE */ -return ring->adev->wb.wb[ring->wptr_offs]; -} -static void gfx_v7_0_ring_set_wptr_compute (struct amdgpu_ring *ring) {struct amdgpu_device *adev = ring->adev;
@@ -4916,7 +4913,7 @@ const struct amd_ip_funcs gfx_v7_0_ip_funcs = {static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = { .get_rptr = gfx_v7_0_ring_get_rptr, - .get_wptr = gfx_v7_0_ring_get_wptr_gfx, + .get_wptr = gfx_v7_0_ring_get_wptr, .set_wptr = gfx_v7_0_ring_set_wptr_gfx, .parse_cs =NULL , .emit_ib = gfx_v7_0_ring_emit_ib_gfx,
@@ -4934,7 +4931,7 @@ static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = {static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_compute = { .get_rptr = gfx_v7_0_ring_get_rptr, - .get_wptr = gfx_v7_0_ring_get_wptr_compute, + .get_wptr = gfx_v7_0_ring_get_wptr, .set_wptr = gfx_v7_0_ring_set_wptr_compute, .parse_cs =NULL , .emit_ib = gfx_v7_0_ring_emit_ib_compute,
Signature · 6 lines
2.9.3 _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
PATCH 6/6 drm/amd/amdgpu: Merge get_wptr functions in gfx8
In reply to a message not in the archive--- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-)
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +5 -10
@@ -5840,12 +5840,12 @@ static u32 gfx_v8_0_ring_get_rptr(struct amdgpu_ring *ring)return ring->adev->wb.wb[ring->rptr_offs]; } -static u32 gfx_v8_0_ring_get_wptr_gfx (struct amdgpu_ring *ring) +static u32 gfx_v8_0_ring_get_wptr (struct amdgpu_ring *ring) {struct amdgpu_device *adev = ring->adev; -if (ring->use_doorbell) -/* XXX check if swapping is necessary on BE */ +if (ring->use_doorbell || + ring != &adev->gfx.gfx_ring[0 ])return ring->adev->wb.wb[ring->wptr_offs];else return RREG32 (mmCP_RB0_WPTR);
@@ -6051,11 +6051,6 @@ static void gfx_v8_0_ring_emit_vm_flush(struct amdgpu_ring *ring, } } -static u32 gfx_v8_0_ring_get_wptr_compute (struct amdgpu_ring *ring) -{ -return ring->adev->wb.wb[ring->wptr_offs]; -} -static void gfx_v8_0_ring_set_wptr_compute (struct amdgpu_ring *ring) {struct amdgpu_device *adev = ring->adev;
@@ -6259,7 +6254,7 @@ const struct amd_ip_funcs gfx_v8_0_ip_funcs = {static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = { .get_rptr = gfx_v8_0_ring_get_rptr, - .get_wptr = gfx_v8_0_ring_get_wptr_gfx, + .get_wptr = gfx_v8_0_ring_get_wptr, .set_wptr = gfx_v8_0_ring_set_wptr_gfx, .parse_cs =NULL , .emit_ib = gfx_v8_0_ring_emit_ib_gfx,
@@ -6278,7 +6273,7 @@ static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = {static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_compute = { .get_rptr = gfx_v8_0_ring_get_rptr, - .get_wptr = gfx_v8_0_ring_get_wptr_compute, + .get_wptr = gfx_v8_0_ring_get_wptr, .set_wptr = gfx_v8_0_ring_set_wptr_compute, .parse_cs =NULL , .emit_ib = gfx_v8_0_ring_emit_ib_compute,
Signature · 6 lines
2.9.3 _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Deucher, Alexander
Reviewed-by Alex DeucherQuoted 9 lines
-----Original Message-----
From: amd-gfx [mailto:[email protected]] On Behalf Of Tom St Denis
Sent: Friday, September 02, 2016 8:49 AM
To: [email protected]
Subject: Mergeget_rptrandget_wptrfunctionsThese patches merge the ring
get_rptrandget_wptrfunctions from each of the GFX drivers between gfx and compute rings.
Patches 1-4 are:
For 5 and 6, I think the logic is clearer as is.
Alex
Quoted 5 lines
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
A message that is not in the archive (sent off-list or not yet received): MWHPR12MB16944757DF4E9517905BDDC6F7E50-Gy0DoCVfaSW4WA4dJ5YXGAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org
Am 02.09.2016 um 15:58 schrieb Deucher, Alexander:
Quoted 7 lines
Quoted 7 lines
-----Original Message-----
From: amd-gfx [mailto:[email protected]] On Behalf Of Tom St Denis
Sent: Friday, September 02, 2016 8:49 AM
To: [email protected]
Subject: Mergeget_rptrandget_wptrfunctions
Quoted 5 lines
Quoted 2 lines
These patches merge the ring
get_rptrandget_wptrfunctions from each of the GFX drivers between gfx and compute rings.Patches 1-4 are:
Reviewed-by Alex Deucher <[email protected]>For 5 and 6, I think the logic is clearer as is.
Yeah, agree. The special doorbell handling isn't used nor necessary for the gfx ring.
So patches 1-4 are Reviewed-by: Christian König <[email protected]> as well.
Christian.
Quoted 4 lines
Alex
Quoted 8 lines
Quoted 4 lines
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx