{
        struct amdgpu_device *adev = ring->adev;
        struct dma_fence *f = NULL;
+       uint32_t offset, data[4];
        struct amdgpu_job *job;
        struct amdgpu_ib *ib;
-       uint32_t data[4];
        uint64_t addr;
        int i, r;
-       unsigned offset_idx = 0;
-       unsigned offset[3] = { UVD_BASE_SI, 0, 0 };
 
        r = amdgpu_job_alloc_with_ib(ring->adev, &adev->uvd.entity,
                                     AMDGPU_FENCE_OWNER_UNDEFINED,
        if (r)
                return r;
 
-       if (adev->asic_type >= CHIP_VEGA10) {
-               offset_idx = 1 + ring->me;
-               offset[1] = adev->reg_offset[UVD_HWIP][0][1];
-               offset[2] = adev->reg_offset[UVD_HWIP][1][1];
-       }
+       if (adev->asic_type >= CHIP_VEGA10)
+               offset = adev->reg_offset[UVD_HWIP][ring->me][1];
+       else
+               offset = UVD_BASE_SI;
 
-       data[0] = PACKET0(offset[offset_idx] + UVD_GPCOM_VCPU_DATA0, 0);
-       data[1] = PACKET0(offset[offset_idx] + UVD_GPCOM_VCPU_DATA1, 0);
-       data[2] = PACKET0(offset[offset_idx] + UVD_GPCOM_VCPU_CMD, 0);
-       data[3] = PACKET0(offset[offset_idx] + UVD_NO_OP, 0);
+       data[0] = PACKET0(offset + UVD_GPCOM_VCPU_DATA0, 0);
+       data[1] = PACKET0(offset + UVD_GPCOM_VCPU_DATA1, 0);
+       data[2] = PACKET0(offset + UVD_GPCOM_VCPU_CMD, 0);
+       data[3] = PACKET0(offset + UVD_NO_OP, 0);
 
        ib = &job->ibs[0];
        addr = amdgpu_bo_gpu_offset(bo);