]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sif: eq: remove check_all_eqs_on_intr driver feature
authorFrancisco Triviño <francisco.trivino@oracle.com>
Wed, 14 Sep 2016 08:58:23 +0000 (10:58 +0200)
committerKnut Omang <knut.omang@oracle.com>
Mon, 3 Oct 2016 12:02:18 +0000 (14:02 +0200)
The feature check_all_eqs_on_intr is no longer needed. This commit
removes this driver feature and hence simplifies the interrupt
handler implementation.

Orabug: 24665085

Signed-off-by: Francisco Triviño <francisco.trivino@oracle.com>
Reviewed-by: Knut Omang <knut.omang@oracle.com>
drivers/infiniband/hw/sif/sif_dev.h
drivers/infiniband/hw/sif/sif_eq.c

index 5f1ba9b1a9458b5cada9d850fcda18f5140a7dce..c7092c9e9318f4cfaa707e13af98889451e070d6 100644 (file)
@@ -616,9 +616,6 @@ extern ulong sif_feature_mask;
 /* Let driver do page table walk instead of EPSC for query QP - to avoid #3583 */
 #define SIFF_passthrough_query_qp      0x4000
 
-/* Check all event queues on all interrupts */
-#define SIFF_check_all_eqs_on_intr     0x8000
-
 /* Default behavior is: Make all vlinks behave in sync with the correspondinding external port.
  * This flag turns off this behavior and the vlink state becomes unrelated to physical link.
  */
@@ -676,7 +673,7 @@ extern ulong sif_feature_mask;
 /* Configure PSIF to use the opposite base page size (e.g. 8K on x86 and 4K on sparc) */
 #define SIFF_toggle_page_size        0x40000000
 
-#define SIFF_all_features           0x7fffddfb
+#define SIFF_all_features           0x7fff5dfb
 
 #define sif_feature(x) (sif_feature_mask & (SIFF_##x))
 
index 8a936a9e6f2668e5bff02dd29a7ad096379fc70d..b3d569ea2bccdc37e37d306c1eb83fad9e9ee183 100644 (file)
@@ -348,18 +348,6 @@ static irqreturn_t sif_intr(int irq, void *d)
                "done [irq %d (eq %d) - %d events dispatched]",
                irq, eq->index, nreqs);
 
-       if (sif_feature(check_all_eqs_on_intr)) {
-               int i;
-               struct sif_eps *es = &sdev->es[sdev->mbox_epsc];
-
-               sif_log(sdev, SIF_INTR, "feature check_all_eqs_on_intr - dispatching:");
-               for (i = 0; i < es->eqs.cnt; i++)
-                       if (i != eq->index)
-                               dispatch_eq(&es->eqs.eq[i]);
-               sif_log(sdev, SIF_INTR, "feature check_all_eqs_on_intr - dispatch done.");
-               /* Note: this feature does not check the EPSA* interrupt queues */
-       }
-
        elapsed = jiffies_to_msecs(jiffies - start_time);
 
        if (eq->max_intr_ms < elapsed)