mirror of
https://github.com/hardkernel/linux.git
synced 2026-04-02 03:03:00 +09:00
drm/radeon: use packet2 for nop on hawaii with old firmware
commit 0e16e4cfde upstream.
Older firmware didn't support the new nop packet.
v2 (Andreas Boll):
- Drop usage of packet3 for new firmware
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com> (v1)
Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
42ce390ad9
commit
b9691a7fd3
@@ -7779,6 +7779,7 @@ restart_ih:
|
||||
static int cik_startup(struct radeon_device *rdev)
|
||||
{
|
||||
struct radeon_ring *ring;
|
||||
u32 nop;
|
||||
int r;
|
||||
|
||||
/* enable pcie gen2/3 link */
|
||||
@@ -7896,9 +7897,15 @@ static int cik_startup(struct radeon_device *rdev)
|
||||
}
|
||||
cik_irq_set(rdev);
|
||||
|
||||
if (rdev->family == CHIP_HAWAII) {
|
||||
nop = RADEON_CP_PACKET2;
|
||||
} else {
|
||||
nop = PACKET3(PACKET3_NOP, 0x3FFF);
|
||||
}
|
||||
|
||||
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, RADEON_WB_CP_RPTR_OFFSET,
|
||||
PACKET3(PACKET3_NOP, 0x3FFF));
|
||||
nop);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
@@ -7906,7 +7913,7 @@ static int cik_startup(struct radeon_device *rdev)
|
||||
/* 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,
|
||||
PACKET3(PACKET3_NOP, 0x3FFF));
|
||||
nop);
|
||||
if (r)
|
||||
return r;
|
||||
ring->me = 1; /* first MEC */
|
||||
@@ -7917,7 +7924,7 @@ static int cik_startup(struct radeon_device *rdev)
|
||||
/* 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,
|
||||
PACKET3(PACKET3_NOP, 0x3FFF));
|
||||
nop);
|
||||
if (r)
|
||||
return r;
|
||||
/* dGPU only have 1 MEC */
|
||||
|
||||
Reference in New Issue
Block a user