IB/hfi1: Rework the IRQ API to be more flexible
authorMichael J. Ruhl <michael.j.ruhl@intel.com>
Thu, 16 Aug 2018 06:04:22 +0000 (23:04 -0700)
committerDoug Ledford <dledford@redhat.com>
Sat, 1 Sep 2018 12:13:38 +0000 (08:13 -0400)
commita2f7bbdc2dba0e4c82a9243a64931aa81c0c28cf
tree7971c809605dd7e66a63845158da97377ec1f23b
parente63bb50d1994b71f97b40077ddec46a7354197a0
IB/hfi1: Rework the IRQ API to be more flexible

The current IRQ API is an all or nothing interface.  This has two
problems:

  1. All IRQs are enabled regardless of use
  2. Moving from general interrupt to MSIx handling is difficult

Introduce a new API to enable/disable specific IRQs or a range of IRQs.

Do not enable and disable all IRQs in one step.

Rework various modules to enable/disable IRQs when needed.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Sadanand Warrier <sadanand.warrier@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/chip.c
drivers/infiniband/hw/hfi1/chip.h
drivers/infiniband/hw/hfi1/file_ops.c
drivers/infiniband/hw/hfi1/hfi.h
drivers/infiniband/hw/hfi1/init.c
drivers/infiniband/hw/hfi1/msix.c