Lines Matching refs:src

98 		struct amdgpu_irq_src *src = adev->irq.sources[i];  in amdgpu_irq_disable_all()  local
100 if (!src || !src->funcs->set || !src->num_types) in amdgpu_irq_disable_all()
103 for (j = 0; j < src->num_types; ++j) { in amdgpu_irq_disable_all()
104 atomic_set(&src->enabled_types[j], 0); in amdgpu_irq_disable_all()
105 r = src->funcs->set(adev, src, j, in amdgpu_irq_disable_all()
268 struct amdgpu_irq_src *src = adev->irq.sources[i]; in amdgpu_irq_fini() local
270 if (!src) in amdgpu_irq_fini()
273 kfree(src->enabled_types); in amdgpu_irq_fini()
274 src->enabled_types = NULL; in amdgpu_irq_fini()
275 if (src->data) { in amdgpu_irq_fini()
276 kfree(src->data); in amdgpu_irq_fini()
277 kfree(src); in amdgpu_irq_fini()
330 struct amdgpu_irq_src *src; in amdgpu_irq_dispatch() local
338 src = adev->irq.sources[src_id]; in amdgpu_irq_dispatch()
339 if (!src) { in amdgpu_irq_dispatch()
344 r = src->funcs->process(adev, src, entry); in amdgpu_irq_dispatch()
359 struct amdgpu_irq_src *src, unsigned type) in amdgpu_irq_update() argument
369 if (amdgpu_irq_enabled(adev, src, type)) in amdgpu_irq_update()
374 r = src->funcs->set(adev, src, type, state); in amdgpu_irq_update()
388 int amdgpu_irq_get(struct amdgpu_device *adev, struct amdgpu_irq_src *src, in amdgpu_irq_get() argument
394 if (type >= src->num_types) in amdgpu_irq_get()
397 if (!src->enabled_types || !src->funcs->set) in amdgpu_irq_get()
400 if (atomic_inc_return(&src->enabled_types[type]) == 1) in amdgpu_irq_get()
401 return amdgpu_irq_update(adev, src, type); in amdgpu_irq_get()
407 struct amdgpu_irq_src *src, in amdgpu_irq_get_delayed() argument
410 if ((type >= src->num_types) || !src->enabled_types) in amdgpu_irq_get_delayed()
412 return atomic_inc_return(&src->enabled_types[type]) == 1; in amdgpu_irq_get_delayed()
424 int amdgpu_irq_put(struct amdgpu_device *adev, struct amdgpu_irq_src *src, in amdgpu_irq_put() argument
430 if (type >= src->num_types) in amdgpu_irq_put()
433 if (!src->enabled_types || !src->funcs->set) in amdgpu_irq_put()
436 if (atomic_dec_and_test(&src->enabled_types[type])) in amdgpu_irq_put()
437 return amdgpu_irq_update(adev, src, type); in amdgpu_irq_put()
450 bool amdgpu_irq_enabled(struct amdgpu_device *adev, struct amdgpu_irq_src *src, in amdgpu_irq_enabled() argument
456 if (type >= src->num_types) in amdgpu_irq_enabled()
459 if (!src->enabled_types || !src->funcs->set) in amdgpu_irq_enabled()
462 return !!atomic_read(&src->enabled_types[type]); in amdgpu_irq_enabled()