#
d318c646 |
| 18-Jan-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: inline queue space function
This is a hot-path function. Remove ionic_q_has_space() while here.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
|
#
bef60d87 |
| 18-Jan-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: inline queue flush function
This is hot-path function.
Signed-off-by: Andrew Boyer <aboyer@pensando.io> Signed-off-by: Neel Patel <neel@pensando.io>
|
#
c5d15850 |
| 18-Jan-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: query firmware for supported queue versions
This allows the PMD to better support FW changes.
Signed-off-by: Andrew Boyer <aboyer@pensando.io> Signed-off-by: Shannon Nelson <snelson@pens
net/ionic: query firmware for supported queue versions
This allows the PMD to better support FW changes.
Signed-off-by: Andrew Boyer <aboyer@pensando.io> Signed-off-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
4c8f8d57 |
| 18-Jan-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: strip out unneeded interrupt code
Only the NotifyQ uses an interrupt, so simplify the other queues.
Simplify ionic_dev_cmd_adminq_init() and ionic_cq_init(). Move ionic_intr_alloc() into
net/ionic: strip out unneeded interrupt code
Only the NotifyQ uses an interrupt, so simplify the other queues.
Simplify ionic_dev_cmd_adminq_init() and ionic_cq_init(). Move ionic_intr_alloc() into ionic_notify_qcq_alloc(). Create ionic_lif_notifyq_deinit(). Simplify ionic_lif_qcq_deinit(). Remove unneeded flags and defines.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
show more ...
|
#
00b65da5 |
| 16-Dec-2020 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: remove multi-LIF support
This feature is unused, so remove it.
There is exactly one adapter / lif / ethdev per port.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
|
#
4ae96cb8 |
| 10-Dec-2020 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: do minor logging fixups
Expose ionic_opcode_to_str() so it can be used for dev cmds, too. Store the device name in struct adapter.
Switch to memcpy() to work around gcc false positives.
net/ionic: do minor logging fixups
Expose ionic_opcode_to_str() so it can be used for dev cmds, too. Store the device name in struct adapter.
Switch to memcpy() to work around gcc false positives.
Signed-off-by: Andrew Boyer <aboyer@pensando.io> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
1abf69fc |
| 10-Dec-2020 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: remove some unused fields
This conserves resources.
Signed-off-by: Andrew Boyer <aboyer@pensando.io> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
|
#
47dc2bd3 |
| 10-Dec-2020 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: check for command completion more frequently
This reduces the startup time a bit.
Signed-off-by: Neel Patel <neel@pensando.io> Signed-off-by: Andrew Boyer <aboyer@pensando.io> Reviewed-b
net/ionic: check for command completion more frequently
This reduces the startup time a bit.
Signed-off-by: Neel Patel <neel@pensando.io> Signed-off-by: Andrew Boyer <aboyer@pensando.io> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
e40303eb |
| 09-Mar-2020 |
Sunil Kumar Kori <skori@marvell.com> |
net/ionic: use standard boolean type
Any DPDK public header file which includes stdbool.h may conflict with local definition of bool, if any, which further results in compilation error. To avoid, us
net/ionic: use standard boolean type
Any DPDK public header file which includes stdbool.h may conflict with local definition of bool, if any, which further results in compilation error. To avoid, used standard stdbool.h instead of defining bool internally.
I observed this issue during a development where I included rte_uuid.h into rte_ethdev.h. As rte_ethdev.h is included to PMD driver, it started throwing error as given below:
CC ionic_rxtx.o In file included from .../dpdk/build/include/rte_uuid.h:17:0, from .../dpdk/build/include/rte_ethdev.h:161, from .../dpdk/build/include/rte_ethdev_driver.h:18, from .../dpdk/drivers/net/ionic/ionic_rxtx.c:34: .../dpdk/drivers/net/ionic/ionic_osdep.h:48:17: error: two or more data types in declaration specifiers typedef uint8_t bool; ^ In file included from .../dpdk/drivers/net/ionic/ionic_dev.h:8:0, from .../dpdk/drivers/net/ionic/ionic.h:13, from .../dpdk/drivers/net/ionic/ionic_mac_api.h:8, from .../dpdk/drivers/net/ionic/ionic_rxtx.c:45: .../dpdk/drivers/net/ionic/ionic_osdep.h:48:1: warning: useless type name in empty declaration typedef uint8_t bool; ^~~~~~~ cc1: warning: unrecognized command line option ‘-Wno-address-of-packed-member’ .../dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'ionic_rxtx.o' failed
Fixes: 5ef518098ec6 ("net/ionic: register and initialize adapter") Cc: stable@dpdk.org
Signed-off-by: Sunil Kumar Kori <skori@marvell.com> Acked-by: Alfredo Cardigliano <cardigliano@ntop.org>
show more ...
|
#
a27d9013 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: add Rx and Tx handling
Add Rx and Tx queues setup and handling.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
|
#
598f6726 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: add basic port operations
Add support for port start/stop and handle basic features including MTU and link up/down.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by:
net/ionic: add basic port operations
Add support for port start/stop and handle basic features including MTU and link up/down.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
01a6c311 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: support admin queue
Add support for the admin queue, which is used for most of the NIC configurations.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nels
net/ionic: support admin queue
Add support for the admin queue, which is used for most of the NIC configurations.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
c67719e1 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: add doorbells
Doorbell registers are used by the driver to signal to the NIC that requests are waiting on the message queues.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Re
net/ionic: add doorbells
Doorbell registers are used by the driver to signal to the NIC that requests are waiting on the message queues.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
669c8de6 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: support basic LIF
Initialize LIFs (Logical Interfaces) which represents external connections. The NIC can multiplex many LIFs to a single port, but in most setups, LIF0 is the primary con
net/ionic: support basic LIF
Initialize LIFs (Logical Interfaces) which represents external connections. The NIC can multiplex many LIFs to a single port, but in most setups, LIF0 is the primary control for the port. Create a device for each LIF.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
23bf4ddb |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: add port management commands
Add port management commands that apply to the physical ports associated with the PCI device, which might be shared among several logical interfaces.
Signed-
net/ionic: add port management commands
Add port management commands that apply to the physical ports associated with the PCI device, which might be shared among several logical interfaces.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
5ef51809 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: register and initialize adapter
Register the Pensando ionic PMD (net_ionic) and define initial probe and remove callbacks with adapter initialization.
Signed-off-by: Alfredo Cardigliano
net/ionic: register and initialize adapter
Register the Pensando ionic PMD (net_ionic) and define initial probe and remove callbacks with adapter initialization.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|