Commit a420b757 authored by Russell King (Oracle)'s avatar Russell King (Oracle) Committed by David S. Miller

net: dsa: sja1105: populate supported_interfaces

Populate the supported interfaces bitmap for the SJA1105 DSA switch.

This switch only supports a static model of configuration, so we
restrict the interface modes to the configured setting.
Reviewed-by: default avatarVladimir Oltean &lt;olteanv@gmail.com&gt;                                Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Vladimir Oltean <vladimir.    │
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 28a3f060
...@@ -1412,6 +1412,18 @@ static void sja1105_mac_link_up(struct dsa_switch *ds, int port, ...@@ -1412,6 +1412,18 @@ static void sja1105_mac_link_up(struct dsa_switch *ds, int port,
sja1105_inhibit_tx(priv, BIT(port), false); sja1105_inhibit_tx(priv, BIT(port), false);
} }
static void sja1105_phylink_get_caps(struct dsa_switch *ds, int port,
struct phylink_config *config)
{
struct sja1105_private *priv = ds->priv;
/* The SJA1105 MAC programming model is through the static config
* (the xMII Mode table cannot be dynamically reconfigured), and
* we have to program that early.
*/
__set_bit(priv->phy_mode[port], config->supported_interfaces);
}
static void sja1105_phylink_validate(struct dsa_switch *ds, int port, static void sja1105_phylink_validate(struct dsa_switch *ds, int port,
unsigned long *supported, unsigned long *supported,
struct phylink_link_state *state) struct phylink_link_state *state)
...@@ -3152,6 +3164,7 @@ static const struct dsa_switch_ops sja1105_switch_ops = { ...@@ -3152,6 +3164,7 @@ static const struct dsa_switch_ops sja1105_switch_ops = {
.set_ageing_time = sja1105_set_ageing_time, .set_ageing_time = sja1105_set_ageing_time,
.port_change_mtu = sja1105_change_mtu, .port_change_mtu = sja1105_change_mtu,
.port_max_mtu = sja1105_get_max_mtu, .port_max_mtu = sja1105_get_max_mtu,
.phylink_get_caps = sja1105_phylink_get_caps,
.phylink_validate = sja1105_phylink_validate, .phylink_validate = sja1105_phylink_validate,
.phylink_mac_config = sja1105_mac_config, .phylink_mac_config = sja1105_mac_config,
.phylink_mac_link_up = sja1105_mac_link_up, .phylink_mac_link_up = sja1105_mac_link_up,
......
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