From: Francisco Triviño Date: Wed, 14 Sep 2016 08:58:23 +0000 (+0200) Subject: sif: eq: remove check_all_eqs_on_intr driver feature X-Git-Tag: v4.1.12-92~67^2~37 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c20ebffe5f8ec6d97b6e9eb2d2b7a3e16fb5e627;p=users%2Fjedix%2Flinux-maple.git sif: eq: remove check_all_eqs_on_intr driver feature 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 Reviewed-by: Knut Omang --- diff --git a/drivers/infiniband/hw/sif/sif_dev.h b/drivers/infiniband/hw/sif/sif_dev.h index 5f1ba9b1a945..c7092c9e9318 100644 --- a/drivers/infiniband/hw/sif/sif_dev.h +++ b/drivers/infiniband/hw/sif/sif_dev.h @@ -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)) diff --git a/drivers/infiniband/hw/sif/sif_eq.c b/drivers/infiniband/hw/sif/sif_eq.c index 8a936a9e6f26..b3d569ea2bcc 100644 --- a/drivers/infiniband/hw/sif/sif_eq.c +++ b/drivers/infiniband/hw/sif/sif_eq.c @@ -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)