Lines Matching refs:irq_context
3509 bool access_irq_context(struct megasas_irq_context *irq_context) in access_irq_context() argument
3511 if (!irq_context) in access_irq_context()
3514 if (atomic_add_unless(&irq_context->in_used, 1, 1)) in access_irq_context()
3529 void release_irq_context(struct megasas_irq_context *irq_context) in release_irq_context() argument
3531 if (irq_context) in release_irq_context()
3532 atomic_dec(&irq_context->in_used); in release_irq_context()
3545 struct megasas_irq_context *irq_context) in complete_cmd_fusion() argument
3568 if (!access_irq_context(irq_context)) in complete_cmd_fusion()
3582 release_irq_context(irq_context); in complete_cmd_fusion()
3695 if (irq_context) { in complete_cmd_fusion()
3696 if (!irq_context->irq_poll_scheduled) { in complete_cmd_fusion()
3697 irq_context->irq_poll_scheduled = true; in complete_cmd_fusion()
3698 irq_context->irq_line_enable = true; in complete_cmd_fusion()
3699 irq_poll_sched(&irq_context->irqpoll); in complete_cmd_fusion()
3701 release_irq_context(irq_context); in complete_cmd_fusion()
3720 release_irq_context(irq_context); in complete_cmd_fusion()
3759 irq_ctx = &instance->irq_context[i]; in megasas_enable_irq_poll()
3779 irq_ctx = &instance->irq_context[i]; in megasas_sync_irqs()
3843 irq_ctx = &instance->irq_context[MSIxIndex]; in megasas_complete_cmd_dpc_fusion()
3855 struct megasas_irq_context *irq_context = devp; in megasas_isr_fusion() local
3856 struct megasas_instance *instance = irq_context->instance; in megasas_isr_fusion()
3862 if (irq_context->irq_poll_scheduled) in megasas_isr_fusion()
3877 return complete_cmd_fusion(instance, irq_context->MSIxIndex, irq_context) in megasas_isr_fusion()