mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
drm/amdgpu: pass ip_block in set_powergating_state
Pass ip_block instead of adev in set_powergating_state callback function. Modify set_powergating_state ip functions for all correspoding ip blocks. v2: fix a ip block index error. v3: remove type casting Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Suggested-by: Christian König <christian.koenig@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Sunil Khatri <sunil.khatri@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
393f026b16
commit
80d8051124
82 changed files with 162 additions and 156 deletions
|
|
@ -590,10 +590,10 @@ static int acp_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int acp_set_powergating_state(void *handle,
|
||||
static int acp_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
amdgpu_dpm_set_powergating_by_smu(adev, AMD_IP_BLOCK_TYPE_ACP, enable, 0);
|
||||
|
|
|
|||
|
|
@ -724,7 +724,9 @@ void amdgpu_amdkfd_set_compute_idle(struct amdgpu_device *adev, bool idle)
|
|||
/* Disable GFXOFF and PG. Temporary workaround
|
||||
* to fix some compute applications issue on GFX9.
|
||||
*/
|
||||
adev->ip_blocks[AMD_IP_BLOCK_TYPE_GFX].version->funcs->set_powergating_state((void *)adev, state);
|
||||
struct amdgpu_ip_block *gfx_block = amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_GFX);
|
||||
if (gfx_block != NULL)
|
||||
gfx_block->version->funcs->set_powergating_state((void *)gfx_block, state);
|
||||
}
|
||||
amdgpu_dpm_switch_power_profile(adev,
|
||||
PP_SMC_POWER_PROFILE_COMPUTE,
|
||||
|
|
|
|||
|
|
@ -2199,7 +2199,7 @@ int amdgpu_device_ip_set_powergating_state(void *dev,
|
|||
if (!adev->ip_blocks[i].version->funcs->set_powergating_state)
|
||||
continue;
|
||||
r = adev->ip_blocks[i].version->funcs->set_powergating_state(
|
||||
(void *)adev, state);
|
||||
&adev->ip_blocks[i], state);
|
||||
if (r)
|
||||
DRM_ERROR("set_powergating_state of IP block <%s> failed %d\n",
|
||||
adev->ip_blocks[i].version->funcs->name, r);
|
||||
|
|
@ -3174,7 +3174,7 @@ int amdgpu_device_set_pg_state(struct amdgpu_device *adev,
|
|||
adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_JPEG &&
|
||||
adev->ip_blocks[i].version->funcs->set_powergating_state) {
|
||||
/* enable powergating to save power */
|
||||
r = adev->ip_blocks[i].version->funcs->set_powergating_state((void *)adev,
|
||||
r = adev->ip_blocks[i].version->funcs->set_powergating_state(&adev->ip_blocks[i],
|
||||
state);
|
||||
if (r) {
|
||||
DRM_ERROR("set_powergating_state(gate) of IP block <%s> failed %d\n",
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ static int isp_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int isp_set_powergating_state(void *handle,
|
||||
static int isp_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -3855,7 +3855,7 @@ static int psp_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int psp_set_powergating_state(void *handle,
|
||||
static int psp_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -638,7 +638,7 @@ static int amdgpu_vkms_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int amdgpu_vkms_set_powergating_state(void *handle,
|
||||
static int amdgpu_vkms_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -652,10 +652,10 @@ static int vpe_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vpe_set_powergating_state(void *handle,
|
||||
static int vpe_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
struct amdgpu_vpe *vpe = &adev->vpe;
|
||||
|
||||
if (!adev->pm.dpm_enabled)
|
||||
|
|
|
|||
|
|
@ -2167,7 +2167,7 @@ static int cik_common_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int cik_common_set_powergating_state(void *handle,
|
||||
static int cik_common_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -408,7 +408,7 @@ static int cik_ih_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int cik_ih_set_powergating_state(void *handle,
|
||||
static int cik_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1204,7 +1204,7 @@ static int cik_sdma_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int cik_sdma_set_powergating_state(void *handle,
|
||||
static int cik_sdma_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -405,7 +405,7 @@ static int cz_ih_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int cz_ih_set_powergating_state(void *handle,
|
||||
static int cz_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
// TODO
|
||||
|
|
|
|||
|
|
@ -3308,7 +3308,7 @@ static int dce_v10_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v10_0_set_powergating_state(void *handle,
|
||||
static int dce_v10_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -3440,7 +3440,7 @@ static int dce_v11_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v11_0_set_powergating_state(void *handle,
|
||||
static int dce_v11_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -3130,7 +3130,7 @@ static int dce_v6_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v6_0_set_powergating_state(void *handle,
|
||||
static int dce_v6_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -3218,7 +3218,7 @@ static int dce_v8_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v8_0_set_powergating_state(void *handle,
|
||||
static int dce_v8_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -3673,7 +3673,7 @@ static void gfx_v10_0_ring_invalidate_tlbs(struct amdgpu_ring *ring,
|
|||
static void gfx_v10_0_update_spm_vmid_internal(struct amdgpu_device *adev,
|
||||
unsigned int vmid);
|
||||
|
||||
static int gfx_v10_0_set_powergating_state(void *handle,
|
||||
static int gfx_v10_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static void gfx10_kiq_set_resources(struct amdgpu_ring *kiq_ring, uint64_t queue_mask)
|
||||
{
|
||||
|
|
@ -7453,7 +7453,7 @@ static int gfx_v10_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
* otherwise the gfxoff disallowing will be failed to set.
|
||||
*/
|
||||
if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(10, 3, 1))
|
||||
gfx_v10_0_set_powergating_state(ip_block->adev, AMD_PG_STATE_UNGATE);
|
||||
gfx_v10_0_set_powergating_state(ip_block, AMD_PG_STATE_UNGATE);
|
||||
|
||||
if (!adev->no_hw_access) {
|
||||
if (amdgpu_async_gfx_ring) {
|
||||
|
|
@ -8341,10 +8341,10 @@ static const struct amdgpu_rlc_funcs gfx_v10_0_rlc_funcs_sriov = {
|
|||
.is_rlcg_access_range = gfx_v10_0_is_rlcg_access_range,
|
||||
};
|
||||
|
||||
static int gfx_v10_0_set_powergating_state(void *handle,
|
||||
static int gfx_v10_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
if (amdgpu_sriov_vf(adev))
|
||||
|
|
|
|||
|
|
@ -5456,10 +5456,10 @@ static void gfx_v11_cntl_pg(struct amdgpu_device *adev, bool enable)
|
|||
amdgpu_gfx_rlc_exit_safe_mode(adev, 0);
|
||||
}
|
||||
|
||||
static int gfx_v11_0_set_powergating_state(void *handle,
|
||||
static int gfx_v11_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
if (amdgpu_sriov_vf(adev))
|
||||
|
|
|
|||
|
|
@ -3862,10 +3862,10 @@ static void gfx_v12_cntl_pg(struct amdgpu_device *adev, bool enable)
|
|||
}
|
||||
#endif
|
||||
|
||||
static int gfx_v12_0_set_powergating_state(void *handle,
|
||||
static int gfx_v12_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
if (amdgpu_sriov_vf(adev))
|
||||
|
|
|
|||
|
|
@ -3395,11 +3395,11 @@ static int gfx_v6_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gfx_v6_0_set_powergating_state(void *handle,
|
||||
static int gfx_v6_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
bool gate = false;
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (state == AMD_PG_STATE_GATE)
|
||||
gate = true;
|
||||
|
|
|
|||
|
|
@ -4869,11 +4869,11 @@ static int gfx_v7_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gfx_v7_0_set_powergating_state(void *handle,
|
||||
static int gfx_v7_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
bool gate = false;
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (state == AMD_PG_STATE_GATE)
|
||||
gate = true;
|
||||
|
|
|
|||
|
|
@ -5365,10 +5365,10 @@ static void cz_update_gfx_cg_power_gating(struct amdgpu_device *adev,
|
|||
}
|
||||
}
|
||||
|
||||
static int gfx_v8_0_set_powergating_state(void *handle,
|
||||
static int gfx_v8_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
if (amdgpu_sriov_vf(adev))
|
||||
|
|
|
|||
|
|
@ -5230,10 +5230,10 @@ static const struct amdgpu_rlc_funcs gfx_v9_0_rlc_funcs = {
|
|||
.is_rlcg_access_range = gfx_v9_0_is_rlcg_access_range,
|
||||
};
|
||||
|
||||
static int gfx_v9_0_set_powergating_state(void *handle,
|
||||
static int gfx_v9_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
switch (amdgpu_ip_version(adev, GC_HWIP, 0)) {
|
||||
|
|
|
|||
|
|
@ -2768,7 +2768,7 @@ static const struct amdgpu_rlc_funcs gfx_v9_4_3_rlc_funcs = {
|
|||
.is_rlcg_access_range = gfx_v9_4_3_is_rlcg_access_range,
|
||||
};
|
||||
|
||||
static int gfx_v9_4_3_set_powergating_state(void *handle,
|
||||
static int gfx_v9_4_3_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1131,7 +1131,7 @@ static void gmc_v10_0_get_clockgating_state(void *handle, u64 *flags)
|
|||
athub_v2_0_get_clockgating(adev, flags);
|
||||
}
|
||||
|
||||
static int gmc_v10_0_set_powergating_state(void *handle,
|
||||
static int gmc_v10_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1018,7 +1018,7 @@ static void gmc_v11_0_get_clockgating_state(void *handle, u64 *flags)
|
|||
athub_v3_0_get_clockgating(adev, flags);
|
||||
}
|
||||
|
||||
static int gmc_v11_0_set_powergating_state(void *handle,
|
||||
static int gmc_v11_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1002,7 +1002,7 @@ static void gmc_v12_0_get_clockgating_state(void *handle, u64 *flags)
|
|||
athub_v4_1_0_get_clockgating(adev, flags);
|
||||
}
|
||||
|
||||
static int gmc_v12_0_set_powergating_state(void *handle,
|
||||
static int gmc_v12_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1100,7 +1100,7 @@ static int gmc_v6_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gmc_v6_0_set_powergating_state(void *handle,
|
||||
static int gmc_v6_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1337,7 +1337,7 @@ static int gmc_v7_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gmc_v7_0_set_powergating_state(void *handle,
|
||||
static int gmc_v7_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1679,7 +1679,7 @@ static int gmc_v8_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gmc_v8_0_set_powergating_state(void *handle,
|
||||
static int gmc_v8_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -2565,7 +2565,7 @@ static void gmc_v9_0_get_clockgating_state(void *handle, u64 *flags)
|
|||
athub_v1_0_get_clockgating(adev, flags);
|
||||
}
|
||||
|
||||
static int gmc_v9_0_set_powergating_state(void *handle,
|
||||
static int gmc_v9_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -398,7 +398,7 @@ static int iceland_ih_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int iceland_ih_set_powergating_state(void *handle,
|
||||
static int iceland_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -756,10 +756,10 @@ static void ih_v6_0_update_ih_mem_power_gating(struct amdgpu_device *adev,
|
|||
WREG32_SOC15(OSSSYS, 0, regIH_MEM_POWER_CTRL, ih_mem_pwr_cntl);
|
||||
}
|
||||
|
||||
static int ih_v6_0_set_powergating_state(void *handle,
|
||||
static int ih_v6_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
if (adev->pg_flags & AMD_PG_SUPPORT_IH_SRAM_PG)
|
||||
|
|
|
|||
|
|
@ -737,10 +737,10 @@ static void ih_v6_1_update_ih_mem_power_gating(struct amdgpu_device *adev,
|
|||
WREG32_SOC15(OSSSYS, 0, regIH_MEM_POWER_CTRL, ih_mem_pwr_cntl);
|
||||
}
|
||||
|
||||
static int ih_v6_1_set_powergating_state(void *handle,
|
||||
static int ih_v6_1_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
if (adev->pg_flags & AMD_PG_SUPPORT_IH_SRAM_PG)
|
||||
|
|
|
|||
|
|
@ -727,10 +727,10 @@ static void ih_v7_0_update_ih_mem_power_gating(struct amdgpu_device *adev,
|
|||
WREG32_SOC15(OSSSYS, 0, regIH_MEM_POWER_CTRL, ih_mem_pwr_cntl);
|
||||
}
|
||||
|
||||
static int ih_v7_0_set_powergating_state(void *handle,
|
||||
static int ih_v7_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
bool enable = (state == AMD_PG_STATE_GATE);
|
||||
|
||||
if (adev->pg_flags & AMD_PG_SUPPORT_IH_SRAM_PG)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
static void jpeg_v2_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v2_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int jpeg_v2_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v2_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
|
||||
/**
|
||||
|
|
@ -154,7 +154,7 @@ static int jpeg_v2_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
|
||||
if (adev->jpeg.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(JPEG, 0, mmUVD_JRBC_STATUS))
|
||||
jpeg_v2_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
jpeg_v2_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -692,10 +692,10 @@ static int jpeg_v2_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v2_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v2_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (state == adev->jpeg.cur_state)
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
static void jpeg_v2_5_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v2_5_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int jpeg_v2_5_set_powergating_state(void *handle,
|
||||
static int jpeg_v2_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static void jpeg_v2_5_set_ras_funcs(struct amdgpu_device *adev);
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ static int jpeg_v2_5_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
|
||||
if (adev->jpeg.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(JPEG, i, mmUVD_JRBC_STATUS))
|
||||
jpeg_v2_5_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
jpeg_v2_5_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
|
||||
if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__JPEG))
|
||||
amdgpu_irq_put(adev, &adev->jpeg.inst[i].ras_poison_irq, 0);
|
||||
|
|
@ -541,10 +541,10 @@ static int jpeg_v2_5_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v2_5_set_powergating_state(void *handle,
|
||||
static int jpeg_v2_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (state == adev->jpeg.cur_state)
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
static void jpeg_v3_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v3_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int jpeg_v3_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v3_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
|
||||
/**
|
||||
|
|
@ -168,7 +168,7 @@ static int jpeg_v3_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
|
||||
if (adev->jpeg.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(JPEG, 0, mmUVD_JRBC_STATUS))
|
||||
jpeg_v3_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
jpeg_v3_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -483,10 +483,10 @@ static int jpeg_v3_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v3_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v3_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if(state == adev->jpeg.cur_state)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
static int jpeg_v4_0_start_sriov(struct amdgpu_device *adev);
|
||||
static void jpeg_v4_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v4_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int jpeg_v4_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v4_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static void jpeg_v4_0_set_ras_funcs(struct amdgpu_device *adev);
|
||||
|
||||
|
|
@ -206,7 +206,7 @@ static int jpeg_v4_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
if (!amdgpu_sriov_vf(adev)) {
|
||||
if (adev->jpeg.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(JPEG, 0, regUVD_JRBC_STATUS))
|
||||
jpeg_v4_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
jpeg_v4_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__JPEG))
|
||||
amdgpu_irq_put(adev, &adev->jpeg.inst->ras_poison_irq, 0);
|
||||
|
|
@ -652,10 +652,10 @@ static int jpeg_v4_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v4_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v4_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ enum jpeg_engin_status {
|
|||
|
||||
static void jpeg_v4_0_3_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v4_0_3_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int jpeg_v4_0_3_set_powergating_state(void *handle,
|
||||
static int jpeg_v4_0_3_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static void jpeg_v4_0_3_set_ras_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v4_0_3_dec_ring_set_wptr(struct amdgpu_ring *ring);
|
||||
|
|
@ -379,7 +379,7 @@ static int jpeg_v4_0_3_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
|
||||
if (!amdgpu_sriov_vf(adev)) {
|
||||
if (adev->jpeg.cur_state != AMD_PG_STATE_GATE)
|
||||
ret = jpeg_v4_0_3_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
ret = jpeg_v4_0_3_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
@ -968,10 +968,10 @@ static int jpeg_v4_0_3_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v4_0_3_set_powergating_state(void *handle,
|
||||
static int jpeg_v4_0_3_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) {
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
static void jpeg_v4_0_5_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v4_0_5_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int jpeg_v4_0_5_set_powergating_state(void *handle,
|
||||
static int jpeg_v4_0_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
|
||||
static void jpeg_v4_0_5_dec_ring_set_wptr(struct amdgpu_ring *ring);
|
||||
|
|
@ -236,7 +236,7 @@ static int jpeg_v4_0_5_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
if (!amdgpu_sriov_vf(adev)) {
|
||||
if (adev->jpeg.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(JPEG, i, regUVD_JRBC_STATUS))
|
||||
jpeg_v4_0_5_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
jpeg_v4_0_5_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -684,10 +684,10 @@ static int jpeg_v4_0_5_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v4_0_5_set_powergating_state(void *handle,
|
||||
static int jpeg_v4_0_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
static void jpeg_v5_0_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void jpeg_v5_0_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int jpeg_v5_0_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v5_0_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
|
||||
/**
|
||||
|
|
@ -172,7 +172,7 @@ static int jpeg_v5_0_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
|
||||
if (adev->jpeg.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(JPEG, 0, regUVD_JRBC_STATUS))
|
||||
jpeg_v5_0_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
jpeg_v5_0_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -577,10 +577,10 @@ static int jpeg_v5_0_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v5_0_0_set_powergating_state(void *handle,
|
||||
static int jpeg_v5_0_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (state == adev->jpeg.cur_state)
|
||||
|
|
|
|||
|
|
@ -677,7 +677,7 @@ static int navi10_ih_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int navi10_ih_set_powergating_state(void *handle,
|
||||
static int navi10_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1070,7 +1070,7 @@ static int nv_common_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int nv_common_set_powergating_state(void *handle,
|
||||
static int nv_common_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* TODO */
|
||||
|
|
|
|||
|
|
@ -1087,7 +1087,7 @@ static int sdma_v2_4_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v2_4_set_powergating_state(void *handle,
|
||||
static int sdma_v2_4_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1506,7 +1506,7 @@ static int sdma_v3_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v3_0_set_powergating_state(void *handle,
|
||||
static int sdma_v3_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -2312,10 +2312,10 @@ static int sdma_v4_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v4_0_set_powergating_state(void *handle,
|
||||
static int sdma_v4_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
switch (amdgpu_ip_version(adev, SDMA0_HWIP, 0)) {
|
||||
case IP_VERSION(4, 1, 0):
|
||||
|
|
|
|||
|
|
@ -1892,7 +1892,7 @@ static int sdma_v4_4_2_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v4_4_2_set_powergating_state(void *handle,
|
||||
static int sdma_v4_4_2_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1877,7 +1877,7 @@ static int sdma_v5_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v5_0_set_powergating_state(void *handle,
|
||||
static int sdma_v5_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1841,7 +1841,7 @@ static int sdma_v5_2_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v5_2_set_powergating_state(void *handle,
|
||||
static int sdma_v5_2_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1607,7 +1607,7 @@ static int sdma_v6_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v6_0_set_powergating_state(void *handle,
|
||||
static int sdma_v6_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1530,7 +1530,7 @@ static int sdma_v7_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sdma_v7_0_set_powergating_state(void *handle,
|
||||
static int sdma_v7_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -2655,7 +2655,7 @@ static int si_common_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int si_common_set_powergating_state(void *handle,
|
||||
static int si_common_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -672,12 +672,12 @@ static int si_dma_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int si_dma_set_powergating_state(void *handle,
|
||||
static int si_dma_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
u32 tmp;
|
||||
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
WREG32(DMA_PGFSM_WRITE, 0x00002000);
|
||||
WREG32(DMA_PGFSM_CONFIG, 0x100010ff);
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ static int si_ih_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int si_ih_set_powergating_state(void *handle,
|
||||
static int si_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1473,7 +1473,7 @@ static void soc15_common_get_clockgating_state(void *handle, u64 *flags)
|
|||
adev->df.funcs->get_clockgating_state(adev, flags);
|
||||
}
|
||||
|
||||
static int soc15_common_set_powergating_state(void *handle,
|
||||
static int soc15_common_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* todo */
|
||||
|
|
|
|||
|
|
@ -954,10 +954,10 @@ static int soc21_common_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int soc21_common_set_powergating_state(void *handle,
|
||||
static int soc21_common_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
switch (amdgpu_ip_version(adev, LSDMA_HWIP, 0)) {
|
||||
case IP_VERSION(6, 0, 0):
|
||||
|
|
|
|||
|
|
@ -542,10 +542,10 @@ static int soc24_common_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int soc24_common_set_powergating_state(void *handle,
|
||||
static int soc24_common_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
switch (amdgpu_ip_version(adev, LSDMA_HWIP, 0)) {
|
||||
case IP_VERSION(7, 0, 0):
|
||||
|
|
|
|||
|
|
@ -454,7 +454,7 @@ static int tonga_ih_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int tonga_ih_set_powergating_state(void *handle,
|
||||
static int tonga_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -796,7 +796,7 @@ static int uvd_v3_1_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int uvd_v3_1_set_powergating_state(void *handle,
|
||||
static int uvd_v3_1_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -714,7 +714,7 @@ static int uvd_v4_2_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int uvd_v4_2_set_powergating_state(void *handle,
|
||||
static int uvd_v4_2_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the UVD block.
|
||||
|
|
@ -724,7 +724,7 @@ static int uvd_v4_2_set_powergating_state(void *handle,
|
|||
* revisit this when there is a cleaner line between
|
||||
* the smc and the hw blocks
|
||||
*/
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (state == AMD_PG_STATE_GATE) {
|
||||
uvd_v4_2_stop(adev);
|
||||
|
|
|
|||
|
|
@ -817,7 +817,7 @@ static int uvd_v5_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int uvd_v5_0_set_powergating_state(void *handle,
|
||||
static int uvd_v5_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the UVD block.
|
||||
|
|
@ -827,7 +827,7 @@ static int uvd_v5_0_set_powergating_state(void *handle,
|
|||
* revisit this when there is a cleaner line between
|
||||
* the smc and the hw blocks
|
||||
*/
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret = 0;
|
||||
|
||||
if (state == AMD_PG_STATE_GATE) {
|
||||
|
|
|
|||
|
|
@ -1476,7 +1476,7 @@ static int uvd_v6_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int uvd_v6_0_set_powergating_state(void *handle,
|
||||
static int uvd_v6_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the UVD block.
|
||||
|
|
@ -1486,7 +1486,7 @@ static int uvd_v6_0_set_powergating_state(void *handle,
|
|||
* revisit this when there is a cleaner line between
|
||||
* the smc and the hw blocks
|
||||
*/
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret = 0;
|
||||
|
||||
WREG32(mmUVD_POWER_STATUS, UVD_POWER_STATUS__UVD_PG_EN_MASK);
|
||||
|
|
|
|||
|
|
@ -596,7 +596,7 @@ static int vce_v2_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vce_v2_0_set_powergating_state(void *handle,
|
||||
static int vce_v2_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the VCE block.
|
||||
|
|
@ -606,7 +606,7 @@ static int vce_v2_0_set_powergating_state(void *handle,
|
|||
* revisit this when there is a cleaner line between
|
||||
* the smc and the hw blocks
|
||||
*/
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (state == AMD_PG_STATE_GATE)
|
||||
return vce_v2_0_stop(adev);
|
||||
|
|
|
|||
|
|
@ -801,7 +801,7 @@ static int vce_v3_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vce_v3_0_set_powergating_state(void *handle,
|
||||
static int vce_v3_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the VCE block.
|
||||
|
|
@ -811,7 +811,7 @@ static int vce_v3_0_set_powergating_state(void *handle,
|
|||
* revisit this when there is a cleaner line between
|
||||
* the smc and the hw blocks
|
||||
*/
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret = 0;
|
||||
|
||||
if (state == AMD_PG_STATE_GATE) {
|
||||
|
|
|
|||
|
|
@ -691,7 +691,7 @@ static int vce_v4_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vce_v4_0_set_powergating_state(void *handle,
|
||||
static int vce_v4_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the VCE block.
|
||||
|
|
@ -701,7 +701,7 @@ static int vce_v4_0_set_powergating_state(void *handle,
|
|||
* revisit this when there is a cleaner line between
|
||||
* the smc and the hw blocks
|
||||
*/
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (state == AMD_PG_STATE_GATE)
|
||||
return vce_v4_0_stop(adev);
|
||||
|
|
|
|||
|
|
@ -85,7 +85,8 @@ static int vcn_v1_0_stop(struct amdgpu_device *adev);
|
|||
static void vcn_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v1_0_set_enc_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v1_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v1_0_set_powergating_state(void *handle, enum amd_powergating_state state);
|
||||
static int vcn_v1_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v1_0_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
||||
|
|
@ -281,7 +282,7 @@ static int vcn_v1_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) ||
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, 0, mmUVD_STATUS))) {
|
||||
vcn_v1_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
vcn_v1_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -1799,7 +1800,7 @@ static void vcn_v1_0_dec_ring_insert_nop(struct amdgpu_ring *ring, uint32_t coun
|
|||
}
|
||||
}
|
||||
|
||||
static int vcn_v1_0_set_powergating_state(void *handle,
|
||||
static int vcn_v1_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the VCN block.
|
||||
|
|
@ -1810,7 +1811,7 @@ static int vcn_v1_0_set_powergating_state(void *handle,
|
|||
* the smc and the hw blocks
|
||||
*/
|
||||
int ret;
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (state == adev->vcn.cur_state)
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ static const struct amdgpu_hwip_reg_entry vcn_reg_list_2_0[] = {
|
|||
static void vcn_v2_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v2_0_set_enc_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v2_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v2_0_set_powergating_state(void *handle,
|
||||
static int vcn_v2_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v2_0_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
|
@ -318,7 +318,7 @@ static int vcn_v2_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) ||
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, 0, mmUVD_STATUS)))
|
||||
vcn_v2_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
vcn_v2_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1796,7 +1796,7 @@ int vcn_v2_0_dec_ring_test_ring(struct amdgpu_ring *ring)
|
|||
}
|
||||
|
||||
|
||||
static int vcn_v2_0_set_powergating_state(void *handle,
|
||||
static int vcn_v2_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
/* This doesn't actually powergate the VCN block.
|
||||
|
|
@ -1807,7 +1807,7 @@ static int vcn_v2_0_set_powergating_state(void *handle,
|
|||
* the smc and the hw blocks
|
||||
*/
|
||||
int ret;
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) {
|
||||
adev->vcn.cur_state = AMD_PG_STATE_UNGATE;
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ static const struct amdgpu_hwip_reg_entry vcn_reg_list_2_5[] = {
|
|||
static void vcn_v2_5_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v2_5_set_enc_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v2_5_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v2_5_set_powergating_state(void *handle,
|
||||
static int vcn_v2_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v2_5_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
|
@ -399,7 +399,7 @@ static int vcn_v2_5_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) ||
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, i, mmUVD_STATUS)))
|
||||
vcn_v2_5_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
vcn_v2_5_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
|
||||
if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__VCN))
|
||||
amdgpu_irq_put(adev, &adev->vcn.inst[i].ras_poison_irq, 0);
|
||||
|
|
@ -1825,10 +1825,10 @@ static int vcn_v2_5_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vcn_v2_5_set_powergating_state(void *handle,
|
||||
static int vcn_v2_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (amdgpu_sriov_vf(adev))
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ static int vcn_v3_0_start_sriov(struct amdgpu_device *adev);
|
|||
static void vcn_v3_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v3_0_set_enc_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v3_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v3_0_set_powergating_state(void *handle,
|
||||
static int vcn_v3_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v3_0_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
|
@ -430,9 +430,9 @@ static int vcn_v3_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
|
||||
if (!amdgpu_sriov_vf(adev)) {
|
||||
if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) ||
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, i, mmUVD_STATUS))) {
|
||||
vcn_v3_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, i, mmUVD_STATUS))) {
|
||||
vcn_v3_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2159,10 +2159,10 @@ static int vcn_v3_0_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vcn_v3_0_set_powergating_state(void *handle,
|
||||
static int vcn_v3_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
/* for SRIOV, guest should not control VCN Power-gating
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ static int amdgpu_ih_clientid_vcns[] = {
|
|||
static int vcn_v4_0_start_sriov(struct amdgpu_device *adev);
|
||||
static void vcn_v4_0_set_unified_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v4_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v4_0_set_powergating_state(void *handle,
|
||||
static int vcn_v4_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v4_0_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
|
@ -366,9 +366,9 @@ static int vcn_v4_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
continue;
|
||||
if (!amdgpu_sriov_vf(adev)) {
|
||||
if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) ||
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, i, regUVD_STATUS))) {
|
||||
vcn_v4_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, i, regUVD_STATUS))) {
|
||||
vcn_v4_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
}
|
||||
if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__VCN))
|
||||
|
|
@ -2046,9 +2046,10 @@ static int vcn_v4_0_set_clockgating_state(void *handle, enum amd_clockgating_sta
|
|||
*
|
||||
* Set VCN block powergating state
|
||||
*/
|
||||
static int vcn_v4_0_set_powergating_state(void *handle, enum amd_powergating_state state)
|
||||
static int vcn_v4_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
/* for SRIOV, guest should not control VCN Power-gating
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ static const struct amdgpu_hwip_reg_entry vcn_reg_list_4_0_3[] = {
|
|||
static int vcn_v4_0_3_start_sriov(struct amdgpu_device *adev);
|
||||
static void vcn_v4_0_3_set_unified_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v4_0_3_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v4_0_3_set_powergating_state(void *handle,
|
||||
static int vcn_v4_0_3_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v4_0_3_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
|
@ -349,7 +349,7 @@ static int vcn_v4_0_3_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
cancel_delayed_work_sync(&adev->vcn.idle_work);
|
||||
|
||||
if (adev->vcn.cur_state != AMD_PG_STATE_GATE)
|
||||
vcn_v4_0_3_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
vcn_v4_0_3_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1653,10 +1653,10 @@ static int vcn_v4_0_3_set_clockgating_state(void *handle,
|
|||
*
|
||||
* Set VCN block powergating state
|
||||
*/
|
||||
static int vcn_v4_0_3_set_powergating_state(void *handle,
|
||||
static int vcn_v4_0_3_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
/* for SRIOV, guest should not control VCN Power-gating
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ static int amdgpu_ih_clientid_vcns[] = {
|
|||
|
||||
static void vcn_v4_0_5_set_unified_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v4_0_5_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v4_0_5_set_powergating_state(void *handle,
|
||||
static int vcn_v4_0_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v4_0_5_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
|
@ -309,7 +309,7 @@ static int vcn_v4_0_5_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) ||
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, i, regUVD_STATUS))) {
|
||||
vcn_v4_0_5_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
vcn_v4_0_5_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1531,9 +1531,10 @@ static int vcn_v4_0_5_set_clockgating_state(void *handle, enum amd_clockgating_s
|
|||
*
|
||||
* Set VCN block powergating state
|
||||
*/
|
||||
static int vcn_v4_0_5_set_powergating_state(void *handle, enum amd_powergating_state state)
|
||||
static int vcn_v4_0_5_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (state == adev->vcn.cur_state)
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ static int amdgpu_ih_clientid_vcns[] = {
|
|||
|
||||
static void vcn_v5_0_0_set_unified_ring_funcs(struct amdgpu_device *adev);
|
||||
static void vcn_v5_0_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||
static int vcn_v5_0_0_set_powergating_state(void *handle,
|
||||
static int vcn_v5_0_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
static int vcn_v5_0_0_pause_dpg_mode(struct amdgpu_device *adev,
|
||||
int inst_idx, struct dpg_pause_state *new_state);
|
||||
|
|
@ -283,7 +283,7 @@ static int vcn_v5_0_0_hw_fini(struct amdgpu_ip_block *ip_block)
|
|||
if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) ||
|
||||
(adev->vcn.cur_state != AMD_PG_STATE_GATE &&
|
||||
RREG32_SOC15(VCN, i, regUVD_STATUS))) {
|
||||
vcn_v5_0_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
|
||||
vcn_v5_0_0_set_powergating_state(ip_block, AMD_PG_STATE_GATE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1268,9 +1268,10 @@ static int vcn_v5_0_0_set_clockgating_state(void *handle, enum amd_clockgating_s
|
|||
*
|
||||
* Set VCN block powergating state
|
||||
*/
|
||||
static int vcn_v5_0_0_set_powergating_state(void *handle, enum amd_powergating_state state)
|
||||
static int vcn_v5_0_0_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
if (state == adev->vcn.cur_state)
|
||||
|
|
|
|||
|
|
@ -616,7 +616,7 @@ static int vega10_ih_set_clockgating_state(void *handle,
|
|||
|
||||
}
|
||||
|
||||
static int vega10_ih_set_powergating_state(void *handle,
|
||||
static int vega10_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -708,7 +708,7 @@ static int vega20_ih_set_clockgating_state(void *handle,
|
|||
|
||||
}
|
||||
|
||||
static int vega20_ih_set_powergating_state(void *handle,
|
||||
static int vega20_ih_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1988,7 +1988,7 @@ static int vi_common_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vi_common_set_powergating_state(void *handle,
|
||||
static int vi_common_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -961,7 +961,7 @@ static int dm_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dm_set_powergating_state(void *handle,
|
||||
static int dm_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -403,7 +403,7 @@ struct amd_ip_funcs {
|
|||
int (*post_soft_reset)(struct amdgpu_ip_block *ip_block);
|
||||
int (*set_clockgating_state)(void *handle,
|
||||
enum amd_clockgating_state state);
|
||||
int (*set_powergating_state)(void *handle,
|
||||
int (*set_powergating_state)(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state);
|
||||
void (*get_clockgating_state)(void *handle, u64 *flags);
|
||||
void (*dump_ip_state)(struct amdgpu_ip_block *ip_block);
|
||||
|
|
|
|||
|
|
@ -3183,7 +3183,7 @@ static int kv_dpm_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int kv_dpm_set_powergating_state(void *handle,
|
||||
static int kv_dpm_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -7855,7 +7855,7 @@ static int si_dpm_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int si_dpm_set_powergating_state(void *handle,
|
||||
static int si_dpm_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ static bool pp_is_idle(void *handle)
|
|||
return false;
|
||||
}
|
||||
|
||||
static int pp_set_powergating_state(void *handle,
|
||||
static int pp_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -2208,7 +2208,7 @@ static int smu_set_clockgating_state(void *handle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int smu_set_powergating_state(void *handle,
|
||||
static int smu_set_powergating_state(struct amdgpu_ip_block *ip_block,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue