diff options
author | Shannon Nelson <snelson@pensando.io> | 2019-09-04 01:28:08 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-09-05 10:24:43 +0300 |
commit | 6461b446f2a0f40c038f1d09c69d1e5565a84a43 (patch) | |
tree | 8447c32eccc50896bf64e13b9df6619cb22a6427 /drivers/net/ethernet/pensando/ionic/ionic_dev.c | |
parent | 1a58e196467f842a40ff3ecfe818ebf7604e04a6 (diff) | |
download | linux-6461b446f2a0f40c038f1d09c69d1e5565a84a43.tar.xz |
ionic: Add interrupts and doorbells
The ionic interrupt model is based on interrupt control blocks
accessed through the PCI BAR. Doorbell registers are used by
the driver to signal to the NIC that requests are waiting on
the message queues. Interrupts are used by the NIC to signal
to the driver that answers are waiting on the completion queues.
Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/pensando/ionic/ionic_dev.c')
-rw-r--r-- | drivers/net/ethernet/pensando/ionic/ionic_dev.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_dev.c b/drivers/net/ethernet/pensando/ionic/ionic_dev.c index 01e922fa9366..dbdde548848e 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_dev.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_dev.c @@ -9,6 +9,7 @@ #include <linux/etherdevice.h> #include "ionic.h" #include "ionic_dev.h" +#include "ionic_lif.h" void ionic_init_devinfo(struct ionic *ionic) { @@ -260,3 +261,8 @@ void ionic_dev_cmd_lif_reset(struct ionic_dev *idev, u16 lif_index) ionic_dev_cmd_go(idev, &cmd); } + +int ionic_db_page_num(struct ionic_lif *lif, int pid) +{ + return (lif->hw_index * lif->dbid_count) + pid; +} |