mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:04:51 +01:00
drm/amdgpu: update the handle ptr in is_idle
Update the *handle to amdgpu_ip_block ptr for all functions pointers of is_idle. Signed-off-by: Sunil Khatri <sunil.khatri@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
cb0de06d1b
commit
7dc3405403
78 changed files with 148 additions and 148 deletions
|
|
@ -579,7 +579,7 @@ static int acp_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool acp_is_idle(void *handle)
|
||||
static bool acp_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ static int isp_early_init(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool isp_is_idle(void *handle)
|
||||
static bool isp_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -627,7 +627,7 @@ static int amdgpu_vkms_resume(struct amdgpu_ip_block *ip_block)
|
|||
return drm_mode_config_helper_resume(adev_to_drm(ip_block->adev));
|
||||
}
|
||||
|
||||
static bool amdgpu_vkms_is_idle(void *handle)
|
||||
static bool amdgpu_vkms_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2148,7 +2148,7 @@ static int cik_common_resume(struct amdgpu_ip_block *ip_block)
|
|||
return cik_common_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool cik_common_is_idle(void *handle)
|
||||
static bool cik_common_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -345,9 +345,9 @@ static int cik_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return cik_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool cik_ih_is_idle(void *handle)
|
||||
static bool cik_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS);
|
||||
|
||||
if (tmp & SRBM_STATUS__IH_BUSY_MASK)
|
||||
|
|
|
|||
|
|
@ -1025,9 +1025,9 @@ static int cik_sdma_resume(struct amdgpu_ip_block *ip_block)
|
|||
return cik_sdma_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool cik_sdma_is_idle(void *handle)
|
||||
static bool cik_sdma_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS2);
|
||||
|
||||
if (tmp & (SRBM_STATUS2__SDMA_BUSY_MASK |
|
||||
|
|
|
|||
|
|
@ -341,9 +341,9 @@ static int cz_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return cz_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool cz_ih_is_idle(void *handle)
|
||||
static bool cz_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS);
|
||||
|
||||
if (REG_GET_FIELD(tmp, SRBM_STATUS, IH_BUSY))
|
||||
|
|
|
|||
|
|
@ -2970,7 +2970,7 @@ static int dce_v10_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return amdgpu_display_resume_helper(adev);
|
||||
}
|
||||
|
||||
static bool dce_v10_0_is_idle(void *handle)
|
||||
static bool dce_v10_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3108,7 +3108,7 @@ static int dce_v11_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return amdgpu_display_resume_helper(adev);
|
||||
}
|
||||
|
||||
static bool dce_v11_0_is_idle(void *handle)
|
||||
static bool dce_v11_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2865,7 +2865,7 @@ static int dce_v6_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return amdgpu_display_resume_helper(adev);
|
||||
}
|
||||
|
||||
static bool dce_v6_0_is_idle(void *handle)
|
||||
static bool dce_v6_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2887,7 +2887,7 @@ static int dce_v8_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return amdgpu_display_resume_helper(adev);
|
||||
}
|
||||
|
||||
static bool dce_v8_0_is_idle(void *handle)
|
||||
static bool dce_v8_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7583,9 +7583,9 @@ static int gfx_v10_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return gfx_v10_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool gfx_v10_0_is_idle(void *handle)
|
||||
static bool gfx_v10_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (REG_GET_FIELD(RREG32_SOC15(GC, 0, mmGRBM_STATUS),
|
||||
GRBM_STATUS, GUI_ACTIVE))
|
||||
|
|
|
|||
|
|
@ -4787,9 +4787,9 @@ static int gfx_v11_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return gfx_v11_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool gfx_v11_0_is_idle(void *handle)
|
||||
static bool gfx_v11_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (REG_GET_FIELD(RREG32_SOC15(GC, 0, regGRBM_STATUS),
|
||||
GRBM_STATUS, GUI_ACTIVE))
|
||||
|
|
|
|||
|
|
@ -3695,9 +3695,9 @@ static int gfx_v12_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return gfx_v12_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool gfx_v12_0_is_idle(void *handle)
|
||||
static bool gfx_v12_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (REG_GET_FIELD(RREG32_SOC15(GC, 0, regGRBM_STATUS),
|
||||
GRBM_STATUS, GUI_ACTIVE))
|
||||
|
|
|
|||
|
|
@ -3167,9 +3167,9 @@ static int gfx_v6_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return gfx_v6_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool gfx_v6_0_is_idle(void *handle)
|
||||
static bool gfx_v6_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (RREG32(mmGRBM_STATUS) & GRBM_STATUS__GUI_ACTIVE_MASK)
|
||||
return false;
|
||||
|
|
@ -3183,7 +3183,7 @@ static int gfx_v6_0_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (gfx_v6_0_is_idle(adev))
|
||||
if (gfx_v6_0_is_idle(ip_block))
|
||||
return 0;
|
||||
udelay(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4515,9 +4515,9 @@ static int gfx_v7_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return gfx_v7_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool gfx_v7_0_is_idle(void *handle)
|
||||
static bool gfx_v7_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (RREG32(mmGRBM_STATUS) & GRBM_STATUS__GUI_ACTIVE_MASK)
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -4851,9 +4851,9 @@ static int gfx_v8_0_kcq_disable(struct amdgpu_device *adev)
|
|||
return r;
|
||||
}
|
||||
|
||||
static bool gfx_v8_0_is_idle(void *handle)
|
||||
static bool gfx_v8_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (REG_GET_FIELD(RREG32(mmGRBM_STATUS), GRBM_STATUS, GUI_ACTIVE)
|
||||
|| RREG32(mmGRBM_STATUS2) != 0x8)
|
||||
|
|
@ -4892,7 +4892,7 @@ static int gfx_v8_0_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (gfx_v8_0_is_idle(adev))
|
||||
if (gfx_v8_0_is_idle(ip_block))
|
||||
return 0;
|
||||
|
||||
udelay(1);
|
||||
|
|
|
|||
|
|
@ -4110,9 +4110,9 @@ static int gfx_v9_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return gfx_v9_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool gfx_v9_0_is_idle(void *handle)
|
||||
static bool gfx_v9_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (REG_GET_FIELD(RREG32_SOC15(GC, 0, mmGRBM_STATUS),
|
||||
GRBM_STATUS, GUI_ACTIVE))
|
||||
|
|
@ -4127,7 +4127,7 @@ static int gfx_v9_0_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (gfx_v9_0_is_idle(adev))
|
||||
if (gfx_v9_0_is_idle(ip_block))
|
||||
return 0;
|
||||
udelay(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2408,9 +2408,9 @@ static int gfx_v9_4_3_resume(struct amdgpu_ip_block *ip_block)
|
|||
return gfx_v9_4_3_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool gfx_v9_4_3_is_idle(void *handle)
|
||||
static bool gfx_v9_4_3_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, num_xcc;
|
||||
|
||||
num_xcc = NUM_XCC(adev->gfx.xcc_mask);
|
||||
|
|
@ -2428,7 +2428,7 @@ static int gfx_v9_4_3_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (gfx_v9_4_3_is_idle(adev))
|
||||
if (gfx_v9_4_3_is_idle(ip_block))
|
||||
return 0;
|
||||
udelay(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1076,7 +1076,7 @@ static int gmc_v10_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool gmc_v10_0_is_idle(void *handle)
|
||||
static bool gmc_v10_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* MC is always ready in GMC v10.*/
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -987,7 +987,7 @@ static int gmc_v11_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool gmc_v11_0_is_idle(void *handle)
|
||||
static bool gmc_v11_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* MC is always ready in GMC v11.*/
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -984,7 +984,7 @@ static int gmc_v12_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool gmc_v12_0_is_idle(void *handle)
|
||||
static bool gmc_v12_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* MC is always ready in GMC v11.*/
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -957,9 +957,9 @@ static int gmc_v6_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool gmc_v6_0_is_idle(void *handle)
|
||||
static bool gmc_v6_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
u32 tmp = RREG32(mmSRBM_STATUS);
|
||||
|
||||
|
|
@ -976,7 +976,7 @@ static int gmc_v6_0_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (gmc_v6_0_is_idle(adev))
|
||||
if (gmc_v6_0_is_idle(ip_block))
|
||||
return 0;
|
||||
udelay(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1142,9 +1142,9 @@ static int gmc_v7_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool gmc_v7_0_is_idle(void *handle)
|
||||
static bool gmc_v7_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS);
|
||||
|
||||
if (tmp & (SRBM_STATUS__MCB_BUSY_MASK | SRBM_STATUS__MCB_NON_DISPLAY_BUSY_MASK |
|
||||
|
|
|
|||
|
|
@ -1263,9 +1263,9 @@ static int gmc_v8_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool gmc_v8_0_is_idle(void *handle)
|
||||
static bool gmc_v8_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS);
|
||||
|
||||
if (tmp & (SRBM_STATUS__MCB_BUSY_MASK | SRBM_STATUS__MCB_NON_DISPLAY_BUSY_MASK |
|
||||
|
|
|
|||
|
|
@ -2543,7 +2543,7 @@ static int gmc_v9_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool gmc_v9_0_is_idle(void *handle)
|
||||
static bool gmc_v9_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* MC is always ready in GMC v9.*/
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -335,9 +335,9 @@ static int iceland_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return iceland_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool iceland_ih_is_idle(void *handle)
|
||||
static bool iceland_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS);
|
||||
|
||||
if (REG_GET_FIELD(tmp, SRBM_STATUS, IH_BUSY))
|
||||
|
|
|
|||
|
|
@ -652,7 +652,7 @@ static int ih_v6_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return ih_v6_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool ih_v6_0_is_idle(void *handle)
|
||||
static bool ih_v6_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* todo */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -631,7 +631,7 @@ static int ih_v6_1_resume(struct amdgpu_ip_block *ip_block)
|
|||
return ih_v6_1_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool ih_v6_1_is_idle(void *handle)
|
||||
static bool ih_v6_1_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* todo */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -621,7 +621,7 @@ static int ih_v7_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return ih_v7_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool ih_v7_0_is_idle(void *handle)
|
||||
static bool ih_v7_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* todo */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -680,9 +680,9 @@ void jpeg_v2_0_dec_ring_nop(struct amdgpu_ring *ring, uint32_t count)
|
|||
}
|
||||
}
|
||||
|
||||
static bool jpeg_v2_0_is_idle(void *handle)
|
||||
static bool jpeg_v2_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return ((RREG32_SOC15(JPEG, 0, mmUVD_JRBC_STATUS) &
|
||||
UVD_JRBC_STATUS__RB_JOB_DONE_MASK) ==
|
||||
|
|
@ -707,7 +707,7 @@ static int jpeg_v2_0_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
bool enable = (state == AMD_CG_STATE_GATE);
|
||||
|
||||
if (enable) {
|
||||
if (!jpeg_v2_0_is_idle(adev))
|
||||
if (!jpeg_v2_0_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
jpeg_v2_0_enable_clock_gating(adev);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -515,9 +515,9 @@ static void jpeg_v2_6_dec_ring_insert_end(struct amdgpu_ring *ring)
|
|||
amdgpu_ring_write(ring, (1 << (ring->me * 2 + 14)));
|
||||
}
|
||||
|
||||
static bool jpeg_v2_5_is_idle(void *handle)
|
||||
static bool jpeg_v2_5_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) {
|
||||
|
|
@ -563,7 +563,7 @@ static int jpeg_v2_5_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
continue;
|
||||
|
||||
if (enable) {
|
||||
if (!jpeg_v2_5_is_idle(adev))
|
||||
if (!jpeg_v2_5_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
jpeg_v2_5_enable_clock_gating(adev, i);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -470,9 +470,9 @@ static void jpeg_v3_0_dec_ring_set_wptr(struct amdgpu_ring *ring)
|
|||
}
|
||||
}
|
||||
|
||||
static bool jpeg_v3_0_is_idle(void *handle)
|
||||
static bool jpeg_v3_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret = 1;
|
||||
|
||||
ret &= (((RREG32_SOC15(JPEG, 0, mmUVD_JRBC_STATUS) &
|
||||
|
|
@ -498,7 +498,7 @@ static int jpeg_v3_0_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
bool enable = state == AMD_CG_STATE_GATE;
|
||||
|
||||
if (enable) {
|
||||
if (!jpeg_v3_0_is_idle(adev))
|
||||
if (!jpeg_v3_0_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
jpeg_v3_0_enable_clock_gating(adev);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -630,9 +630,9 @@ static void jpeg_v4_0_dec_ring_set_wptr(struct amdgpu_ring *ring)
|
|||
}
|
||||
}
|
||||
|
||||
static bool jpeg_v4_0_is_idle(void *handle)
|
||||
static bool jpeg_v4_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret = 1;
|
||||
|
||||
ret &= (((RREG32_SOC15(JPEG, 0, regUVD_JRBC_STATUS) &
|
||||
|
|
@ -658,7 +658,7 @@ static int jpeg_v4_0_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
bool enable = state == AMD_CG_STATE_GATE;
|
||||
|
||||
if (enable) {
|
||||
if (!jpeg_v4_0_is_idle(adev))
|
||||
if (!jpeg_v4_0_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
jpeg_v4_0_enable_clock_gating(adev);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -960,9 +960,9 @@ void jpeg_v4_0_3_dec_ring_nop(struct amdgpu_ring *ring, uint32_t count)
|
|||
}
|
||||
}
|
||||
|
||||
static bool jpeg_v4_0_3_is_idle(void *handle)
|
||||
static bool jpeg_v4_0_3_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool ret = false;
|
||||
int i, j;
|
||||
|
||||
|
|
@ -1004,7 +1004,7 @@ static int jpeg_v4_0_3_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
|
||||
for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) {
|
||||
if (enable) {
|
||||
if (!jpeg_v4_0_3_is_idle(adev))
|
||||
if (!jpeg_v4_0_3_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
jpeg_v4_0_3_enable_clock_gating(adev, i);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -648,9 +648,9 @@ static void jpeg_v4_0_5_dec_ring_set_wptr(struct amdgpu_ring *ring)
|
|||
}
|
||||
}
|
||||
|
||||
static bool jpeg_v4_0_5_is_idle(void *handle)
|
||||
static bool jpeg_v4_0_5_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) {
|
||||
|
|
@ -693,7 +693,7 @@ static int jpeg_v4_0_5_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
continue;
|
||||
|
||||
if (enable) {
|
||||
if (!jpeg_v4_0_5_is_idle(adev))
|
||||
if (!jpeg_v4_0_5_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
|
||||
jpeg_v4_0_5_enable_clock_gating(adev, i);
|
||||
|
|
|
|||
|
|
@ -559,9 +559,9 @@ static void jpeg_v5_0_0_dec_ring_set_wptr(struct amdgpu_ring *ring)
|
|||
}
|
||||
}
|
||||
|
||||
static bool jpeg_v5_0_0_is_idle(void *handle)
|
||||
static bool jpeg_v5_0_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret = 1;
|
||||
|
||||
ret &= (((RREG32_SOC15(JPEG, 0, regUVD_JRBC_STATUS) &
|
||||
|
|
@ -587,7 +587,7 @@ static int jpeg_v5_0_0_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
bool enable = (state == AMD_CG_STATE_GATE) ? true : false;
|
||||
|
||||
if (enable) {
|
||||
if (!jpeg_v5_0_0_is_idle(adev))
|
||||
if (!jpeg_v5_0_0_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
jpeg_v5_0_0_enable_clock_gating(adev);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -516,9 +516,9 @@ static void jpeg_v5_0_1_dec_ring_set_wptr(struct amdgpu_ring *ring)
|
|||
}
|
||||
}
|
||||
|
||||
static bool jpeg_v5_0_1_is_idle(void *handle)
|
||||
static bool jpeg_v5_0_1_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool ret = false;
|
||||
int i, j;
|
||||
|
||||
|
|
@ -567,7 +567,7 @@ static int jpeg_v5_0_1_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
return 0;
|
||||
|
||||
for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) {
|
||||
if (!jpeg_v5_0_1_is_idle(adev))
|
||||
if (!jpeg_v5_0_1_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -625,7 +625,7 @@ static int navi10_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return navi10_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool navi10_ih_is_idle(void *handle)
|
||||
static bool navi10_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* todo */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1035,7 +1035,7 @@ static int nv_common_resume(struct amdgpu_ip_block *ip_block)
|
|||
return nv_common_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool nv_common_is_idle(void *handle)
|
||||
static bool nv_common_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -911,9 +911,9 @@ static int sdma_v2_4_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v2_4_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v2_4_is_idle(void *handle)
|
||||
static bool sdma_v2_4_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS2);
|
||||
|
||||
if (tmp & (SRBM_STATUS2__SDMA_BUSY_MASK |
|
||||
|
|
|
|||
|
|
@ -1200,9 +1200,9 @@ static int sdma_v3_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v3_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v3_0_is_idle(void *handle)
|
||||
static bool sdma_v3_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS2);
|
||||
|
||||
if (tmp & (SRBM_STATUS2__SDMA_BUSY_MASK |
|
||||
|
|
|
|||
|
|
@ -2015,9 +2015,9 @@ static int sdma_v4_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v4_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v4_0_is_idle(void *handle)
|
||||
static bool sdma_v4_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < adev->sdma.num_instances; i++) {
|
||||
|
|
|
|||
|
|
@ -1561,9 +1561,9 @@ static int sdma_v4_4_2_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v4_4_2_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v4_4_2_is_idle(void *handle)
|
||||
static bool sdma_v4_4_2_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < adev->sdma.num_instances; i++) {
|
||||
|
|
|
|||
|
|
@ -1530,9 +1530,9 @@ static int sdma_v5_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v5_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v5_0_is_idle(void *handle)
|
||||
static bool sdma_v5_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < adev->sdma.num_instances; i++) {
|
||||
|
|
|
|||
|
|
@ -1435,9 +1435,9 @@ static int sdma_v5_2_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v5_2_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v5_2_is_idle(void *handle)
|
||||
static bool sdma_v5_2_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < adev->sdma.num_instances; i++) {
|
||||
|
|
|
|||
|
|
@ -1429,9 +1429,9 @@ static int sdma_v6_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v6_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v6_0_is_idle(void *handle)
|
||||
static bool sdma_v6_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < adev->sdma.num_instances; i++) {
|
||||
|
|
|
|||
|
|
@ -1430,9 +1430,9 @@ static int sdma_v7_0_resume(struct amdgpu_ip_block *ip_block)
|
|||
return sdma_v7_0_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool sdma_v7_0_is_idle(void *handle)
|
||||
static bool sdma_v7_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < adev->sdma.num_instances; i++) {
|
||||
|
|
|
|||
|
|
@ -2644,7 +2644,7 @@ static int si_common_resume(struct amdgpu_ip_block *ip_block)
|
|||
return si_common_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool si_common_is_idle(void *handle)
|
||||
static bool si_common_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -541,9 +541,9 @@ static int si_dma_resume(struct amdgpu_ip_block *ip_block)
|
|||
return si_dma_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool si_dma_is_idle(void *handle)
|
||||
static bool si_dma_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
u32 tmp = RREG32(SRBM_STATUS2);
|
||||
|
||||
|
|
@ -559,7 +559,7 @@ static int si_dma_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (si_dma_is_idle(adev))
|
||||
if (si_dma_is_idle(ip_block))
|
||||
return 0;
|
||||
udelay(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -210,9 +210,9 @@ static int si_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return si_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool si_ih_is_idle(void *handle)
|
||||
static bool si_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(SRBM_STATUS);
|
||||
|
||||
if (tmp & SRBM_STATUS__IH_BUSY_MASK)
|
||||
|
|
@ -227,7 +227,7 @@ static int si_ih_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (si_ih_is_idle(adev))
|
||||
if (si_ih_is_idle(ip_block))
|
||||
return 0;
|
||||
udelay(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1360,7 +1360,7 @@ static int soc15_common_resume(struct amdgpu_ip_block *ip_block)
|
|||
return soc15_common_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool soc15_common_is_idle(void *handle)
|
||||
static bool soc15_common_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -952,7 +952,7 @@ static int soc21_common_resume(struct amdgpu_ip_block *ip_block)
|
|||
return soc21_common_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool soc21_common_is_idle(void *handle)
|
||||
static bool soc21_common_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -531,7 +531,7 @@ static int soc24_common_resume(struct amdgpu_ip_block *ip_block)
|
|||
return soc24_common_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool soc24_common_is_idle(void *handle)
|
||||
static bool soc24_common_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -353,9 +353,9 @@ static int tonga_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return tonga_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool tonga_ih_is_idle(void *handle)
|
||||
static bool tonga_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 tmp = RREG32(mmSRBM_STATUS);
|
||||
|
||||
if (REG_GET_FIELD(tmp, SRBM_STATUS, IH_BUSY))
|
||||
|
|
|
|||
|
|
@ -758,9 +758,9 @@ static int uvd_v3_1_resume(struct amdgpu_ip_block *ip_block)
|
|||
return uvd_v3_1_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool uvd_v3_1_is_idle(void *handle)
|
||||
static bool uvd_v3_1_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return !(RREG32(mmSRBM_STATUS) & SRBM_STATUS__UVD_BUSY_MASK);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -658,9 +658,9 @@ static void uvd_v4_2_set_dcm(struct amdgpu_device *adev,
|
|||
WREG32_UVD_CTX(ixUVD_CGC_CTRL2, tmp2);
|
||||
}
|
||||
|
||||
static bool uvd_v4_2_is_idle(void *handle)
|
||||
static bool uvd_v4_2_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return !(RREG32(mmSRBM_STATUS) & SRBM_STATUS__UVD_BUSY_MASK);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -580,9 +580,9 @@ static void uvd_v5_0_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count)
|
|||
}
|
||||
}
|
||||
|
||||
static bool uvd_v5_0_is_idle(void *handle)
|
||||
static bool uvd_v5_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return !(RREG32(mmSRBM_STATUS) & SRBM_STATUS__UVD_BUSY_MASK);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1143,9 +1143,9 @@ static void uvd_v6_0_enc_ring_emit_vm_flush(struct amdgpu_ring *ring,
|
|||
amdgpu_ring_write(ring, vmid);
|
||||
}
|
||||
|
||||
static bool uvd_v6_0_is_idle(void *handle)
|
||||
static bool uvd_v6_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return !(RREG32(mmSRBM_STATUS) & SRBM_STATUS__UVD_BUSY_MASK);
|
||||
}
|
||||
|
|
@ -1156,7 +1156,7 @@ static int uvd_v6_0_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (uvd_v6_0_is_idle(adev))
|
||||
if (uvd_v6_0_is_idle(ip_block))
|
||||
return 0;
|
||||
}
|
||||
return -ETIMEDOUT;
|
||||
|
|
|
|||
|
|
@ -201,9 +201,9 @@ static void vce_v2_0_mc_resume(struct amdgpu_device *adev)
|
|||
WREG32_FIELD(VCE_SYS_INT_EN, VCE_SYS_INT_TRAP_INTERRUPT_EN, 1);
|
||||
}
|
||||
|
||||
static bool vce_v2_0_is_idle(void *handle)
|
||||
static bool vce_v2_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return !(RREG32(mmSRBM_STATUS2) & SRBM_STATUS2__VCE_BUSY_MASK);
|
||||
}
|
||||
|
|
@ -214,7 +214,7 @@ static int vce_v2_0_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
unsigned i;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++) {
|
||||
if (vce_v2_0_is_idle(adev))
|
||||
if (vce_v2_0_is_idle(ip_block))
|
||||
return 0;
|
||||
}
|
||||
return -ETIMEDOUT;
|
||||
|
|
|
|||
|
|
@ -597,9 +597,9 @@ static void vce_v3_0_mc_resume(struct amdgpu_device *adev, int idx)
|
|||
WREG32_FIELD(VCE_SYS_INT_EN, VCE_SYS_INT_TRAP_INTERRUPT_EN, 1);
|
||||
}
|
||||
|
||||
static bool vce_v3_0_is_idle(void *handle)
|
||||
static bool vce_v3_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 mask = 0;
|
||||
|
||||
mask |= (adev->vce.harvest_config & AMDGPU_VCE_HARVEST_VCE0) ? 0 : SRBM_STATUS2__VCE0_BUSY_MASK;
|
||||
|
|
@ -614,7 +614,7 @@ static int vce_v3_0_wait_for_idle(struct amdgpu_ip_block *ip_block)
|
|||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
for (i = 0; i < adev->usec_timeout; i++)
|
||||
if (vce_v3_0_is_idle(adev))
|
||||
if (vce_v3_0_is_idle(ip_block))
|
||||
return 0;
|
||||
|
||||
return -ETIMEDOUT;
|
||||
|
|
|
|||
|
|
@ -1377,9 +1377,9 @@ static int vcn_v1_0_pause_dpg_mode(struct amdgpu_device *adev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool vcn_v1_0_is_idle(void *handle)
|
||||
static bool vcn_v1_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return (RREG32_SOC15(VCN, 0, mmUVD_STATUS) == UVD_STATUS__IDLE);
|
||||
}
|
||||
|
|
@ -1403,7 +1403,7 @@ static int vcn_v1_0_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
|
||||
if (enable) {
|
||||
/* wait for STATUS to clear */
|
||||
if (!vcn_v1_0_is_idle(adev))
|
||||
if (!vcn_v1_0_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
vcn_v1_0_enable_clock_gating(adev);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1317,9 +1317,9 @@ static int vcn_v2_0_pause_dpg_mode(struct amdgpu_device *adev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool vcn_v2_0_is_idle(void *handle)
|
||||
static bool vcn_v2_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
return (RREG32_SOC15(VCN, 0, mmUVD_STATUS) == UVD_STATUS__IDLE);
|
||||
}
|
||||
|
|
@ -1346,7 +1346,7 @@ static int vcn_v2_0_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
|
||||
if (enable) {
|
||||
/* wait for STATUS to clear */
|
||||
if (!vcn_v2_0_is_idle(adev))
|
||||
if (!vcn_v2_0_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
vcn_v2_0_enable_clock_gating(adev);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1750,9 +1750,9 @@ static void vcn_v2_5_set_enc_ring_funcs(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static bool vcn_v2_5_is_idle(void *handle)
|
||||
static bool vcn_v2_5_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
|
||||
|
|
@ -1794,7 +1794,7 @@ static int vcn_v2_5_set_clockgating_state(struct amdgpu_ip_block *ip_block,
|
|||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
|
||||
if (enable) {
|
||||
if (!vcn_v2_5_is_idle(adev))
|
||||
if (!vcn_v2_5_is_idle(ip_block))
|
||||
return -EBUSY;
|
||||
vcn_v2_5_enable_clock_gating(adev, i);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -2103,9 +2103,9 @@ static void vcn_v3_0_set_enc_ring_funcs(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static bool vcn_v3_0_is_idle(void *handle)
|
||||
static bool vcn_v3_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
|
||||
|
|
|
|||
|
|
@ -1968,9 +1968,9 @@ static void vcn_v4_0_set_unified_ring_funcs(struct amdgpu_device *adev)
|
|||
*
|
||||
* Check whether VCN block is idle
|
||||
*/
|
||||
static bool vcn_v4_0_is_idle(void *handle)
|
||||
static bool vcn_v4_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
|
||||
|
|
|
|||
|
|
@ -1579,9 +1579,9 @@ static void vcn_v4_0_3_set_unified_ring_funcs(struct amdgpu_device *adev)
|
|||
*
|
||||
* Check whether VCN block is idle
|
||||
*/
|
||||
static bool vcn_v4_0_3_is_idle(void *handle)
|
||||
static bool vcn_v4_0_3_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
|
||||
|
|
|
|||
|
|
@ -1456,9 +1456,9 @@ static void vcn_v4_0_5_set_unified_ring_funcs(struct amdgpu_device *adev)
|
|||
*
|
||||
* Check whether VCN block is idle
|
||||
*/
|
||||
static bool vcn_v4_0_5_is_idle(void *handle)
|
||||
static bool vcn_v4_0_5_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
|
||||
|
|
|
|||
|
|
@ -1196,9 +1196,9 @@ static void vcn_v5_0_0_set_unified_ring_funcs(struct amdgpu_device *adev)
|
|||
*
|
||||
* Check whether VCN block is idle
|
||||
*/
|
||||
static bool vcn_v5_0_0_is_idle(void *handle)
|
||||
static bool vcn_v5_0_0_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
|
||||
|
|
|
|||
|
|
@ -931,9 +931,9 @@ static void vcn_v5_0_1_set_unified_ring_funcs(struct amdgpu_device *adev)
|
|||
*
|
||||
* Check whether VCN block is idle
|
||||
*/
|
||||
static bool vcn_v5_0_1_is_idle(void *handle)
|
||||
static bool vcn_v5_0_1_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i, ret = 1;
|
||||
|
||||
for (i = 0; i < adev->vcn.num_vcn_inst; ++i)
|
||||
|
|
|
|||
|
|
@ -555,7 +555,7 @@ static int vega10_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return vega10_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool vega10_ih_is_idle(void *handle)
|
||||
static bool vega10_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* todo */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -651,7 +651,7 @@ static int vega20_ih_resume(struct amdgpu_ip_block *ip_block)
|
|||
return vega20_ih_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool vega20_ih_is_idle(void *handle)
|
||||
static bool vega20_ih_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* todo */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1736,7 +1736,7 @@ static int vi_common_resume(struct amdgpu_ip_block *ip_block)
|
|||
return vi_common_hw_init(ip_block);
|
||||
}
|
||||
|
||||
static bool vi_common_is_idle(void *handle)
|
||||
static bool vi_common_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -321,7 +321,7 @@ static int dm_crtc_get_scanoutpos(struct amdgpu_device *adev, int crtc,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool dm_is_idle(void *handle)
|
||||
static bool dm_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* XXX todo */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -405,7 +405,7 @@ struct amd_ip_funcs {
|
|||
int (*prepare_suspend)(struct amdgpu_ip_block *ip_block);
|
||||
int (*suspend)(struct amdgpu_ip_block *ip_block);
|
||||
int (*resume)(struct amdgpu_ip_block *ip_block);
|
||||
bool (*is_idle)(void *handle);
|
||||
bool (*is_idle)(struct amdgpu_ip_block *ip_block);
|
||||
int (*wait_for_idle)(struct amdgpu_ip_block *ip_block);
|
||||
bool (*check_soft_reset)(struct amdgpu_ip_block *ip_block);
|
||||
int (*pre_soft_reset)(struct amdgpu_ip_block *ip_block);
|
||||
|
|
|
|||
|
|
@ -3094,7 +3094,7 @@ static int kv_dpm_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool kv_dpm_is_idle(void *handle)
|
||||
static bool kv_dpm_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7838,7 +7838,7 @@ static int si_dpm_resume(struct amdgpu_ip_block *ip_block)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool si_dpm_is_idle(void *handle)
|
||||
static bool si_dpm_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
/* XXX */
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ static void pp_late_fini(struct amdgpu_ip_block *ip_block)
|
|||
}
|
||||
|
||||
|
||||
static bool pp_is_idle(void *handle)
|
||||
static bool pp_is_idle(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue