From: Alex Deucher Date: Mon, 3 Jun 2013 15:21:58 +0000 (-0400) Subject: drm/radeon/cik: switch to type3 nop packet for compute rings (v2) X-Git-Tag: firefly_0821_release~176^2~5752^2~60^2~114 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2615b53acec2e0636c9d24a9e82f34904d8e39fd;p=firefly-linux-kernel-4.4.55.git drm/radeon/cik: switch to type3 nop packet for compute rings (v2) Type 2 packets are deprecated on CIK MEC and we should use type 3 nop packets. Setting the count field to the max value (0x3fff) indicates that only one dword should be skipped like a type 2 packet. v2: add comment to code Signed-off-by: Alex Deucher Reviewed-by: Jerome Glisse --- diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c index c718a9ea5048..19a6b3c31304 100644 --- a/drivers/gpu/drm/radeon/cik.c +++ b/drivers/gpu/drm/radeon/cik.c @@ -5467,10 +5467,11 @@ static int cik_startup(struct radeon_device *rdev) return r; /* set up the compute queues */ + /* type-2 packets are deprecated on MEC, use type-3 instead */ ring = &rdev->ring[CAYMAN_RING_TYPE_CP1_INDEX]; r = radeon_ring_init(rdev, ring, ring->ring_size, RADEON_WB_CP1_RPTR_OFFSET, CP_HQD_PQ_RPTR, CP_HQD_PQ_WPTR, - 0, 0xfffff, RADEON_CP_PACKET2); + 0, 0xfffff, PACKET3(PACKET3_NOP, 0x3FFF)); if (r) return r; ring->me = 1; /* first MEC */ @@ -5478,10 +5479,11 @@ static int cik_startup(struct radeon_device *rdev) ring->queue = 0; /* first queue */ ring->wptr_offs = CIK_WB_CP1_WPTR_OFFSET; + /* type-2 packets are deprecated on MEC, use type-3 instead */ ring = &rdev->ring[CAYMAN_RING_TYPE_CP2_INDEX]; r = radeon_ring_init(rdev, ring, ring->ring_size, RADEON_WB_CP2_RPTR_OFFSET, CP_HQD_PQ_RPTR, CP_HQD_PQ_WPTR, - 0, 0xffffffff, RADEON_CP_PACKET2); + 0, 0xffffffff, PACKET3(PACKET3_NOP, 0x3FFF)); if (r) return r; /* dGPU only have 1 MEC */