Commit e2ac2a00 authored by Govindarajulu Varadarajan's avatar Govindarajulu Varadarajan Committed by Jakub Kicinski

enic: define constants for legacy interrupts offset

Use macro instead of function calls. These values are constant and will
not change.
Signed-off-by: default avatarGovindarajulu Varadarajan <govind.varadar@gmail.com>
Link: https://lore.kernel.org/r/20221018005804.188643-1-govind.varadar@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f3d27ae0
...@@ -226,21 +226,6 @@ static inline unsigned int enic_cq_wq(struct enic *enic, unsigned int wq) ...@@ -226,21 +226,6 @@ static inline unsigned int enic_cq_wq(struct enic *enic, unsigned int wq)
return enic->rq_count + wq; return enic->rq_count + wq;
} }
static inline unsigned int enic_legacy_io_intr(void)
{
return 0;
}
static inline unsigned int enic_legacy_err_intr(void)
{
return 1;
}
static inline unsigned int enic_legacy_notify_intr(void)
{
return 2;
}
static inline unsigned int enic_msix_rq_intr(struct enic *enic, static inline unsigned int enic_msix_rq_intr(struct enic *enic,
unsigned int rq) unsigned int rq)
{ {
...@@ -258,6 +243,10 @@ static inline unsigned int enic_msix_err_intr(struct enic *enic) ...@@ -258,6 +243,10 @@ static inline unsigned int enic_msix_err_intr(struct enic *enic)
return enic->rq_count + enic->wq_count; return enic->rq_count + enic->wq_count;
} }
#define ENIC_LEGACY_IO_INTR 0
#define ENIC_LEGACY_ERR_INTR 1
#define ENIC_LEGACY_NOTIFY_INTR 2
static inline unsigned int enic_msix_notify_intr(struct enic *enic) static inline unsigned int enic_msix_notify_intr(struct enic *enic)
{ {
return enic->rq_count + enic->wq_count + 1; return enic->rq_count + enic->wq_count + 1;
...@@ -267,7 +256,7 @@ static inline bool enic_is_err_intr(struct enic *enic, int intr) ...@@ -267,7 +256,7 @@ static inline bool enic_is_err_intr(struct enic *enic, int intr)
{ {
switch (vnic_dev_get_intr_mode(enic->vdev)) { switch (vnic_dev_get_intr_mode(enic->vdev)) {
case VNIC_DEV_INTR_MODE_INTX: case VNIC_DEV_INTR_MODE_INTX:
return intr == enic_legacy_err_intr(); return intr == ENIC_LEGACY_ERR_INTR;
case VNIC_DEV_INTR_MODE_MSIX: case VNIC_DEV_INTR_MODE_MSIX:
return intr == enic_msix_err_intr(enic); return intr == enic_msix_err_intr(enic);
case VNIC_DEV_INTR_MODE_MSI: case VNIC_DEV_INTR_MODE_MSI:
...@@ -280,7 +269,7 @@ static inline bool enic_is_notify_intr(struct enic *enic, int intr) ...@@ -280,7 +269,7 @@ static inline bool enic_is_notify_intr(struct enic *enic, int intr)
{ {
switch (vnic_dev_get_intr_mode(enic->vdev)) { switch (vnic_dev_get_intr_mode(enic->vdev)) {
case VNIC_DEV_INTR_MODE_INTX: case VNIC_DEV_INTR_MODE_INTX:
return intr == enic_legacy_notify_intr(); return intr == ENIC_LEGACY_NOTIFY_INTR;
case VNIC_DEV_INTR_MODE_MSIX: case VNIC_DEV_INTR_MODE_MSIX:
return intr == enic_msix_notify_intr(enic); return intr == enic_msix_notify_intr(enic);
case VNIC_DEV_INTR_MODE_MSI: case VNIC_DEV_INTR_MODE_MSI:
......
...@@ -448,9 +448,9 @@ static irqreturn_t enic_isr_legacy(int irq, void *data) ...@@ -448,9 +448,9 @@ static irqreturn_t enic_isr_legacy(int irq, void *data)
{ {
struct net_device *netdev = data; struct net_device *netdev = data;
struct enic *enic = netdev_priv(netdev); struct enic *enic = netdev_priv(netdev);
unsigned int io_intr = enic_legacy_io_intr(); unsigned int io_intr = ENIC_LEGACY_IO_INTR;
unsigned int err_intr = enic_legacy_err_intr(); unsigned int err_intr = ENIC_LEGACY_ERR_INTR;
unsigned int notify_intr = enic_legacy_notify_intr(); unsigned int notify_intr = ENIC_LEGACY_NOTIFY_INTR;
u32 pba; u32 pba;
vnic_intr_mask(&enic->intr[io_intr]); vnic_intr_mask(&enic->intr[io_intr]);
...@@ -1507,7 +1507,7 @@ static int enic_poll(struct napi_struct *napi, int budget) ...@@ -1507,7 +1507,7 @@ static int enic_poll(struct napi_struct *napi, int budget)
struct enic *enic = netdev_priv(netdev); struct enic *enic = netdev_priv(netdev);
unsigned int cq_rq = enic_cq_rq(enic, 0); unsigned int cq_rq = enic_cq_rq(enic, 0);
unsigned int cq_wq = enic_cq_wq(enic, 0); unsigned int cq_wq = enic_cq_wq(enic, 0);
unsigned int intr = enic_legacy_io_intr(); unsigned int intr = ENIC_LEGACY_IO_INTR;
unsigned int rq_work_to_do = budget; unsigned int rq_work_to_do = budget;
unsigned int wq_work_to_do = ENIC_WQ_NAPI_BUDGET; unsigned int wq_work_to_do = ENIC_WQ_NAPI_BUDGET;
unsigned int work_done, rq_work_done = 0, wq_work_done; unsigned int work_done, rq_work_done = 0, wq_work_done;
...@@ -1856,8 +1856,7 @@ static int enic_dev_notify_set(struct enic *enic) ...@@ -1856,8 +1856,7 @@ static int enic_dev_notify_set(struct enic *enic)
spin_lock_bh(&enic->devcmd_lock); spin_lock_bh(&enic->devcmd_lock);
switch (vnic_dev_get_intr_mode(enic->vdev)) { switch (vnic_dev_get_intr_mode(enic->vdev)) {
case VNIC_DEV_INTR_MODE_INTX: case VNIC_DEV_INTR_MODE_INTX:
err = vnic_dev_notify_set(enic->vdev, err = vnic_dev_notify_set(enic->vdev, ENIC_LEGACY_NOTIFY_INTR);
enic_legacy_notify_intr());
break; break;
case VNIC_DEV_INTR_MODE_MSIX: case VNIC_DEV_INTR_MODE_MSIX:
err = vnic_dev_notify_set(enic->vdev, err = vnic_dev_notify_set(enic->vdev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment