mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/amdgpu: rename enforce isolation variables
Since they will be used for both KFD and KGD user queues, rename them from kfd to userq. No intended functional change. Acked-by: Sunil Khatri <sunil.khatri@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1947,39 +1947,40 @@ void amdgpu_gfx_cleaner_shader_init(struct amdgpu_device *adev,
|
||||
static void amdgpu_gfx_kfd_sch_ctrl(struct amdgpu_device *adev, u32 idx,
|
||||
bool enable)
|
||||
{
|
||||
mutex_lock(&adev->gfx.kfd_sch_mutex);
|
||||
mutex_lock(&adev->gfx.userq_sch_mutex);
|
||||
|
||||
if (enable) {
|
||||
/* If the count is already 0, it means there's an imbalance bug somewhere.
|
||||
* Note that the bug may be in a different caller than the one which triggers the
|
||||
* WARN_ON_ONCE.
|
||||
*/
|
||||
if (WARN_ON_ONCE(adev->gfx.kfd_sch_req_count[idx] == 0)) {
|
||||
if (WARN_ON_ONCE(adev->gfx.userq_sch_req_count[idx] == 0)) {
|
||||
dev_err(adev->dev, "Attempted to enable KFD scheduler when reference count is already zero\n");
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
adev->gfx.kfd_sch_req_count[idx]--;
|
||||
adev->gfx.userq_sch_req_count[idx]--;
|
||||
|
||||
if (adev->gfx.kfd_sch_req_count[idx] == 0 &&
|
||||
adev->gfx.kfd_sch_inactive[idx]) {
|
||||
if (adev->gfx.userq_sch_req_count[idx] == 0 &&
|
||||
adev->gfx.userq_sch_inactive[idx]) {
|
||||
schedule_delayed_work(&adev->gfx.enforce_isolation[idx].work,
|
||||
msecs_to_jiffies(adev->gfx.enforce_isolation_time[idx]));
|
||||
}
|
||||
} else {
|
||||
if (adev->gfx.kfd_sch_req_count[idx] == 0) {
|
||||
if (adev->gfx.userq_sch_req_count[idx] == 0) {
|
||||
cancel_delayed_work_sync(&adev->gfx.enforce_isolation[idx].work);
|
||||
if (!adev->gfx.kfd_sch_inactive[idx]) {
|
||||
amdgpu_amdkfd_stop_sched(adev, idx);
|
||||
adev->gfx.kfd_sch_inactive[idx] = true;
|
||||
if (!adev->gfx.userq_sch_inactive[idx]) {
|
||||
if (adev->kfd.init_complete)
|
||||
amdgpu_amdkfd_stop_sched(adev, idx);
|
||||
adev->gfx.userq_sch_inactive[idx] = true;
|
||||
}
|
||||
}
|
||||
|
||||
adev->gfx.kfd_sch_req_count[idx]++;
|
||||
adev->gfx.userq_sch_req_count[idx]++;
|
||||
}
|
||||
|
||||
unlock:
|
||||
mutex_unlock(&adev->gfx.kfd_sch_mutex);
|
||||
mutex_unlock(&adev->gfx.userq_sch_mutex);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2024,12 +2025,11 @@ void amdgpu_gfx_enforce_isolation_handler(struct work_struct *work)
|
||||
msecs_to_jiffies(1));
|
||||
} else {
|
||||
/* Tell KFD to resume the runqueue */
|
||||
if (adev->kfd.init_complete) {
|
||||
WARN_ON_ONCE(!adev->gfx.kfd_sch_inactive[idx]);
|
||||
WARN_ON_ONCE(adev->gfx.kfd_sch_req_count[idx]);
|
||||
WARN_ON_ONCE(!adev->gfx.userq_sch_inactive[idx]);
|
||||
WARN_ON_ONCE(adev->gfx.userq_sch_req_count[idx]);
|
||||
if (adev->kfd.init_complete)
|
||||
amdgpu_amdkfd_start_sched(adev, idx);
|
||||
adev->gfx.kfd_sch_inactive[idx] = false;
|
||||
}
|
||||
adev->gfx.userq_sch_inactive[idx] = false;
|
||||
}
|
||||
mutex_unlock(&adev->enforce_isolation_mutex);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user