mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 21:35:07 +00:00
drm/radeon: switch UVD code to use UVD_NO_OP for padding
Replace packet2's with packet0 writes to UVD_NO_OP. The value written to UVD_NO_OP does not matter. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c8b4f288f4
commit
70a033d25b
@ -8207,7 +8207,7 @@ static void cik_uvd_resume(struct radeon_device *rdev)
|
||||
return;
|
||||
|
||||
ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, RADEON_CP_PACKET2);
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, PACKET0(UVD_NO_OP, 0));
|
||||
if (r) {
|
||||
dev_err(rdev->dev, "failed initializing UVD ring (%d).\n", r);
|
||||
return;
|
||||
|
@ -2069,6 +2069,7 @@
|
||||
#define UVD_UDEC_ADDR_CONFIG 0xef4c
|
||||
#define UVD_UDEC_DB_ADDR_CONFIG 0xef50
|
||||
#define UVD_UDEC_DBW_ADDR_CONFIG 0xef54
|
||||
#define UVD_NO_OP 0xeffc
|
||||
|
||||
#define UVD_LMI_EXT40_ADDR 0xf498
|
||||
#define UVD_GP_SCRATCH4 0xf4e0
|
||||
|
@ -5579,7 +5579,7 @@ static void evergreen_uvd_resume(struct radeon_device *rdev)
|
||||
return;
|
||||
|
||||
ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, RADEON_CP_PACKET2);
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, PACKET0(UVD_NO_OP, 0));
|
||||
if (r) {
|
||||
dev_err(rdev->dev, "failed initializing UVD ring (%d).\n", r);
|
||||
return;
|
||||
|
@ -1523,6 +1523,7 @@
|
||||
#define UVD_UDEC_ADDR_CONFIG 0xef4c
|
||||
#define UVD_UDEC_DB_ADDR_CONFIG 0xef50
|
||||
#define UVD_UDEC_DBW_ADDR_CONFIG 0xef54
|
||||
#define UVD_NO_OP 0xeffc
|
||||
#define UVD_RBC_RB_RPTR 0xf690
|
||||
#define UVD_RBC_RB_WPTR 0xf694
|
||||
#define UVD_STATUS 0xf6bc
|
||||
|
@ -2062,7 +2062,7 @@ static void cayman_uvd_resume(struct radeon_device *rdev)
|
||||
return;
|
||||
|
||||
ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, RADEON_CP_PACKET2);
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, PACKET0(UVD_NO_OP, 0));
|
||||
if (r) {
|
||||
dev_err(rdev->dev, "failed initializing UVD ring (%d).\n", r);
|
||||
return;
|
||||
|
@ -1137,6 +1137,7 @@
|
||||
#define UVD_UDEC_ADDR_CONFIG 0xEF4C
|
||||
#define UVD_UDEC_DB_ADDR_CONFIG 0xEF50
|
||||
#define UVD_UDEC_DBW_ADDR_CONFIG 0xEF54
|
||||
#define UVD_NO_OP 0xEFFC
|
||||
#define UVD_RBC_RB_RPTR 0xF690
|
||||
#define UVD_RBC_RB_WPTR 0xF694
|
||||
#define UVD_STATUS 0xf6bc
|
||||
|
@ -3097,7 +3097,7 @@ static void r600_uvd_resume(struct radeon_device *rdev)
|
||||
return;
|
||||
|
||||
ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, RADEON_CP_PACKET2);
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, PACKET0(UVD_NO_OP, 0));
|
||||
if (r) {
|
||||
dev_err(rdev->dev, "failed initializing UVD ring (%d).\n", r);
|
||||
return;
|
||||
|
@ -754,8 +754,10 @@ static int radeon_uvd_send_msg(struct radeon_device *rdev,
|
||||
ib.ptr[3] = addr >> 32;
|
||||
ib.ptr[4] = PACKET0(UVD_GPCOM_VCPU_CMD, 0);
|
||||
ib.ptr[5] = 0;
|
||||
for (i = 6; i < 16; ++i)
|
||||
ib.ptr[i] = PACKET2(0);
|
||||
for (i = 6; i < 16; i += 2) {
|
||||
ib.ptr[i] = PACKET0(UVD_NO_OP, 0);
|
||||
ib.ptr[i+1] = 0;
|
||||
}
|
||||
ib.length_dw = 16;
|
||||
|
||||
r = radeon_ib_schedule(rdev, &ib, NULL, false);
|
||||
|
@ -1738,7 +1738,7 @@ static void rv770_uvd_resume(struct radeon_device *rdev)
|
||||
return;
|
||||
|
||||
ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, RADEON_CP_PACKET2);
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, PACKET0(UVD_NO_OP, 0));
|
||||
if (r) {
|
||||
dev_err(rdev->dev, "failed initializing UVD ring (%d).\n", r);
|
||||
return;
|
||||
|
@ -387,6 +387,7 @@
|
||||
#define UVD_UDEC_TILING_CONFIG 0xef40
|
||||
#define UVD_UDEC_DB_TILING_CONFIG 0xef44
|
||||
#define UVD_UDEC_DBW_TILING_CONFIG 0xef48
|
||||
#define UVD_NO_OP 0xeffc
|
||||
|
||||
#define GC_USER_SHADER_PIPE_CONFIG 0x8954
|
||||
#define INACTIVE_QD_PIPES(x) ((x) << 8)
|
||||
|
@ -6920,7 +6920,7 @@ static void si_uvd_resume(struct radeon_device *rdev)
|
||||
return;
|
||||
|
||||
ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, RADEON_CP_PACKET2);
|
||||
r = radeon_ring_init(rdev, ring, ring->ring_size, 0, PACKET0(UVD_NO_OP, 0));
|
||||
if (r) {
|
||||
dev_err(rdev->dev, "failed initializing UVD ring (%d).\n", r);
|
||||
return;
|
||||
|
@ -1559,6 +1559,7 @@
|
||||
#define UVD_UDEC_ADDR_CONFIG 0xEF4C
|
||||
#define UVD_UDEC_DB_ADDR_CONFIG 0xEF50
|
||||
#define UVD_UDEC_DBW_ADDR_CONFIG 0xEF54
|
||||
#define UVD_NO_OP 0xEFFC
|
||||
#define UVD_RBC_RB_RPTR 0xF690
|
||||
#define UVD_RBC_RB_WPTR 0xF694
|
||||
#define UVD_STATUS 0xf6bc
|
||||
|
Loading…
x
Reference in New Issue
Block a user