123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- From a46aec02bc06ac2c33f326339e4ef88c735dc30d Mon Sep 17 00:00:00 2001
- From: Ansuel Smith <[email protected]>
- Date: Fri, 14 May 2021 23:00:13 +0200
- Subject: [PATCH] net: dsa: qca8k: pass switch_revision info to phy dev_flags
- Define get_phy_flags to pass switch_Revision needed to tweak the
- internal PHY with debug values based on the revision.
- Signed-off-by: Ansuel Smith <[email protected]>
- Reviewed-by: Florian Fainelli <[email protected]>
- Signed-off-by: David S. Miller <[email protected]>
- ---
- drivers/net/dsa/qca8k.c | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
- --- a/drivers/net/dsa/qca8k.c
- +++ b/drivers/net/dsa/qca8k.c
- @@ -1740,6 +1740,22 @@ qca8k_port_vlan_del(struct dsa_switch *d
- return ret;
- }
-
- +static u32 qca8k_get_phy_flags(struct dsa_switch *ds, int port)
- +{
- + struct qca8k_priv *priv = ds->priv;
- +
- + /* Communicate to the phy internal driver the switch revision.
- + * Based on the switch revision different values needs to be
- + * set to the dbg and mmd reg on the phy.
- + * The first 2 bit are used to communicate the switch revision
- + * to the phy driver.
- + */
- + if (port > 0 && port < 6)
- + return priv->switch_revision;
- +
- + return 0;
- +}
- +
- static enum dsa_tag_protocol
- qca8k_get_tag_protocol(struct dsa_switch *ds, int port,
- enum dsa_tag_protocol mp)
- @@ -1774,6 +1790,7 @@ static const struct dsa_switch_ops qca8k
- .phylink_mac_config = qca8k_phylink_mac_config,
- .phylink_mac_link_down = qca8k_phylink_mac_link_down,
- .phylink_mac_link_up = qca8k_phylink_mac_link_up,
- + .get_phy_flags = qca8k_get_phy_flags,
- };
-
- static int qca8k_read_switch_id(struct qca8k_priv *priv)
|