aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-03-03 12:46:54 -0500
committerDavid S. Miller <davem@davemloft.net>2017-03-03 12:46:54 -0500
commitb3b6157a6ad69941e5a2eba1aa2edf9a53cd28dd (patch)
tree3fbcb45a062c129eca16849fb8c396401fd25cbf
parente28599800a1274357492d85a653012ed3220b45c (diff)
parentd58cebb79b62ff84b537a35423b8d6b7f0746985 (diff)
Merge branch 'nfp-fixes'
Jakub Kicinski says: ==================== nfp: RX and XDP buffer fixes Two trivial fixes for code introduced with XDP support. First one corrects the buffer size we populate a register with. The register is designed to be used for scatter transfers which the driver (and most FWs) don't support so it's not critical. The other one for DMA direction is mostly cosmetic, DMA API doesn't seem to care today about the precise direction in sync calls. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_net_common.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
index 074259cc8e06..9179a99563af 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
@@ -1498,7 +1498,7 @@ nfp_net_tx_xdp_buf(struct nfp_net *nn, struct nfp_net_rx_ring *rx_ring,
1498 txbuf->real_len = pkt_len; 1498 txbuf->real_len = pkt_len;
1499 1499
1500 dma_sync_single_for_device(&nn->pdev->dev, rxbuf->dma_addr + pkt_off, 1500 dma_sync_single_for_device(&nn->pdev->dev, rxbuf->dma_addr + pkt_off,
1501 pkt_len, DMA_TO_DEVICE); 1501 pkt_len, DMA_BIDIRECTIONAL);
1502 1502
1503 /* Build TX descriptor */ 1503 /* Build TX descriptor */
1504 txd = &tx_ring->txds[wr_idx]; 1504 txd = &tx_ring->txds[wr_idx];
@@ -1611,7 +1611,7 @@ static int nfp_net_rx(struct nfp_net_rx_ring *rx_ring, int budget)
1611 1611
1612 dma_sync_single_for_cpu(&nn->pdev->dev, 1612 dma_sync_single_for_cpu(&nn->pdev->dev,
1613 rxbuf->dma_addr + pkt_off, 1613 rxbuf->dma_addr + pkt_off,
1614 pkt_len, DMA_FROM_DEVICE); 1614 pkt_len, DMA_BIDIRECTIONAL);
1615 act = nfp_net_run_xdp(xdp_prog, rxbuf->frag + data_off, 1615 act = nfp_net_run_xdp(xdp_prog, rxbuf->frag + data_off,
1616 pkt_len); 1616 pkt_len);
1617 switch (act) { 1617 switch (act) {
@@ -2198,7 +2198,8 @@ static int __nfp_net_set_config_and_enable(struct nfp_net *nn)
2198 nfp_net_write_mac_addr(nn); 2198 nfp_net_write_mac_addr(nn);
2199 2199
2200 nn_writel(nn, NFP_NET_CFG_MTU, nn->netdev->mtu); 2200 nn_writel(nn, NFP_NET_CFG_MTU, nn->netdev->mtu);
2201 nn_writel(nn, NFP_NET_CFG_FLBUFSZ, nn->fl_bufsz); 2201 nn_writel(nn, NFP_NET_CFG_FLBUFSZ,
2202 nn->fl_bufsz - NFP_NET_RX_BUF_NON_DATA);
2202 2203
2203 /* Enable device */ 2204 /* Enable device */
2204 new_ctrl |= NFP_NET_CFG_CTRL_ENABLE; 2205 new_ctrl |= NFP_NET_CFG_CTRL_ENABLE;