|
@@ -1086,6 +1086,8 @@ static void uvd_v7_0_stop(struct amdgpu_device *adev)
|
|
|
static void uvd_v7_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq,
|
|
|
unsigned flags)
|
|
|
{
|
|
|
+ struct amdgpu_device *adev = ring->adev;
|
|
|
+
|
|
|
WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT);
|
|
|
|
|
|
amdgpu_ring_write(ring,
|
|
@@ -1123,6 +1125,7 @@ static void uvd_v7_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq
|
|
|
static void uvd_v7_0_enc_ring_emit_fence(struct amdgpu_ring *ring, u64 addr,
|
|
|
u64 seq, unsigned flags)
|
|
|
{
|
|
|
+
|
|
|
WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT);
|
|
|
|
|
|
amdgpu_ring_write(ring, HEVC_ENC_CMD_FENCE);
|
|
@@ -1141,6 +1144,8 @@ static void uvd_v7_0_enc_ring_emit_fence(struct amdgpu_ring *ring, u64 addr,
|
|
|
*/
|
|
|
static void uvd_v7_0_ring_emit_hdp_flush(struct amdgpu_ring *ring)
|
|
|
{
|
|
|
+ struct amdgpu_device *adev = ring->adev;
|
|
|
+
|
|
|
amdgpu_ring_write(ring, PACKET0(SOC15_REG_OFFSET(NBIF, 0,
|
|
|
mmHDP_MEM_COHERENCY_FLUSH_CNTL), 0));
|
|
|
amdgpu_ring_write(ring, 0);
|
|
@@ -1155,6 +1160,8 @@ static void uvd_v7_0_ring_emit_hdp_flush(struct amdgpu_ring *ring)
|
|
|
*/
|
|
|
static void uvd_v7_0_ring_emit_hdp_invalidate(struct amdgpu_ring *ring)
|
|
|
{
|
|
|
+ struct amdgpu_device *adev = ring->adev;
|
|
|
+
|
|
|
amdgpu_ring_write(ring, PACKET0(SOC15_REG_OFFSET(HDP, 0, mmHDP_READ_CACHE_INVALIDATE), 0));
|
|
|
amdgpu_ring_write(ring, 1);
|
|
|
}
|
|
@@ -1214,6 +1221,8 @@ static void uvd_v7_0_ring_emit_ib(struct amdgpu_ring *ring,
|
|
|
struct amdgpu_ib *ib,
|
|
|
unsigned vm_id, bool ctx_switch)
|
|
|
{
|
|
|
+ struct amdgpu_device *adev = ring->adev;
|
|
|
+
|
|
|
amdgpu_ring_write(ring,
|
|
|
PACKET0(SOC15_REG_OFFSET(UVD, 0, mmUVD_LMI_RBC_IB_VMID), 0));
|
|
|
amdgpu_ring_write(ring, vm_id);
|
|
@@ -1250,6 +1259,8 @@ static void uvd_v7_0_enc_ring_emit_ib(struct amdgpu_ring *ring,
|
|
|
static void uvd_v7_0_vm_reg_write(struct amdgpu_ring *ring,
|
|
|
uint32_t data0, uint32_t data1)
|
|
|
{
|
|
|
+ struct amdgpu_device *adev = ring->adev;
|
|
|
+
|
|
|
amdgpu_ring_write(ring,
|
|
|
PACKET0(SOC15_REG_OFFSET(UVD, 0, mmUVD_GPCOM_VCPU_DATA0), 0));
|
|
|
amdgpu_ring_write(ring, data0);
|
|
@@ -1264,6 +1275,8 @@ static void uvd_v7_0_vm_reg_write(struct amdgpu_ring *ring,
|
|
|
static void uvd_v7_0_vm_reg_wait(struct amdgpu_ring *ring,
|
|
|
uint32_t data0, uint32_t data1, uint32_t mask)
|
|
|
{
|
|
|
+ struct amdgpu_device *adev = ring->adev;
|
|
|
+
|
|
|
amdgpu_ring_write(ring,
|
|
|
PACKET0(SOC15_REG_OFFSET(UVD, 0, mmUVD_GPCOM_VCPU_DATA0), 0));
|
|
|
amdgpu_ring_write(ring, data0);
|