[dpdk-dev] [PATCH v2 17/32] common/cnxk: support for checking irq availability
From: Tomasz Duszynski <hidden>
Date: 2021-06-15 11:05:54
Subsystem:
the rest · Maintainer:
Linus Torvalds
Add support for checking whether given irq is available. Signed-off-by: Jakub Palider <redacted> Signed-off-by: Tomasz Duszynski <redacted> --- drivers/common/cnxk/roc_bphy_irq.c | 9 +++++++++ drivers/common/cnxk/roc_bphy_irq.h | 2 ++ drivers/common/cnxk/version.map | 1 + 3 files changed, 12 insertions(+)
diff --git a/drivers/common/cnxk/roc_bphy_irq.c b/drivers/common/cnxk/roc_bphy_irq.c
index c57506542..bea2b7f73 100644
--- a/drivers/common/cnxk/roc_bphy_irq.c
+++ b/drivers/common/cnxk/roc_bphy_irq.c@@ -94,3 +94,12 @@ roc_bphy_intr_fini(struct roc_bphy_irq_chip *irq_chip) plt_free(irq_chip->irq_vecs); plt_free(irq_chip); } + +bool +roc_bphy_intr_available(struct roc_bphy_irq_chip *irq_chip, int irq_num) +{ + if (irq_num < 0 || (uint64_t)irq_num >= irq_chip->max_irq) + return false; + + return irq_chip->avail_irq_bmask & BIT(irq_num); +}
diff --git a/drivers/common/cnxk/roc_bphy_irq.h b/drivers/common/cnxk/roc_bphy_irq.h
index b5200786b..f481f4456 100644
--- a/drivers/common/cnxk/roc_bphy_irq.h
+++ b/drivers/common/cnxk/roc_bphy_irq.h@@ -23,5 +23,7 @@ struct roc_bphy_irq_chip { __roc_api struct roc_bphy_irq_chip *roc_bphy_intr_init(void); __roc_api void roc_bphy_intr_fini(struct roc_bphy_irq_chip *irq_chip); +__roc_api bool roc_bphy_intr_available(struct roc_bphy_irq_chip *irq_chip, + int irq_num); #endif /* _ROC_BPHY_IRQ_ */
diff --git a/drivers/common/cnxk/version.map b/drivers/common/cnxk/version.map
index 483e52018..427321c41 100644
--- a/drivers/common/cnxk/version.map
+++ b/drivers/common/cnxk/version.map@@ -22,6 +22,7 @@ INTERNAL { roc_bphy_cgx_stop_rxtx; roc_bphy_dev_fini; roc_bphy_dev_init; + roc_bphy_intr_available; roc_bphy_intr_fini; roc_bphy_intr_init; roc_clk_freq_get;
--
2.25.1