Commit c8fc84ed authored by Alexander Aring's avatar Alexander Aring Committed by Marcel Holtmann

mac802154: add hardware address filter flag

Overdue introduction for address filtering hardware flag. Furthermore we
will check and set address filtering on interface up. This patch
prepares that we can check if an transceiver supports address filtering
option. Currently all mainline driver supports hardware address filtering.
Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Cc: Alan Ott <alan@signal11.us>
Cc: Varka Bhadram <varkabhadram@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent ab79be3e
...@@ -1387,7 +1387,8 @@ at86rf230_detect_device(struct at86rf230_local *lp) ...@@ -1387,7 +1387,8 @@ at86rf230_detect_device(struct at86rf230_local *lp)
lp->hw->extra_tx_headroom = 0; lp->hw->extra_tx_headroom = 0;
lp->hw->flags = IEEE802154_HW_OMIT_CKSUM | IEEE802154_HW_AACK | lp->hw->flags = IEEE802154_HW_OMIT_CKSUM | IEEE802154_HW_AACK |
IEEE802154_HW_TXPOWER | IEEE802154_HW_ARET; IEEE802154_HW_TXPOWER | IEEE802154_HW_ARET |
IEEE802154_HW_AFILT;
switch (part) { switch (part) {
case 2: case 2:
......
...@@ -654,7 +654,8 @@ static int cc2520_register(struct cc2520_private *priv) ...@@ -654,7 +654,8 @@ static int cc2520_register(struct cc2520_private *priv)
/* We do support only 2.4 Ghz */ /* We do support only 2.4 Ghz */
priv->hw->phy->channels_supported[0] = 0x7FFF800; priv->hw->phy->channels_supported[0] = 0x7FFF800;
priv->hw->flags = IEEE802154_HW_OMIT_CKSUM | IEEE802154_HW_AACK; priv->hw->flags = IEEE802154_HW_OMIT_CKSUM | IEEE802154_HW_AACK |
IEEE802154_HW_AFILT;
dev_vdbg(&priv->spi->dev, "registered cc2520\n"); dev_vdbg(&priv->spi->dev, "registered cc2520\n");
ret = ieee802154_register_hw(priv->hw); ret = ieee802154_register_hw(priv->hw);
......
...@@ -751,7 +751,8 @@ static int mrf24j40_probe(struct spi_device *spi) ...@@ -751,7 +751,8 @@ static int mrf24j40_probe(struct spi_device *spi)
devrec->hw->priv = devrec; devrec->hw->priv = devrec;
devrec->hw->parent = &devrec->spi->dev; devrec->hw->parent = &devrec->spi->dev;
devrec->hw->phy->channels_supported[0] = CHANNEL_MASK; devrec->hw->phy->channels_supported[0] = CHANNEL_MASK;
devrec->hw->flags = IEEE802154_HW_OMIT_CKSUM|IEEE802154_HW_AACK; devrec->hw->flags = IEEE802154_HW_OMIT_CKSUM | IEEE802154_HW_AACK |
IEEE802154_HW_AFILT;
dev_dbg(printdev(devrec), "registered mrf24j40\n"); dev_dbg(printdev(devrec), "registered mrf24j40\n");
ret = ieee802154_register_hw(devrec->hw); ret = ieee802154_register_hw(devrec->hw);
......
...@@ -90,6 +90,8 @@ struct ieee802154_hw { ...@@ -90,6 +90,8 @@ struct ieee802154_hw {
#define IEEE802154_HW_CSMA_PARAMS 0x00000040 #define IEEE802154_HW_CSMA_PARAMS 0x00000040
/* Indicates that transceiver will support ARET frame retries setting. */ /* Indicates that transceiver will support ARET frame retries setting. */
#define IEEE802154_HW_FRAME_RETRIES 0x00000080 #define IEEE802154_HW_FRAME_RETRIES 0x00000080
/* Indicates that transceiver will support hardware address filter setting. */
#define IEEE802154_HW_AFILT 0x00000100
/* This groups the most common CSMA support fields into one. */ /* This groups the most common CSMA support fields into one. */
#define IEEE802154_HW_CSMA (IEEE802154_HW_CCA_MODE | \ #define IEEE802154_HW_CSMA (IEEE802154_HW_CCA_MODE | \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment