Lines Matching refs:src
136 struct amdgpu_irq_src *src = adev->irq.client[i].sources[j]; in amdgpu_irq_disable_all() local
138 if (!src || !src->funcs->set || !src->num_types) in amdgpu_irq_disable_all()
141 for (k = 0; k < src->num_types; ++k) { in amdgpu_irq_disable_all()
142 r = src->funcs->set(adev, src, k, in amdgpu_irq_disable_all()
363 struct amdgpu_irq_src *src = adev->irq.client[i].sources[j]; in amdgpu_irq_fini_sw() local
365 if (!src) in amdgpu_irq_fini_sw()
368 kfree(src->enabled_types); in amdgpu_irq_fini_sw()
369 src->enabled_types = NULL; in amdgpu_irq_fini_sw()
443 struct amdgpu_irq_src *src; in amdgpu_irq_dispatch() local
480 } else if ((src = adev->irq.client[client_id].sources[src_id])) { in amdgpu_irq_dispatch()
481 r = src->funcs->process(adev, src, &entry); in amdgpu_irq_dispatch()
530 struct amdgpu_irq_src *src, unsigned int type) in amdgpu_irq_update() argument
541 if (amdgpu_irq_enabled(adev, src, type)) in amdgpu_irq_update()
546 r = src->funcs->set(adev, src, type, state); in amdgpu_irq_update()
571 struct amdgpu_irq_src *src = adev->irq.client[i].sources[j]; in amdgpu_irq_gpu_reset_resume_helper() local
573 if (!src || !src->funcs || !src->funcs->set) in amdgpu_irq_gpu_reset_resume_helper()
575 for (k = 0; k < src->num_types; k++) in amdgpu_irq_gpu_reset_resume_helper()
576 amdgpu_irq_update(adev, src, k); in amdgpu_irq_gpu_reset_resume_helper()
593 int amdgpu_irq_get(struct amdgpu_device *adev, struct amdgpu_irq_src *src, in amdgpu_irq_get() argument
599 if (type >= src->num_types) in amdgpu_irq_get()
602 if (!src->enabled_types || !src->funcs->set) in amdgpu_irq_get()
605 if (atomic_inc_return(&src->enabled_types[type]) == 1) in amdgpu_irq_get()
606 return amdgpu_irq_update(adev, src, type); in amdgpu_irq_get()
623 int amdgpu_irq_put(struct amdgpu_device *adev, struct amdgpu_irq_src *src, in amdgpu_irq_put() argument
627 if (amdgpu_ras_is_rma(adev) && !amdgpu_irq_enabled(adev, src, type)) in amdgpu_irq_put()
633 if (type >= src->num_types) in amdgpu_irq_put()
636 if (!src->enabled_types || !src->funcs->set) in amdgpu_irq_put()
639 if (WARN_ON(!amdgpu_irq_enabled(adev, src, type))) in amdgpu_irq_put()
642 if (atomic_dec_and_test(&src->enabled_types[type])) in amdgpu_irq_put()
643 return amdgpu_irq_update(adev, src, type); in amdgpu_irq_put()
661 bool amdgpu_irq_enabled(struct amdgpu_device *adev, struct amdgpu_irq_src *src, in amdgpu_irq_enabled() argument
667 if (type >= src->num_types) in amdgpu_irq_enabled()
670 if (!src->enabled_types || !src->funcs->set) in amdgpu_irq_enabled()
673 return !!atomic_read(&src->enabled_types[type]); in amdgpu_irq_enabled()