Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: drivers/net/ethernet/renesas/ravb_main.c kernel/bpf/syscall.c net/ipv4/ipmr.c All three conflicts were cases of overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Registers */
|
||||
#define MVNETA_RXQ_CONFIG_REG(q) (0x1400 + ((q) << 2))
|
||||
#define MVNETA_RXQ_HW_BUF_ALLOC BIT(1)
|
||||
#define MVNETA_RXQ_HW_BUF_ALLOC BIT(0)
|
||||
#define MVNETA_RXQ_PKT_OFFSET_ALL_MASK (0xf << 8)
|
||||
#define MVNETA_RXQ_PKT_OFFSET_MASK(offs) ((offs) << 8)
|
||||
#define MVNETA_RXQ_THRESHOLD_REG(q) (0x14c0 + ((q) << 2))
|
||||
@@ -62,6 +62,7 @@
|
||||
#define MVNETA_WIN_SIZE(w) (0x2204 + ((w) << 3))
|
||||
#define MVNETA_WIN_REMAP(w) (0x2280 + ((w) << 2))
|
||||
#define MVNETA_BASE_ADDR_ENABLE 0x2290
|
||||
#define MVNETA_ACCESS_PROTECT_ENABLE 0x2294
|
||||
#define MVNETA_PORT_CONFIG 0x2400
|
||||
#define MVNETA_UNI_PROMISC_MODE BIT(0)
|
||||
#define MVNETA_DEF_RXQ(q) ((q) << 1)
|
||||
@@ -159,7 +160,7 @@
|
||||
|
||||
#define MVNETA_INTR_ENABLE 0x25b8
|
||||
#define MVNETA_TXQ_INTR_ENABLE_ALL_MASK 0x0000ff00
|
||||
#define MVNETA_RXQ_INTR_ENABLE_ALL_MASK 0xff000000 // note: neta says it's 0x000000FF
|
||||
#define MVNETA_RXQ_INTR_ENABLE_ALL_MASK 0x000000ff
|
||||
|
||||
#define MVNETA_RXQ_CMD 0x2680
|
||||
#define MVNETA_RXQ_DISABLE_SHIFT 8
|
||||
@@ -242,6 +243,7 @@
|
||||
#define MVNETA_VLAN_TAG_LEN 4
|
||||
|
||||
#define MVNETA_CPU_D_CACHE_LINE_SIZE 32
|
||||
#define MVNETA_TX_CSUM_DEF_SIZE 1600
|
||||
#define MVNETA_TX_CSUM_MAX_SIZE 9800
|
||||
#define MVNETA_ACC_MODE_EXT 1
|
||||
|
||||
@@ -1598,12 +1600,16 @@ static int mvneta_rx(struct mvneta_port *pp, int rx_todo,
|
||||
}
|
||||
|
||||
skb = build_skb(data, pp->frag_size > PAGE_SIZE ? 0 : pp->frag_size);
|
||||
if (!skb)
|
||||
goto err_drop_frame;
|
||||
|
||||
/* After refill old buffer has to be unmapped regardless
|
||||
* the skb is successfully built or not.
|
||||
*/
|
||||
dma_unmap_single(dev->dev.parent, phys_addr,
|
||||
MVNETA_RX_BUF_SIZE(pp->pkt_size), DMA_FROM_DEVICE);
|
||||
|
||||
if (!skb)
|
||||
goto err_drop_frame;
|
||||
|
||||
rcvd_pkts++;
|
||||
rcvd_bytes += rx_bytes;
|
||||
|
||||
@@ -3243,6 +3249,7 @@ static void mvneta_conf_mbus_windows(struct mvneta_port *pp,
|
||||
}
|
||||
|
||||
mvreg_write(pp, MVNETA_BASE_ADDR_ENABLE, win_enable);
|
||||
mvreg_write(pp, MVNETA_ACCESS_PROTECT_ENABLE, win_protect);
|
||||
}
|
||||
|
||||
/* Power up the port */
|
||||
@@ -3299,6 +3306,7 @@ static int mvneta_probe(struct platform_device *pdev)
|
||||
char hw_mac_addr[ETH_ALEN];
|
||||
const char *mac_from;
|
||||
const char *managed;
|
||||
int tx_csum_limit;
|
||||
int phy_mode;
|
||||
int err;
|
||||
int cpu;
|
||||
@@ -3399,8 +3407,21 @@ static int mvneta_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
if (of_device_is_compatible(dn, "marvell,armada-370-neta"))
|
||||
pp->tx_csum_limit = 1600;
|
||||
if (!of_property_read_u32(dn, "tx-csum-limit", &tx_csum_limit)) {
|
||||
if (tx_csum_limit < 0 ||
|
||||
tx_csum_limit > MVNETA_TX_CSUM_MAX_SIZE) {
|
||||
tx_csum_limit = MVNETA_TX_CSUM_DEF_SIZE;
|
||||
dev_info(&pdev->dev,
|
||||
"Wrong TX csum limit in DT, set to %dB\n",
|
||||
MVNETA_TX_CSUM_DEF_SIZE);
|
||||
}
|
||||
} else if (of_device_is_compatible(dn, "marvell,armada-370-neta")) {
|
||||
tx_csum_limit = MVNETA_TX_CSUM_DEF_SIZE;
|
||||
} else {
|
||||
tx_csum_limit = MVNETA_TX_CSUM_MAX_SIZE;
|
||||
}
|
||||
|
||||
pp->tx_csum_limit = tx_csum_limit;
|
||||
|
||||
pp->tx_ring_size = MVNETA_MAX_TXD;
|
||||
pp->rx_ring_size = MVNETA_MAX_RXD;
|
||||
|
Viittaa uudesa ongelmassa
Block a user