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: v6.3-rc1~162^2~266 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=75943bc9701bdd438aa0513c4fcb51923e020289;p=thirdparty%2Fkernel%2Flinux.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 6c8c78018ce6a..139fe66f8bcd2 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; }