From: Sergei Antonov Date: Mon, 16 Jan 2023 18:27:16 +0000 (+0300) Subject: net: ftmac100: handle netdev flags IFF_PROMISC and IFF_ALLMULTI X-Git-Tag: io_uring-6.3-2023-03-03~13^2~266 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=75943bc9701bdd438aa0513c4fcb51923e020289;p=linux-block.git net: ftmac100: handle netdev flags IFF_PROMISC and IFF_ALLMULTI When netdev->flags has IFF_PROMISC or IFF_ALLMULTI, set the corresponding bits in the MAC Control Register (MACCR). This change is based on code from the ftgmac100 driver, see ftgmac100_start_hw() in ftgmac100.c Signed-off-by: Sergei Antonov Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/faraday/ftmac100.c b/drivers/net/ethernet/faraday/ftmac100.c index 6c8c78018ce6..139fe66f8bcd 100644 --- a/drivers/net/ethernet/faraday/ftmac100.c +++ b/drivers/net/ethernet/faraday/ftmac100.c @@ -182,6 +182,12 @@ static int ftmac100_start_hw(struct ftmac100 *priv) if (netdev->mtu > ETH_DATA_LEN) maccr |= FTMAC100_MACCR_RX_FTL; + /* Add other bits as needed */ + if (netdev->flags & IFF_PROMISC) + maccr |= FTMAC100_MACCR_RCV_ALL; + if (netdev->flags & IFF_ALLMULTI) + maccr |= FTMAC100_MACCR_RX_MULTIPKT; + iowrite32(maccr, priv->base + FTMAC100_OFFSET_MACCR); return 0; }