[PATCH net-next v2 5/5] net: bcmgenet: Interrogate PHY for WAKE_FILTER programming

From: Florian Fainelli
Date: Thu Oct 26 2023 - 18:56:03 EST


Determine whether the PHY can support waking up from the user programmed
network filter, and if it can utilize it.

Signed-off-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 9282403d1bf6..9d01c13552eb 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -1524,6 +1524,14 @@ static int bcmgenet_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
struct bcmgenet_priv *priv = netdev_priv(dev);
int err = 0;

+ if (dev->phydev) {
+ err = phy_ethtool_set_rxnfc(dev->phydev, cmd);
+ if (err != -EOPNOTSUPP)
+ return err;
+
+ err = 0;
+ }
+
switch (cmd->cmd) {
case ETHTOOL_SRXCLSRLINS:
err = bcmgenet_insert_flow(dev, cmd);
@@ -1579,6 +1587,14 @@ static int bcmgenet_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
int err = 0;
int i = 0;

+ if (dev->phydev) {
+ err = phy_ethtool_get_rxnfc(dev->phydev, cmd, rule_locs);
+ if (err != -EOPNOTSUPP)
+ return err;
+
+ err = 0;
+ }
+
switch (cmd->cmd) {
case ETHTOOL_GRXRINGS:
cmd->data = priv->hw_params->rx_queues ?: 1;
--
2.34.1

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature