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
crypto/qat: fix message for NULL algo setting unused counter
[dpdk.git]
/
drivers
/
net
/
cxgbe
/
cxgbe_main.c
diff --git
a/drivers/net/cxgbe/cxgbe_main.c
b/drivers/net/cxgbe/cxgbe_main.c
index
88dc851
..
0368db5
100644
(file)
--- a/
drivers/net/cxgbe/cxgbe_main.c
+++ b/
drivers/net/cxgbe/cxgbe_main.c
@@
-122,6
+122,7
@@
int setup_sge_ctrl_txq(struct adapter *adapter)
int err = 0, i = 0;
for_each_port(adapter, i) {
int err = 0, i = 0;
for_each_port(adapter, i) {
+ struct port_info *pi = adap2pinfo(adapter, i);
char name[RTE_ETH_NAME_MAX_LEN];
struct sge_ctrl_txq *q = &s->ctrlq[i];
char name[RTE_ETH_NAME_MAX_LEN];
struct sge_ctrl_txq *q = &s->ctrlq[i];
@@
-135,16
+136,19
@@
int setup_sge_ctrl_txq(struct adapter *adapter)
err);
goto out;
}
err);
goto out;
}
- snprintf(name, sizeof(name), "cxgbe_ctrl_pool_%d", i);
+ snprintf(name, sizeof(name), "%s_ctrl_pool_%d",
+ pi->eth_dev->device->driver->name,
+ pi->eth_dev->data->port_id);
q->mb_pool = rte_pktmbuf_pool_create(name, s->ctrlq[i].q.size,
RTE_CACHE_LINE_SIZE,
RTE_MBUF_PRIV_ALIGN,
RTE_MBUF_DEFAULT_BUF_SIZE,
SOCKET_ID_ANY);
if (!q->mb_pool) {
q->mb_pool = rte_pktmbuf_pool_create(name, s->ctrlq[i].q.size,
RTE_CACHE_LINE_SIZE,
RTE_MBUF_PRIV_ALIGN,
RTE_MBUF_DEFAULT_BUF_SIZE,
SOCKET_ID_ANY);
if (!q->mb_pool) {
- dev_err(adapter, "Can't create ctrl pool for port: %d",
- i);
- err = -ENOMEM;
+ err = -rte_errno;
+ dev_err(adapter,
+ "Can't create ctrl pool for port %d. Err: %d\n",
+ pi->eth_dev->data->port_id, err);
goto out;
}
}
goto out;
}
}
@@
-157,18
+161,18
@@
out:
/**
* cxgbe_poll_for_completion: Poll rxq for completion
* @q: rxq to poll
/**
* cxgbe_poll_for_completion: Poll rxq for completion
* @q: rxq to poll
- * @
us: micro
seconds to delay
+ * @
ms: milli
seconds to delay
* @cnt: number of times to poll
* @c: completion to check for 'done' status
*
* Polls the rxq for reples until completion is done or the count
* expires.
*/
* @cnt: number of times to poll
* @c: completion to check for 'done' status
*
* Polls the rxq for reples until completion is done or the count
* expires.
*/
-int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int
u
s,
+int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int
m
s,
unsigned int cnt, struct t4_completion *c)
{
unsigned int i;
unsigned int cnt, struct t4_completion *c)
{
unsigned int i;
- unsigned int work_done, budget =
4
;
+ unsigned int work_done, budget =
32
;
if (!c)
return -EINVAL;
if (!c)
return -EINVAL;
@@
-181,7
+185,7
@@
int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int us,
return 0;
}
t4_os_unlock(&c->lock);
return 0;
}
t4_os_unlock(&c->lock);
-
udelay(u
s);
+
rte_delay_ms(m
s);
}
return -ETIMEDOUT;
}
}
return -ETIMEDOUT;
}
@@
-1339,18
+1343,22
@@
inline bool force_linkup(struct adapter *adap)
int link_start(struct port_info *pi)
{
struct adapter *adapter = pi->adapter;
int link_start(struct port_info *pi)
{
struct adapter *adapter = pi->adapter;
-
int ret
;
+
u64 conf_offloads
;
unsigned int mtu;
unsigned int mtu;
+ int ret;
mtu = pi->eth_dev->data->dev_conf.rxmode.max_rx_pkt_len -
(ETHER_HDR_LEN + ETHER_CRC_LEN);
mtu = pi->eth_dev->data->dev_conf.rxmode.max_rx_pkt_len -
(ETHER_HDR_LEN + ETHER_CRC_LEN);
+ conf_offloads = pi->eth_dev->data->dev_conf.rxmode.offloads;
+
/*
* We do not set address filters and promiscuity here, the stack does
* that step explicitly.
*/
/*
* We do not set address filters and promiscuity here, the stack does
* that step explicitly.
*/
- ret = t4_set_rxmode(adapter, adapter->mbox, pi->viid, mtu, -1, -1,
- -1, 1, true);
+ ret = t4_set_rxmode(adapter, adapter->mbox, pi->viid, mtu, -1, -1, -1,
+ !!(conf_offloads & DEV_RX_OFFLOAD_VLAN_STRIP),
+ true);
if (ret == 0) {
ret = cxgbe_mpstcam_modify(pi, (int)pi->xact_addr_filt,
(u8 *)&pi->eth_dev->data->mac_addrs[0]);
if (ret == 0) {
ret = cxgbe_mpstcam_modify(pi, (int)pi->xact_addr_filt,
(u8 *)&pi->eth_dev->data->mac_addrs[0]);