From: David Miller <da...@davemloft.net> Date: Tue, 06 Nov 2018 15:09:54 -0800 (PST)
> From: Christian Lamparter <chunk...@gmail.com> > Date: Tue, 6 Nov 2018 23:27:49 +0100 > >> @@ -1435,6 +1436,22 @@ static inline netdev_tx_t emac_xmit_finish(struct >> emac_instance *dev, int len) >> return NETDEV_TX_OK; >> } >> >> +static inline u16 emac_tx_vlan(struct emac_instance *dev, struct sk_buff >> *skb) >> +{ >> + /* Handle VLAN TPID and TCI insert if this is a VLAN skb */ >> + if (emac_has_feature(dev, EMAC_FTR_HAS_VLAN_CTAG_TX) && >> + skb_vlan_tag_present(skb)) { >> + struct emac_regs __iomem *p = dev->emacp; >> + >> + /* update the VLAN TCI */ >> + out_be32(&p->vtci, (u32)skb_vlan_tag_get(skb)); > > Hmmm, how does this vtci register work? I'm tossing your patches since you refuse to answer my question and explain why this works properly. Sorry.