Revision tags: v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1 |
|
#
90fa040a |
| 07-Feb-2024 |
Neel Patel <neel.patel@amd.com> |
net/ionic: group descriptors when using Q-in-CMB
They can be batched together with memcpy, reducing the number of PCIe transactions. This improves transmit PPS by up to 50% in some configurations.
net/ionic: group descriptors when using Q-in-CMB
They can be batched together with memcpy, reducing the number of PCIe transactions. This improves transmit PPS by up to 50% in some configurations.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: Neel Patel <neel.patel@amd.com>
show more ...
|
Revision tags: v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2, v23.11-rc1, v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1, v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2, v23.03-rc1, v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2 |
|
#
e7222f94 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: free all buffers during Rx queue stop
Free all of the mbufs in the receive queue when the queue is stopped. This will allow them to be resized when the MTU is changed.
Signed-off-by: And
net/ionic: free all buffers during Rx queue stop
Free all of the mbufs in the receive queue when the queue is stopped. This will allow them to be resized when the MTU is changed.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
show more ...
|
#
8eaafff3 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: move PCI-specific code to separate file
For future support of virtual devices, move the PCI code to its own file. Create a new device interface, struct ionic_dev_intf, to plug in to commo
net/ionic: move PCI-specific code to separate file
For future support of virtual devices, move the PCI code to its own file. Create a new device interface, struct ionic_dev_intf, to plug in to common code.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: Neel Patel <neel.patel@amd.com> Signed-off-by: R Mohamed Shah <mohamedshah.r@amd.com>
show more ...
|
#
76668754 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: update license terms to remove GPL
Remove GPL2 and leave only BSD-3-Clause. This is more in line with the norms of the DPDK community.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
|
#
a5205992 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: update documentation and copyrights
Pensando Systems has been acquired by AMD. Update all copyright strings and email addresses.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
|
#
d8fad46a |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: fix adapter name for logging
Otherwise the log messages will be garbled.
Fixes: 4ae96cb88fa0 ("net/ionic: do minor logging fixups") Cc: stable@dpdk.org
Signed-off-by: Andrew Boyer <andr
net/ionic: fix adapter name for logging
Otherwise the log messages will be garbled.
Fixes: 4ae96cb88fa0 ("net/ionic: do minor logging fixups") Cc: stable@dpdk.org
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
show more ...
|
Revision tags: v22.11-rc1, v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1, v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
#
dd10c5b4 |
| 16-Feb-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: break up queue post function
Break it up rather than inlining it, so that we can remove branches from the hot path.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
|
#
4ad56b7a |
| 16-Feb-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: cut down queue structure
This will conserve resources.
Rename ionic_qcq_alloc() arg from 'base' to 'type_name' for clarity.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
|
#
c6a9a6fb |
| 16-Feb-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: remove unused field from queue structure
This will conserve resources.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
|
#
700f974d |
| 16-Feb-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: convert info array to generic pointers
Drop the callback part of the object and store only the pointers. This saves a bit of space and simplifies the code.
Signed-off-by: Andrew Boyer <a
net/ionic: convert info array to generic pointers
Drop the callback part of the object and store only the pointers. This saves a bit of space and simplifies the code.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
show more ...
|
#
750aebd5 |
| 16-Feb-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: consolidate adminq code
The adminq is the only caller of ionic_q_service(), so absorb it into ionic_adminq_service(). Move all of the adminq code together into ionic_main.c. Staticize a f
net/ionic: consolidate adminq code
The adminq is the only caller of ionic_q_service(), so absorb it into ionic_adminq_service(). Move all of the adminq code together into ionic_main.c. Staticize a few things.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
show more ...
|
#
2aed9865 |
| 16-Feb-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: cut down completion queue structure
Add Q_NEXT_TO_POST() and Q_NEXT_TO_SRVC() macros. Use a precomputed size mask.
This will conserve resources.
Signed-off-by: Andrew Boyer <aboyer@pens
net/ionic: cut down completion queue structure
Add Q_NEXT_TO_POST() and Q_NEXT_TO_SRVC() macros. Use a precomputed size mask.
This will conserve resources.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
show more ...
|
Revision tags: v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2 |
|
#
76276d71 |
| 29-Jan-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: use existing array size macro
Using the RTE_DIM() macro makes the code clearer.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
|
Revision tags: v21.02-rc1 |
|
#
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 ...
|
#
09f806e9 |
| 18-Jan-2021 |
Andrew Boyer <aboyer@pensando.io> |
net/ionic: observe endianness in firmware commands
The IONIC firmware is little-endian.
Signed-off-by: Andrew Boyer <aboyer@pensando.io>
|
#
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>
|
Revision tags: v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1, v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1, v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2, v20.05-rc1 |
|
#
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 ...
|
Revision tags: v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1 |
|
#
eec10fb0 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: support FW version
Add support for reading the firmware version.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
|
#
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 ...
|