[PATCH] drm/amdgpu: Use SPX as default in partition config

Felix Kuehling felix.kuehling at amd.com
Fri Oct 18 19:16:25 UTC 2024


On 2024-10-14 05:19, Lijo Lazar wrote:
> In certain cases - ex: when a reset is required on initialization - XCP
> manager won't have a valid partition mode. In such cases, use SPX as the
> default selected mode for which partition configuration details are
> populated.
>
> Signed-off-by: Lijo Lazar <lijo.lazar at amd.com>
> Reported-by: Hao Zhou <hao.zhou at amd.com>
>
> Fixes: c7de57033d9b ("drm/amdgpu: Add sysfs nodes to get xcp details")
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c | 10 +++++++---
>   1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
> index 111bf897e72e..83a16918ea76 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
> @@ -606,7 +606,7 @@ void amdgpu_xcp_cfg_sysfs_init(struct amdgpu_device *adev)
>   {
>   	struct amdgpu_xcp_res_details *xcp_res;
>   	struct amdgpu_xcp_cfg *xcp_cfg;
> -	int i, r, j, rid;
> +	int i, r, j, rid, mode;
>   
>   	if (!adev->xcp_mgr)
>   		return;
> @@ -625,11 +625,15 @@ void amdgpu_xcp_cfg_sysfs_init(struct amdgpu_device *adev)
>   	if (r)
>   		goto err1;
>   
> -	r = amdgpu_xcp_get_res_info(xcp_cfg->xcp_mgr, xcp_cfg->xcp_mgr->mode, xcp_cfg);
> +	mode = (xcp_cfg->xcp_mgr->mode ==
> +		AMDGPU_UNKNOWN_COMPUTE_PARTITION_MODE) ?
> +		       AMDGPU_SPX_PARTITION_MODE :
> +		       xcp_cfg->xcp_mgr->mode;

Shouldn't this depend on the memory partition mode as well? You must 
have at least as many compute partitions as memory partitions because 
each compute partition can only use a single memory partition.

Regards,
   Felix


> +	r = amdgpu_xcp_get_res_info(xcp_cfg->xcp_mgr, mode, xcp_cfg);
>   	if (r)
>   		goto err1;
>   
> -	xcp_cfg->mode = xcp_cfg->xcp_mgr->mode;
> +	xcp_cfg->mode = mode;
>   	for (i = 0; i < xcp_cfg->num_res; i++) {
>   		xcp_res = &xcp_cfg->xcp_res[i];
>   		rid = xcp_res->id;


More information about the amd-gfx mailing list