[PATCH 33/44] drm/amdgpu/vcn: add a generic helper for set_power_gating_state

Boyuan Zhang Boyuan.Zhang at amd.com
Thu Feb 6 13:54:29 UTC 2025


On 2025-01-31 11:57, Alex Deucher wrote:
> It's common for all VCN variants.
>
> Signed-off-by: Alex Deucher<alexander.deucher at amd.com>


Patches 33-42 are

Reviewed-by: Boyuan Zhang <Boyuan.Zhang at amd.com> 
<mailto:Boyuan.Zhang at amd.com>


> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 23 +++++++++++++++++++++++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h |  3 +++
>   2 files changed, 26 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index 81bfd8a9d8268..e4ef0fb970b29 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -1397,3 +1397,26 @@ void amdgpu_debugfs_vcn_sched_mask_init(struct amdgpu_device *adev)
>   			    &amdgpu_debugfs_vcn_sched_mask_fops);
>   #endif
>   }
> +
> +/**
> + * vcn_set_powergating_state - set VCN block powergating state
> + *
> + * @ip_block: amdgpu_ip_block pointer
> + * @state: power gating state
> + *
> + * Set VCN block powergating state
> + */
> +int vcn_set_powergating_state(struct amdgpu_ip_block *ip_block,
> +			      enum amd_powergating_state state)
> +{
> +	struct amdgpu_device *adev = ip_block->adev;
> +	int ret = 0, i;
> +
> +	for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
> +		struct amdgpu_vcn_inst *vinst = &adev->vcn.inst[i];
> +
> +		ret |= vinst->set_pg_state(vinst, state);
> +	}
> +
> +	return ret;
> +}
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
> index 508fa022df78c..a023f46ec904a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
> @@ -546,4 +546,7 @@ int amdgpu_vcn_sysfs_reset_mask_init(struct amdgpu_device *adev);
>   void amdgpu_vcn_sysfs_reset_mask_fini(struct amdgpu_device *adev);
>   void amdgpu_debugfs_vcn_sched_mask_init(struct amdgpu_device *adev);
>   
> +int vcn_set_powergating_state(struct amdgpu_ip_block *ip_block,
> +			      enum amd_powergating_state state);
> +
>   #endif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20250206/72b65e04/attachment-0001.htm>


More information about the amd-gfx mailing list