Hi all, Today's linux-next merge of the net-next tree got conflicts in: drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c drivers/net/ethernet/stmicro/stmmac/hwif.h between commit: 4205c88eaf17 ("net: stmmac: Set DMA buffer size in HW") from the net tree and commit: 1f705bc61aee ("net: stmmac: Add support for CBS QDISC") from the net-next tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c index 65bc3556bd8f,6e32f8a3710b..000000000000 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c @@@ -407,16 -407,19 +407,29 @@@ static void dwmac4_enable_tso(void __io } } +static void dwmac4_set_bfsize(void __iomem *ioaddr, int bfsize, u32 chan) +{ + u32 value = readl(ioaddr + DMA_CHAN_RX_CONTROL(chan)); + + value &= ~DMA_RBSZ_MASK; + value |= (bfsize << DMA_RBSZ_SHIFT) & DMA_RBSZ_MASK; + + writel(value, ioaddr + DMA_CHAN_RX_CONTROL(chan)); +} + + static void dwmac4_qmode(void __iomem *ioaddr, u32 channel, u8 qmode) + { + u32 mtl_tx_op = readl(ioaddr + MTL_CHAN_TX_OP_MODE(channel)); + + mtl_tx_op &= ~MTL_OP_MODE_TXQEN_MASK; + if (qmode != MTL_QUEUE_AVB) + mtl_tx_op |= MTL_OP_MODE_TXQEN; + else + mtl_tx_op |= MTL_OP_MODE_TXQEN_AV; + + writel(mtl_tx_op, ioaddr + MTL_CHAN_TX_OP_MODE(channel)); + } + const struct stmmac_dma_ops dwmac4_dma_ops = { .reset = dwmac4_dma_reset, .init = dwmac4_dma_init, @@@ -441,7 -444,7 +454,8 @@@ .set_rx_tail_ptr = dwmac4_set_rx_tail_ptr, .set_tx_tail_ptr = dwmac4_set_tx_tail_ptr, .enable_tso = dwmac4_enable_tso, + .set_bfsize = dwmac4_set_bfsize, + .qmode = dwmac4_qmode, }; const struct stmmac_dma_ops dwmac410_dma_ops = { @@@ -468,5 -471,5 +482,6 @@@ .set_rx_tail_ptr = dwmac4_set_rx_tail_ptr, .set_tx_tail_ptr = dwmac4_set_tx_tail_ptr, .enable_tso = dwmac4_enable_tso, + .set_bfsize = dwmac4_set_bfsize, + .qmode = dwmac4_qmode, }; diff --cc drivers/net/ethernet/stmicro/stmmac/hwif.h index fe8b536b13f8,e2a965790648..000000000000 --- a/drivers/net/ethernet/stmicro/stmmac/hwif.h +++ b/drivers/net/ethernet/stmicro/stmmac/hwif.h @@@ -183,7 -183,7 +183,8 @@@ struct stmmac_dma_ops void (*set_rx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); void (*set_tx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan); void (*enable_tso)(void __iomem *ioaddr, bool en, u32 chan); + void (*set_bfsize)(void __iomem *ioaddr, int bfsize, u32 chan); + void (*qmode)(void __iomem *ioaddr, u32 channel, u8 qmode); }; #define stmmac_reset(__priv, __args...) \ @@@ -236,8 -236,8 +237,10 @@@ stmmac_do_void_callback(__priv, dma, set_tx_tail_ptr, __args) #define stmmac_enable_tso(__priv, __args...) \ stmmac_do_void_callback(__priv, dma, enable_tso, __args) +#define stmmac_set_dma_bfsize(__priv, __args...) \ + stmmac_do_void_callback(__priv, dma, set_bfsize, __args) + #define stmmac_dma_qmode(__priv, __args...) \ + stmmac_do_void_callback(__priv, dma, qmode, __args) struct mac_device_info; struct net_device;