git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/enic: avoid error message when no advanced filtering
[dpdk.git]
/
drivers
/
net
/
sfc
/
sfc.c
diff --git
a/drivers/net/sfc/sfc.c
b/drivers/net/sfc/sfc.c
index
9abd6d6
..
9c1be10
100644
(file)
--- a/
drivers/net/sfc/sfc.c
+++ b/
drivers/net/sfc/sfc.c
@@
-25,7
+25,7
@@
#include "sfc_kvargs.h"
#include "sfc_tweak.h"
#include "sfc_sw_stats.h"
#include "sfc_kvargs.h"
#include "sfc_tweak.h"
#include "sfc_sw_stats.h"
-
+#include "sfc_switch.h"
bool
sfc_repr_supported(const struct sfc_adapter *sa)
bool
sfc_repr_supported(const struct sfc_adapter *sa)
@@
-106,13
+106,13
@@
sfc_phy_cap_from_link_speeds(uint32_t speeds)
{
uint32_t phy_caps = 0;
{
uint32_t phy_caps = 0;
- if (~speeds & ETH_LINK_SPEED_FIXED) {
+ if (~speeds &
RTE_
ETH_LINK_SPEED_FIXED) {
phy_caps |= (1 << EFX_PHY_CAP_AN);
/*
* If no speeds are specified in the mask, any supported
* may be negotiated
*/
phy_caps |= (1 << EFX_PHY_CAP_AN);
/*
* If no speeds are specified in the mask, any supported
* may be negotiated
*/
- if (speeds == ETH_LINK_SPEED_AUTONEG)
+ if (speeds ==
RTE_
ETH_LINK_SPEED_AUTONEG)
phy_caps |=
(1 << EFX_PHY_CAP_1000FDX) |
(1 << EFX_PHY_CAP_10000FDX) |
phy_caps |=
(1 << EFX_PHY_CAP_1000FDX) |
(1 << EFX_PHY_CAP_10000FDX) |
@@
-121,17
+121,17
@@
sfc_phy_cap_from_link_speeds(uint32_t speeds)
(1 << EFX_PHY_CAP_50000FDX) |
(1 << EFX_PHY_CAP_100000FDX);
}
(1 << EFX_PHY_CAP_50000FDX) |
(1 << EFX_PHY_CAP_100000FDX);
}
- if (speeds & ETH_LINK_SPEED_1G)
+ if (speeds &
RTE_
ETH_LINK_SPEED_1G)
phy_caps |= (1 << EFX_PHY_CAP_1000FDX);
phy_caps |= (1 << EFX_PHY_CAP_1000FDX);
- if (speeds & ETH_LINK_SPEED_10G)
+ if (speeds &
RTE_
ETH_LINK_SPEED_10G)
phy_caps |= (1 << EFX_PHY_CAP_10000FDX);
phy_caps |= (1 << EFX_PHY_CAP_10000FDX);
- if (speeds & ETH_LINK_SPEED_25G)
+ if (speeds &
RTE_
ETH_LINK_SPEED_25G)
phy_caps |= (1 << EFX_PHY_CAP_25000FDX);
phy_caps |= (1 << EFX_PHY_CAP_25000FDX);
- if (speeds & ETH_LINK_SPEED_40G)
+ if (speeds &
RTE_
ETH_LINK_SPEED_40G)
phy_caps |= (1 << EFX_PHY_CAP_40000FDX);
phy_caps |= (1 << EFX_PHY_CAP_40000FDX);
- if (speeds & ETH_LINK_SPEED_50G)
+ if (speeds &
RTE_
ETH_LINK_SPEED_50G)
phy_caps |= (1 << EFX_PHY_CAP_50000FDX);
phy_caps |= (1 << EFX_PHY_CAP_50000FDX);
- if (speeds & ETH_LINK_SPEED_100G)
+ if (speeds &
RTE_
ETH_LINK_SPEED_100G)
phy_caps |= (1 << EFX_PHY_CAP_100000FDX);
return phy_caps;
phy_caps |= (1 << EFX_PHY_CAP_100000FDX);
return phy_caps;
@@
-401,10
+401,10
@@
sfc_set_fw_subvariant(struct sfc_adapter *sa)
tx_offloads |= txq_info->offloads;
}
tx_offloads |= txq_info->offloads;
}
- if (tx_offloads & (
DEV
_TX_OFFLOAD_IPV4_CKSUM |
-
DEV
_TX_OFFLOAD_TCP_CKSUM |
-
DEV
_TX_OFFLOAD_UDP_CKSUM |
-
DEV
_TX_OFFLOAD_OUTER_IPV4_CKSUM))
+ if (tx_offloads & (
RTE_ETH
_TX_OFFLOAD_IPV4_CKSUM |
+
RTE_ETH
_TX_OFFLOAD_TCP_CKSUM |
+
RTE_ETH
_TX_OFFLOAD_UDP_CKSUM |
+
RTE_ETH
_TX_OFFLOAD_OUTER_IPV4_CKSUM))
req_fw_subvariant = EFX_NIC_FW_SUBVARIANT_DEFAULT;
else
req_fw_subvariant = EFX_NIC_FW_SUBVARIANT_NO_TX_CSUM;
req_fw_subvariant = EFX_NIC_FW_SUBVARIANT_DEFAULT;
else
req_fw_subvariant = EFX_NIC_FW_SUBVARIANT_NO_TX_CSUM;
@@
-440,7
+440,7
@@
sfc_try_start(struct sfc_adapter *sa)
sfc_log_init(sa, "entry");
SFC_ASSERT(sfc_adapter_is_locked(sa));
sfc_log_init(sa, "entry");
SFC_ASSERT(sfc_adapter_is_locked(sa));
- SFC_ASSERT(sa->state == SFC_
ADAPTER
_STARTING);
+ SFC_ASSERT(sa->state == SFC_
ETHDEV
_STARTING);
sfc_log_init(sa, "set FW subvariant");
rc = sfc_set_fw_subvariant(sa);
sfc_log_init(sa, "set FW subvariant");
rc = sfc_set_fw_subvariant(sa);
@@
-545,9
+545,9
@@
sfc_start(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
switch (sa->state) {
SFC_ASSERT(sfc_adapter_is_locked(sa));
switch (sa->state) {
- case SFC_
ADAPTER
_CONFIGURED:
+ case SFC_
ETHDEV
_CONFIGURED:
break;
break;
- case SFC_
ADAPTER
_STARTED:
+ case SFC_
ETHDEV
_STARTED:
sfc_notice(sa, "already started");
return 0;
default:
sfc_notice(sa, "already started");
return 0;
default:
@@
-555,7
+555,7
@@
sfc_start(struct sfc_adapter *sa)
goto fail_bad_state;
}
goto fail_bad_state;
}
- sa->state = SFC_
ADAPTER
_STARTING;
+ sa->state = SFC_
ETHDEV
_STARTING;
rc = 0;
do {
rc = 0;
do {
@@
-578,13
+578,13
@@
sfc_start(struct sfc_adapter *sa)
if (rc != 0)
goto fail_try_start;
if (rc != 0)
goto fail_try_start;
- sa->state = SFC_
ADAPTER
_STARTED;
+ sa->state = SFC_
ETHDEV
_STARTED;
sfc_log_init(sa, "done");
return 0;
fail_try_start:
fail_sriov_vswitch_create:
sfc_log_init(sa, "done");
return 0;
fail_try_start:
fail_sriov_vswitch_create:
- sa->state = SFC_
ADAPTER
_CONFIGURED;
+ sa->state = SFC_
ETHDEV
_CONFIGURED;
fail_bad_state:
sfc_log_init(sa, "failed %d", rc);
return rc;
fail_bad_state:
sfc_log_init(sa, "failed %d", rc);
return rc;
@@
-598,9
+598,9
@@
sfc_stop(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
switch (sa->state) {
SFC_ASSERT(sfc_adapter_is_locked(sa));
switch (sa->state) {
- case SFC_
ADAPTER
_STARTED:
+ case SFC_
ETHDEV
_STARTED:
break;
break;
- case SFC_
ADAPTER
_CONFIGURED:
+ case SFC_
ETHDEV
_CONFIGURED:
sfc_notice(sa, "already stopped");
return;
default:
sfc_notice(sa, "already stopped");
return;
default:
@@
-609,7
+609,7
@@
sfc_stop(struct sfc_adapter *sa)
return;
}
return;
}
- sa->state = SFC_
ADAPTER
_STOPPING;
+ sa->state = SFC_
ETHDEV
_STOPPING;
sfc_repr_proxy_stop(sa);
sfc_flow_stop(sa);
sfc_repr_proxy_stop(sa);
sfc_flow_stop(sa);
@@
-620,7
+620,7
@@
sfc_stop(struct sfc_adapter *sa)
sfc_intr_stop(sa);
efx_nic_fini(sa->nic);
sfc_intr_stop(sa);
efx_nic_fini(sa->nic);
- sa->state = SFC_
ADAPTER
_CONFIGURED;
+ sa->state = SFC_
ETHDEV
_CONFIGURED;
sfc_log_init(sa, "done");
}
sfc_log_init(sa, "done");
}
@@
-631,7
+631,7
@@
sfc_restart(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
SFC_ASSERT(sfc_adapter_is_locked(sa));
- if (sa->state != SFC_
ADAPTER
_STARTED)
+ if (sa->state != SFC_
ETHDEV
_STARTED)
return EINVAL;
sfc_stop(sa);
return EINVAL;
sfc_stop(sa);
@@
-652,7
+652,7
@@
sfc_restart_if_required(void *arg)
if (rte_atomic32_cmpset((volatile uint32_t *)&sa->restart_required,
1, 0)) {
sfc_adapter_lock(sa);
if (rte_atomic32_cmpset((volatile uint32_t *)&sa->restart_required,
1, 0)) {
sfc_adapter_lock(sa);
- if (sa->state == SFC_
ADAPTER
_STARTED)
+ if (sa->state == SFC_
ETHDEV
_STARTED)
(void)sfc_restart(sa);
sfc_adapter_unlock(sa);
}
(void)sfc_restart(sa);
sfc_adapter_unlock(sa);
}
@@
-685,9
+685,9
@@
sfc_configure(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
SFC_ASSERT(sfc_adapter_is_locked(sa));
- SFC_ASSERT(sa->state == SFC_
ADAPTER
_INITIALIZED ||
- sa->state == SFC_
ADAPTER
_CONFIGURED);
- sa->state = SFC_
ADAPTER
_CONFIGURING;
+ SFC_ASSERT(sa->state == SFC_
ETHDEV
_INITIALIZED ||
+ sa->state == SFC_
ETHDEV
_CONFIGURED);
+ sa->state = SFC_
ETHDEV
_CONFIGURING;
rc = sfc_check_conf(sa);
if (rc != 0)
rc = sfc_check_conf(sa);
if (rc != 0)
@@
-713,7
+713,7
@@
sfc_configure(struct sfc_adapter *sa)
if (rc != 0)
goto fail_sw_xstats_configure;
if (rc != 0)
goto fail_sw_xstats_configure;
- sa->state = SFC_
ADAPTER
_CONFIGURED;
+ sa->state = SFC_
ETHDEV
_CONFIGURED;
sfc_log_init(sa, "done");
return 0;
sfc_log_init(sa, "done");
return 0;
@@
-731,7
+731,7
@@
fail_port_configure:
fail_intr_configure:
fail_check_conf:
fail_intr_configure:
fail_check_conf:
- sa->state = SFC_
ADAPTER
_INITIALIZED;
+ sa->state = SFC_
ETHDEV
_INITIALIZED;
sfc_log_init(sa, "failed %d", rc);
return rc;
}
sfc_log_init(sa, "failed %d", rc);
return rc;
}
@@
-743,8
+743,8
@@
sfc_close(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
SFC_ASSERT(sfc_adapter_is_locked(sa));
- SFC_ASSERT(sa->state == SFC_
ADAPTER
_CONFIGURED);
- sa->state = SFC_
ADAPTER
_CLOSING;
+ SFC_ASSERT(sa->state == SFC_
ETHDEV
_CONFIGURED);
+ sa->state = SFC_
ETHDEV
_CLOSING;
sfc_sw_xstats_close(sa);
sfc_tx_close(sa);
sfc_sw_xstats_close(sa);
sfc_tx_close(sa);
@@
-752,7
+752,7
@@
sfc_close(struct sfc_adapter *sa)
sfc_port_close(sa);
sfc_intr_close(sa);
sfc_port_close(sa);
sfc_intr_close(sa);
- sa->state = SFC_
ADAPTER
_INITIALIZED;
+ sa->state = SFC_
ETHDEV
_INITIALIZED;
sfc_log_init(sa, "done");
}
sfc_log_init(sa, "done");
}
@@
-899,7
+899,7
@@
sfc_attach(struct sfc_adapter *sa)
sa->priv.shared->tunnel_encaps =
encp->enc_tunnel_encapsulations_supported;
sa->priv.shared->tunnel_encaps =
encp->enc_tunnel_encapsulations_supported;
- if (sfc_dp_tx_offload_capa(sa->priv.dp_tx) &
DEV
_TX_OFFLOAD_TCP_TSO) {
+ if (sfc_dp_tx_offload_capa(sa->priv.dp_tx) &
RTE_ETH
_TX_OFFLOAD_TCP_TSO) {
sa->tso = encp->enc_fw_assisted_tso_v2_enabled ||
encp->enc_tso_v3_enabled;
if (!sa->tso)
sa->tso = encp->enc_fw_assisted_tso_v2_enabled ||
encp->enc_tso_v3_enabled;
if (!sa->tso)
@@
-908,8
+908,8
@@
sfc_attach(struct sfc_adapter *sa)
if (sa->tso &&
(sfc_dp_tx_offload_capa(sa->priv.dp_tx) &
if (sa->tso &&
(sfc_dp_tx_offload_capa(sa->priv.dp_tx) &
- (
DEV
_TX_OFFLOAD_VXLAN_TNL_TSO |
-
DEV
_TX_OFFLOAD_GENEVE_TNL_TSO)) != 0) {
+ (
RTE_ETH
_TX_OFFLOAD_VXLAN_TNL_TSO |
+
RTE_ETH
_TX_OFFLOAD_GENEVE_TNL_TSO)) != 0) {
sa->tso_encap = encp->enc_fw_assisted_tso_v2_encap_enabled ||
encp->enc_tso_v3_enabled;
if (!sa->tso_encap)
sa->tso_encap = encp->enc_fw_assisted_tso_v2_encap_enabled ||
encp->enc_tso_v3_enabled;
if (!sa->tso_encap)
@@
-993,7
+993,7
@@
sfc_attach(struct sfc_adapter *sa)
if (rc != 0)
goto fail_sriov_vswitch_create;
if (rc != 0)
goto fail_sriov_vswitch_create;
- sa->state = SFC_
ADAPTER
_INITIALIZED;
+ sa->state = SFC_
ETHDEV
_INITIALIZED;
sfc_log_init(sa, "done");
return 0;
sfc_log_init(sa, "done");
return 0;
@@
-1044,6
+1044,18
@@
fail_nic_reset:
return rc;
}
return rc;
}
+void
+sfc_pre_detach(struct sfc_adapter *sa)
+{
+ sfc_log_init(sa, "entry");
+
+ SFC_ASSERT(!sfc_adapter_is_locked(sa));
+
+ sfc_repr_proxy_pre_detach(sa);
+
+ sfc_log_init(sa, "done");
+}
+
void
sfc_detach(struct sfc_adapter *sa)
{
void
sfc_detach(struct sfc_adapter *sa)
{
@@
-1067,7
+1079,7
@@
sfc_detach(struct sfc_adapter *sa)
efx_tunnel_fini(sa->nic);
sfc_sriov_detach(sa);
efx_tunnel_fini(sa->nic);
sfc_sriov_detach(sa);
- sa->state = SFC_
ADAPTER
_UNINITIALIZED;
+ sa->state = SFC_
ETHDEV
_UNINITIALIZED;
}
static int
}
static int
@@
-1318,6
+1330,9
@@
sfc_unprobe(struct sfc_adapter *sa)
*/
rte_eal_alarm_cancel(sfc_restart_if_required, sa);
*/
rte_eal_alarm_cancel(sfc_restart_if_required, sa);
+ sfc_mae_clear_switch_port(sa->mae.switch_domain_id,
+ sa->mae.switch_port_id);
+
sfc_log_init(sa, "destroy nic");
sa->nic = NULL;
efx_nic_destroy(enp);
sfc_log_init(sa, "destroy nic");
sa->nic = NULL;
efx_nic_destroy(enp);
@@
-1325,7
+1340,7
@@
sfc_unprobe(struct sfc_adapter *sa)
sfc_mem_bar_fini(sa);
sfc_flow_fini(sa);
sfc_mem_bar_fini(sa);
sfc_flow_fini(sa);
- sa->state = SFC_
ADAPTER
_UNINITIALIZED;
+ sa->state = SFC_
ETHDEV
_UNINITIALIZED;
}
uint32_t
}
uint32_t