mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
drm/amdgpu: Add flags for partition mode query
It's not required to take lock on all cases while querying partition mode. Querying partition mode during KFD init process doesn't need to take a lock. Init process after a switch will already be happening under lock. Control the behaviour by adding flags to xcp_query_partition_mode. Signed-off-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -170,7 +170,7 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int amdgpu_xcp_query_partition_mode(struct amdgpu_xcp_mgr *xcp_mgr)
|
||||
int amdgpu_xcp_query_partition_mode(struct amdgpu_xcp_mgr *xcp_mgr, u32 flags)
|
||||
{
|
||||
int mode;
|
||||
|
||||
@@ -180,7 +180,8 @@ int amdgpu_xcp_query_partition_mode(struct amdgpu_xcp_mgr *xcp_mgr)
|
||||
if (!xcp_mgr->funcs || !xcp_mgr->funcs->query_partition_mode)
|
||||
return xcp_mgr->mode;
|
||||
|
||||
mutex_lock(&xcp_mgr->xcp_lock);
|
||||
if (!(flags & AMDGPU_XCP_FL_LOCKED))
|
||||
mutex_lock(&xcp_mgr->xcp_lock);
|
||||
mode = xcp_mgr->funcs->query_partition_mode(xcp_mgr);
|
||||
if (mode != xcp_mgr->mode)
|
||||
dev_WARN(
|
||||
@@ -188,7 +189,8 @@ int amdgpu_xcp_query_partition_mode(struct amdgpu_xcp_mgr *xcp_mgr)
|
||||
"Cached partition mode %d not matching with device mode %d",
|
||||
xcp_mgr->mode, mode);
|
||||
|
||||
mutex_unlock(&xcp_mgr->xcp_lock);
|
||||
if (!(flags & AMDGPU_XCP_FL_LOCKED))
|
||||
mutex_unlock(&xcp_mgr->xcp_lock);
|
||||
|
||||
return mode;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user