Merge pull request #1726 from abhijitG-xlnx/sigall
ionic: Honor sq_sig_all for signaled completions
diff --git a/providers/ionic/ionic.h b/providers/ionic/ionic.h
index d618645..a51d790 100644
--- a/providers/ionic/ionic.h
+++ b/providers/ionic/ionic.h
@@ -201,6 +201,7 @@
struct ionic_sq sq;
struct ionic_rq rq;
+ bool sig_all;
};
struct ionic_ah {
diff --git a/providers/ionic/ionic_verbs.c b/providers/ionic/ionic_verbs.c
index 4817230..6452894 100644
--- a/providers/ionic/ionic_verbs.c
+++ b/providers/ionic/ionic_verbs.c
@@ -1693,6 +1693,7 @@
qp->has_sq = true;
qp->has_rq = true;
qp->lockfree = false;
+ qp->sig_all = ex->sq_sig_all;
list_node_init(&qp->cq_poll_sq);
list_node_init(&qp->cq_poll_rq);
@@ -2111,7 +2112,7 @@
if (wr->send_flags & IBV_SEND_SOLICITED)
wqe->base.flags |= htobe16(IONIC_V1_FLAG_SOL);
- if (wr->send_flags & IBV_SEND_SIGNALED) {
+ if (qp->sig_all || (wr->send_flags & IBV_SEND_SIGNALED)) {
wqe->base.flags |= htobe16(IONIC_V1_FLAG_SIG);
meta->signal = true;
}