#
eac901ce |
| 23-Dec-2016 |
Jan Blunck <jblunck@infradead.org> |
ethdev: decouple from PCI device
This makes struct rte_eth_dev independent of struct rte_pci_device by replacing it with a pointer to the generic struct rte_device.
Signed-off-by: Jan Blunck <jblun
ethdev: decouple from PCI device
This makes struct rte_eth_dev independent of struct rte_pci_device by replacing it with a pointer to the generic struct rte_device.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
ae34410a |
| 23-Dec-2016 |
Jan Blunck <jblunck@infradead.org> |
ethdev: move info filling of PCI into drivers
Only the drivers itself can decide if it could fill PCI information fields of dev_info.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shr
ethdev: move info filling of PCI into drivers
Only the drivers itself can decide if it could fill PCI information fields of dev_info.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
d4b7f673 |
| 23-Dec-2016 |
Jan Blunck <jblunck@infradead.org> |
net/qede: localize mapping of ethdev to PCI device
This simplifies later changes to ethdev.
Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Harish Patil <harish.patil@qlogic.com>
|
#
0880c401 |
| 15-Dec-2016 |
Olivier Matz <olivier.matz@6wind.com> |
drivers: advertise kmod dependencies in pmdinfo
Add a new macro RTE_PMD_REGISTER_KMOD_DEP() that allows a driver to declare the list of kernel modules required to run properly.
Today, most PCI driv
drivers: advertise kmod dependencies in pmdinfo
Add a new macro RTE_PMD_REGISTER_KMOD_DEP() that allows a driver to declare the list of kernel modules required to run properly.
Today, most PCI drivers require uio/vfio.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
1ea56b80 |
| 11-Nov-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: fix speed capability
- Fix to use bitmapped values in NVM configuration for speed capability advertisement. This issue is specific to 25G NIC since it is capable of 25G and 10G speeds.
net/qede: fix speed capability
- Fix to use bitmapped values in NVM configuration for speed capability advertisement. This issue is specific to 25G NIC since it is capable of 25G and 10G speeds.
- Update feature list.
Fixes: 64c239b7f8b7 ("net/qede: fix advertising link speed capability")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
64c239b7 |
| 31-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: fix advertising link speed capability
Fix to advertise device's link speed capability based on NVM port configuration instead of returning driver supported speeds.
Fixes: 95e67b479506 ("n
net/qede: fix advertising link speed capability
Fix to advertise device's link speed capability based on NVM port configuration instead of returning driver supported speeds.
Fixes: 95e67b479506 ("net/qede: add 100G link speed capability")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
7634c5f9 |
| 19-Oct-2016 |
Rasesh Mody <rasesh.mody@qlogic.com> |
net/qede: add queue statistics
This patch adds support for pulling per queue statistics.
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
|
#
7eca78ce |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: fix driver version string
This patch fixes the base driver version display. The driver version notation is: <Base-Version_PMD-Version>
Fixes: 2ea6f76aff40 ("qede: add core driver")
Signe
net/qede: fix driver version string
This patch fixes the base driver version display. The driver version notation is: <Base-Version_PMD-Version>
Fixes: 2ea6f76aff40 ("qede: add core driver")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
de027ce7 |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: skip slow path polling for 100G VF device
There is no need to poll for slowpath events for VF device since the ramrod responses are received over PF-VF backchannel synchronously. So the fi
net/qede: skip slow path polling for 100G VF device
There is no need to poll for slowpath events for VF device since the ramrod responses are received over PF-VF backchannel synchronously. So the fix is to restrict the slowpath polling for PF device only.
Fixes: 2af14ca79c0a ("net/qede: support 100G")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
bec02288 |
| 19-Oct-2016 |
Sony Chacko <sony.chacko@qlogic.com> |
net/qede: support scatter gather
Add scatter gather support to enable transmit and receive of larger packets.
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
|
#
9c5d0a66 |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: fix RSS
This patch contains few RSS related changes as follows:
o Fix inadvertent initializing of rss_params outside of the if block in qed_update_vport() which could cause FW exception
net/qede: fix RSS
This patch contains few RSS related changes as follows:
o Fix inadvertent initializing of rss_params outside of the if block in qed_update_vport() which could cause FW exception.
o Fix disabling of RSS when hash function is 0.
o Rename qede_config_rss() to qede_check_vport_rss_enable() for better clarity.
o Avoid code duplication using a helper function qede_init_rss_caps().
Fixes: 4c98f2768eef ("net/qede: support RSS hash configuration") Fixes: 2ea6f76aff40 ("qede: add core driver")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
d87246a4 |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: enable and disable VLAN filtering
The device doesn't explicitly support enable/disable of VLAN filtering. However, VLAN filtering takes effect when a matching VLAN is configured. So in ord
net/qede: enable and disable VLAN filtering
The device doesn't explicitly support enable/disable of VLAN filtering. However, VLAN filtering takes effect when a matching VLAN is configured. So in order to support enable/disable of VLAN filtering, VLAN 0 is added/removed respectively. A check is added to ensure that the user removes all the configured VLANs before disabling VLAN filtering.
Also VLAN offloads shall be enabled by default and vlan_tci_outer is to set to 0 for Q-in-Q packets.
Fixes: 2ea6f76 ("qede: add core driver")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
d6cb1753 |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: fix VLAN filters
- fix to prevent duplicate VLAN filters
librte_ether does not keep track of VLAN filters configured, so it becomes driver's responsibility to keep track of it and preven
net/qede: fix VLAN filters
- fix to prevent duplicate VLAN filters
librte_ether does not keep track of VLAN filters configured, so it becomes driver's responsibility to keep track of it and prevent duplicate filter programming. The fix is to use a singly linked list for tracking the entries and there by prevent duplicates.
- fix num vlan filters
Fix num vlan filter when filling Ethernet device information.
Fixes: 2ea6f76aff40 ("qede: add core driver")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
fdc6a6f9 |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: remove unused code
Fixes: 2ea6f76aff40 ("qede: add core driver")
Signed-off-by: Harish Patil <harish.patil@qlogic.com> Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
|
#
95e67b47 |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: add 100G link speed capability
This patch fixes the missing 100G link speed advertisement when the 100G support was initially added.
Fixes: 2af14ca79c0a ("net/qede: support 100G")
Signed
net/qede: add 100G link speed capability
This patch fixes the missing 100G link speed advertisement when the 100G support was initially added.
Fixes: 2af14ca79c0a ("net/qede: support 100G")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
dbac54c2 |
| 19-Oct-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: fix port (re)configuration
Some applications set port configuration params like promisc mode before calling dev_start(). This config results in a firmware exception since this operation in
net/qede: fix port (re)configuration
Some applications set port configuration params like promisc mode before calling dev_start(). This config results in a firmware exception since this operation internally translates to sending of VPORT-UPDATE before VPORT-START ramrod which is considered illegal from firmware standpoint. So the fix is to send VPORT-START ramrod sooner in dev_configure() rather than deferring it to dev_start(). This requires a bit of reshuffling in the code to move sending of VPORT-START from qede_start_queues() to qede_dev_configure() and VPORT-STOP from qede_stop_queues() to qede_dev_stop().
This sequence change also exposes a flaw in the port restart flows where the fastpath resource allocation routine qede_init_fp() functionalities need to be split, so that appropriate action is taken based on the current port state. Eg: Do not re-initialize the status block in a port restart case. This change ensures port start/stop can be paired.
A new port state QEDE_DEV_CONFIG is added to distinguish between port started from scratch vs port requiring a reconfig (like MTU). The function qede_config_rx_mode() is removed since the individual port config will be replayed anyways on a restart.
Fixes: 2ea6f76aff40 ("qede: add core driver")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
cfe28a98 |
| 19-Oct-2016 |
Sony Chacko <sony.chacko@qlogic.com> |
net/qede: support unequal number of Rx/Tx queues
Previous release of the qede PMD had a limitation that the driver expects the number of tx and rx queues to be the same. This patch fixes this issue
net/qede: support unequal number of Rx/Tx queues
Previous release of the qede PMD had a limitation that the driver expects the number of tx and rx queues to be the same. This patch fixes this issue by making appropriate changes in control and data path.
Fixes: 2ea6f76aff40 ("qede: add core driver")
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
show more ...
|
#
01f19227 |
| 10-Oct-2016 |
Shreyansh Jain <shreyansh.jain@nxp.com> |
drivers: rename register macro prefix
All macros related to driver registeration renamed from DRIVER_* to RTE_PMD_*
This includes:
DRIVER_REGISTER_PCI -> RTE_PMD_REGISTER_PCI DRIVER_REGISTER_PCI
drivers: rename register macro prefix
All macros related to driver registeration renamed from DRIVER_* to RTE_PMD_*
This includes:
DRIVER_REGISTER_PCI -> RTE_PMD_REGISTER_PCI DRIVER_REGISTER_PCI_TABLE -> RTE_PMD_REGISTER_PCI_TABLE DRIVER_REGISTER_VDEV -> RTE_PMD_REGISTER_VDEV DRIVER_REGISTER_PARAM_STRING -> RTE_PMD_REGISTER_PARAM_STRING DRIVER_EXPORT_* -> RTE_PMD_EXPORT_*
Fix PMDINFOGEN tool to look for matches of RTE_PMD_REGISTER_*.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
2f3193cf |
| 20-Sep-2016 |
Jan Viktorin <viktorin@rehivetech.com> |
pci: inherit common driver in PCI driver
Remove the 'name' member from rte_pci_driver and move to generic rte_driver.
Most of the PMD drivers were initially using DRIVER_REGISTER_PCI(<name>..) as w
pci: inherit common driver in PCI driver
Remove the 'name' member from rte_pci_driver and move to generic rte_driver.
Most of the PMD drivers were initially using DRIVER_REGISTER_PCI(<name>..) as well as assigning a name to eth_driver.pci_drv.name member. In this patch, only the original DRIVER_REGISTER_PCI(<name>..) name has been populated into the rte_driver.name member - assignments through eth_driver has been removed.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com> [Shreyansh: Rebase and expand changes to newly added files] Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: David Marchand <david.marchand@6wind.com>
show more ...
|
#
c830cb29 |
| 20-Sep-2016 |
David Marchand <david.marchand@6wind.com> |
drivers: use PCI registration macro
Simplify crypto and ethdev pci drivers init by using newly introduced init macros and helpers. Those drivers then don't need to register as "rte_driver"s anymore.
drivers: use PCI registration macro
Simplify crypto and ethdev pci drivers init by using newly introduced init macros and helpers. Those drivers then don't need to register as "rte_driver"s anymore.
Exceptions: - virtio and mlx* use RTE_INIT directly as they have custom initialization steps. - VDEV devices are not modified - they continue to use PMD_REGISTER_DRIVER.
Update documentation for replacing an example referring to PMD_REGISTER_DRIVER.
Signed-off-by: David Marchand <david.marchand@6wind.com> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
2f45703c |
| 24-Aug-2016 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
drivers: make driver names consistent
As discussed in the past release, driver names are modified to be more consistent, and the future driver should follow this new convention.
Driver names consis
drivers: make driver names consistent
As discussed in the past release, driver names are modified to be more consistent, and the future driver should follow this new convention.
Driver names consist of: "driver category"_"driver folder name"_"optional extra name".
For example: - Crypto null driver -> "crypto_null" - Network IXGBE VF driver -> "net_ixgbe_vf"
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
d1216e22 |
| 07-Jul-2016 |
Rasesh Mody <rasesh.mody@qlogic.com> |
net/qede: add xstats
This patch adds support for extended statistics for QEDE PMD.
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com> Acked-by: Remy Horton <remy.horton@intel.com>
|
#
cb6696d2 |
| 17-Jun-2016 |
Neil Horman <nhorman@tuxdriver.com> |
drivers: update registration macro usage
Modify the PMD_REGISTER_DRIVER macro, adding a name argument to it. The addition of a name argument creates a token that can be used for subsequent macros i
drivers: update registration macro usage
Modify the PMD_REGISTER_DRIVER macro, adding a name argument to it. The addition of a name argument creates a token that can be used for subsequent macros in the creation of unique symbol names to export additional bits of information for use by the pmdinfogen tool. For example:
PMD_REGISTER_DRIVER(ena_driver, ena);
registers the ena_driver struct as it always did, and creates a symbol const char this_pmd_name0[] __attribute__((used)) = "ena";
which pmdinfogen can search for and extract. The subsequent macro
DRIVER_REGISTER_PCI_TABLE(ena, ena_pci_id_map);
creates a symbol const char ena_pci_tbl_export[] __attribute__((used)) = "ena_pci_id_map";
Which allows pmdinfogen to find the pci table of this driver
Using this pattern, we can export arbitrary bits of information.
pmdinfo uses this information to extract hardware support from an object file and create a json string to make hardware support info discoverable later.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Panu Matilainen <pmatilai@redhat.com> Acked-by: Remy Horton <remy.horton@intel.com>
show more ...
|
#
2af14ca7 |
| 16-Jun-2016 |
Harish Patil <harish.patil@qlogic.com> |
net/qede: support 100G
- Add device id to the PCI table - Add polling for the slowpath events for CMT mode device - Add prerequisites to allow 100g mode * Min number of queues needed is 2
net/qede: support 100G
- Add device id to the PCI table - Add polling for the slowpath events for CMT mode device - Add prerequisites to allow 100g mode * Min number of queues needed is 2 * Only even number of queues are allowed - Update documentation
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
show more ...
|
#
200645ac |
| 16-Jun-2016 |
Sony Chacko <sony.chacko@qlogic.com> |
net/qede: set MTU
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> [NIC overview doc update] Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
|