[PATCH] drm/amdgpu: Use cached partition mode, if valid
Deucher, Alexander
Alexander.Deucher at amd.com
Tue Jul 8 20:19:50 UTC 2025
[Public]
> -----Original Message-----
> From: Lazar, Lijo <Lijo.Lazar at amd.com>
> Sent: Saturday, July 5, 2025 12:25 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Zhang, Hawking <Hawking.Zhang at amd.com>; Deucher, Alexander
> <Alexander.Deucher at amd.com>
> Subject: [PATCH] drm/amdgpu: Use cached partition mode, if valid
>
> For current partition mode queries, return the mode cached in partition manager
> whenever it's valid.
>
> Signed-off-by: Lijo Lazar <lijo.lazar at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c | 20 ++++++++++++++++----
> 1 file changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
> index c8fcafeb6864..c417f8689220 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
> @@ -218,15 +218,27 @@ int amdgpu_xcp_restore_partition_mode(struct
> amdgpu_xcp_mgr *xcp_mgr)
> return __amdgpu_xcp_switch_partition_mode(xcp_mgr, xcp_mgr->mode); }
>
> -int amdgpu_xcp_query_partition_mode(struct amdgpu_xcp_mgr *xcp_mgr, u32
> flags)
> +static bool __amdgpu_xcp_is_cached_mode_valid(struct amdgpu_xcp_mgr
> +*xcp_mgr)
> {
> - int mode;
> + if (!xcp_mgr->funcs || !xcp_mgr->funcs->query_partition_mode)
> + return true;
>
> if (!amdgpu_sriov_vf(xcp_mgr->adev) &&
> xcp_mgr->mode == AMDGPU_XCP_MODE_NONE)
> - return xcp_mgr->mode;
> + return true;
>
> - if (!xcp_mgr->funcs || !xcp_mgr->funcs->query_partition_mode)
> + if (xcp_mgr->mode != AMDGPU_XCP_MODE_NONE &&
> + xcp_mgr->mode != AMDGPU_XCP_MODE_TRANS)
> + return true;
> +
> + return false;
> +}
> +
> +int amdgpu_xcp_query_partition_mode(struct amdgpu_xcp_mgr *xcp_mgr, u32
> +flags) {
> + int mode;
> +
> + if (__amdgpu_xcp_is_cached_mode_valid(xcp_mgr))
> return xcp_mgr->mode;
>
> if (!(flags & AMDGPU_XCP_FL_LOCKED))
> --
> 2.49.0
More information about the amd-gfx
mailing list