Lines Matching refs:reset_domain
117 struct amdgpu_reset_domain *reset_domain = container_of(ref, in amdgpu_reset_destroy_reset_domain() local
120 if (reset_domain->wq) in amdgpu_reset_destroy_reset_domain()
121 destroy_workqueue(reset_domain->wq); in amdgpu_reset_destroy_reset_domain()
123 kvfree(reset_domain); in amdgpu_reset_destroy_reset_domain()
129 struct amdgpu_reset_domain *reset_domain; in amdgpu_reset_create_reset_domain() local
131 reset_domain = kvzalloc(sizeof(struct amdgpu_reset_domain), GFP_KERNEL); in amdgpu_reset_create_reset_domain()
132 if (!reset_domain) { in amdgpu_reset_create_reset_domain()
137 reset_domain->type = type; in amdgpu_reset_create_reset_domain()
138 kref_init(&reset_domain->refcount); in amdgpu_reset_create_reset_domain()
140 reset_domain->wq = create_singlethread_workqueue(wq_name); in amdgpu_reset_create_reset_domain()
141 if (!reset_domain->wq) { in amdgpu_reset_create_reset_domain()
143 amdgpu_reset_put_reset_domain(reset_domain); in amdgpu_reset_create_reset_domain()
148 atomic_set(&reset_domain->in_gpu_reset, 0); in amdgpu_reset_create_reset_domain()
149 atomic_set(&reset_domain->reset_res, 0); in amdgpu_reset_create_reset_domain()
150 init_rwsem(&reset_domain->sem); in amdgpu_reset_create_reset_domain()
152 return reset_domain; in amdgpu_reset_create_reset_domain()
155 void amdgpu_device_lock_reset_domain(struct amdgpu_reset_domain *reset_domain) in amdgpu_device_lock_reset_domain() argument
157 atomic_set(&reset_domain->in_gpu_reset, 1); in amdgpu_device_lock_reset_domain()
158 down_write(&reset_domain->sem); in amdgpu_device_lock_reset_domain()
162 void amdgpu_device_unlock_reset_domain(struct amdgpu_reset_domain *reset_domain) in amdgpu_device_unlock_reset_domain() argument
164 atomic_set(&reset_domain->in_gpu_reset, 0); in amdgpu_device_unlock_reset_domain()
165 up_write(&reset_domain->sem); in amdgpu_device_unlock_reset_domain()