mmUVD_STATUS
WREG32_P(mmUVD_STATUS, 1<<2, ~(1<<2));
status = RREG32(mmUVD_STATUS);
WREG32_P(mmUVD_STATUS, 0, ~(1<<2));
status = RREG32(mmUVD_STATUS);
WREG32(mmUVD_STATUS, 0);
if (RREG32(mmUVD_STATUS) != 0)
if (RREG32(mmUVD_STATUS) != 0)
WREG32_P(mmUVD_STATUS, 1<<2, ~(1<<2));
status = RREG32(mmUVD_STATUS);
WREG32_P(mmUVD_STATUS, 0, ~(1<<2));
status = RREG32(mmUVD_STATUS);
WREG32(mmUVD_STATUS, 0);
if (RREG32(mmUVD_STATUS) != 0)
status = RREG32(mmUVD_STATUS);
WREG32_P(mmUVD_STATUS, 0, ~(2 << 1));
WREG32(mmUVD_STATUS, 0);
(RREG32(mmUVD_STATUS) & AMDGPU_UVD_STATUS_BUSY_MASK))
if (RREG32(mmUVD_STATUS) != 0)
status = RREG32(mmUVD_STATUS);
WREG32_P(mmUVD_STATUS, 0, ~(2 << UVD_STATUS__VCPU_REPORT__SHIFT));
WREG32(mmUVD_STATUS, 0);
status = RREG32_SOC15(UVD, k, mmUVD_STATUS);
WREG32_P(SOC15_REG_OFFSET(UVD, k, mmUVD_STATUS), 0,
MMSCH_V1_0_INSERT_DIRECT_RD_MOD_WT(SOC15_REG_OFFSET(UVD, i, mmUVD_STATUS),
MMSCH_V1_0_INSERT_DIRECT_RD_MOD_WT(SOC15_REG_OFFSET(UVD, i, mmUVD_STATUS),
MMSCH_V1_0_INSERT_DIRECT_POLL(SOC15_REG_OFFSET(UVD, i, mmUVD_STATUS), 0x02, 0x02);
RREG32_SOC15(UVD, 0, mmUVD_STATUS);
RREG32_SOC15(UVD, 0, mmUVD_STATUS);
SOC15_WAIT_ON_RREG(UVD, 0, mmUVD_STATUS, UVD_STATUS__IDLE, 0x7);
WREG32_SOC15(UVD, 0, mmUVD_STATUS, 0);
RREG32_SOC15(UVD, 0, mmUVD_STATUS);
RREG32_SOC15(UVD, 0, mmUVD_STATUS);
return (RREG32_SOC15(VCN, 0, mmUVD_STATUS) == UVD_STATUS__IDLE);
ret = SOC15_WAIT_ON_RREG(VCN, 0, mmUVD_STATUS, UVD_STATUS__IDLE,
RREG32_SOC15(VCN, 0, mmUVD_STATUS))) {
SOC15_REG_ENTRY_STR(VCN, 0, mmUVD_STATUS),
tmp = RREG32_SOC15(UVD, 0, mmUVD_STATUS) | UVD_STATUS__UVD_BUSY;
WREG32_SOC15(UVD, 0, mmUVD_STATUS, tmp);
status = RREG32_SOC15(UVD, 0, mmUVD_STATUS);
tmp = RREG32_SOC15(UVD, 0, mmUVD_STATUS) & ~UVD_STATUS__UVD_BUSY;
WREG32_SOC15(UVD, 0, mmUVD_STATUS, tmp);
tmp = RREG32_SOC15(UVD, 0, mmUVD_STATUS) | UVD_STATUS__UVD_BUSY;
WREG32_SOC15(UVD, 0, mmUVD_STATUS, tmp);
status = RREG32_SOC15(UVD, 0, mmUVD_STATUS);
WREG32_P(SOC15_REG_OFFSET(UVD, 0, mmUVD_STATUS), 0,
RREG32_SOC15(UVD, 0, mmUVD_STATUS);
RREG32_SOC15(UVD, 0, mmUVD_STATUS);
r = SOC15_WAIT_ON_RREG(VCN, 0, mmUVD_STATUS, UVD_STATUS__IDLE, 0x7);
WREG32_SOC15(VCN, 0, mmUVD_STATUS, 0);
RREG32_SOC15(VCN, 0, mmUVD_STATUS);
return (RREG32_SOC15(VCN, 0, mmUVD_STATUS) == UVD_STATUS__IDLE);
ret = SOC15_WAIT_ON_RREG(VCN, 0, mmUVD_STATUS, UVD_STATUS__IDLE,
SOC15_REG_OFFSET(UVD, 0, mmUVD_STATUS),
RREG32_SOC15(VCN, 0, mmUVD_STATUS)))
SOC15_REG_ENTRY_STR(VCN, 0, mmUVD_STATUS),
RREG32_SOC15(UVD, 0, mmUVD_STATUS);
RREG32_SOC15(VCN, inst_idx, mmUVD_STATUS);
tmp = RREG32_SOC15(VCN, i, mmUVD_STATUS) | UVD_STATUS__UVD_BUSY;
WREG32_SOC15(VCN, i, mmUVD_STATUS, tmp);
status = RREG32_SOC15(VCN, i, mmUVD_STATUS);
WREG32_P(SOC15_REG_OFFSET(VCN, i, mmUVD_STATUS), 0,
RREG32_SOC15(VCN, i, mmUVD_STATUS);
SOC15_REG_OFFSET(VCN, i, mmUVD_STATUS),
RREG32_SOC15(VCN, inst_idx, mmUVD_STATUS);
r = SOC15_WAIT_ON_RREG(VCN, i, mmUVD_STATUS, UVD_STATUS__IDLE, 0x7);
WREG32_SOC15(VCN, i, mmUVD_STATUS, 0);
RREG32_SOC15(VCN, i, mmUVD_STATUS);
ret &= (RREG32_SOC15(VCN, i, mmUVD_STATUS) == UVD_STATUS__IDLE);
ret = SOC15_WAIT_ON_RREG(VCN, i, mmUVD_STATUS, UVD_STATUS__IDLE,
RREG32_SOC15(VCN, i, mmUVD_STATUS)))
SOC15_REG_ENTRY_STR(VCN, 0, mmUVD_STATUS),
RREG32_SOC15(VCN, inst_idx, mmUVD_STATUS);
tmp = RREG32_SOC15(VCN, i, mmUVD_STATUS) | UVD_STATUS__UVD_BUSY;
WREG32_SOC15(VCN, i, mmUVD_STATUS, tmp);
status = RREG32_SOC15(VCN, i, mmUVD_STATUS);
WREG32_P(SOC15_REG_OFFSET(VCN, i, mmUVD_STATUS), 0,
RREG32_SOC15(VCN, i, mmUVD_STATUS);
mmUVD_STATUS),
RREG32_SOC15(VCN, inst_idx, mmUVD_STATUS);
r = SOC15_WAIT_ON_RREG(VCN, i, mmUVD_STATUS, UVD_STATUS__IDLE, 0x7);
WREG32_SOC15(VCN, i, mmUVD_STATUS, 0);
RREG32_SOC15(VCN, i, mmUVD_STATUS);
ret &= (RREG32_SOC15(VCN, i, mmUVD_STATUS) == UVD_STATUS__IDLE);
ret = SOC15_WAIT_ON_RREG(VCN, i, mmUVD_STATUS, UVD_STATUS__IDLE,
if (RREG32_SOC15(VCN, i, mmUVD_STATUS) != UVD_STATUS__IDLE)
RREG32_SOC15(VCN, i, mmUVD_STATUS))) {
SOC15_REG_ENTRY_STR(VCN, 0, mmUVD_STATUS),