Commit 544435c9 authored by Colin Foster's avatar Colin Foster Committed by David S. Miller
Browse files

net: dsa: felix: allow configurable phylink_mac_config



If a user of the Felix driver has a port running in SGMII / QSGMII mode, it
will need to utilize phylink_mac_config(). Add this configurability.

Signed-off-by: default avatarColin Foster <colin.foster@in-advantage.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3821fd01
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -1056,6 +1056,17 @@ static void felix_phylink_get_caps(struct dsa_switch *ds, int port,
		  config->supported_interfaces);
}

static void felix_phylink_mac_config(struct dsa_switch *ds, int port,
				     unsigned int mode,
				     const struct phylink_link_state *state)
{
	struct ocelot *ocelot = ds->priv;
	struct felix *felix = ocelot_to_felix(ocelot);

	if (felix->info->phylink_mac_config)
		felix->info->phylink_mac_config(ocelot, port, mode, state);
}

static struct phylink_pcs *felix_phylink_mac_select_pcs(struct dsa_switch *ds,
							int port,
							phy_interface_t iface)
@@ -2088,6 +2099,7 @@ const struct dsa_switch_ops felix_switch_ops = {
	.get_sset_count			= felix_get_sset_count,
	.get_ts_info			= felix_get_ts_info,
	.phylink_get_caps		= felix_phylink_get_caps,
	.phylink_mac_config		= felix_phylink_mac_config,
	.phylink_mac_select_pcs		= felix_phylink_mac_select_pcs,
	.phylink_mac_link_down		= felix_phylink_mac_link_down,
	.phylink_mac_link_up		= felix_phylink_mac_link_up,
+3 −0
Original line number Diff line number Diff line
@@ -58,6 +58,9 @@ struct felix_info {
	void	(*tas_guard_bands_update)(struct ocelot *ocelot, int port);
	void	(*port_sched_speed_set)(struct ocelot *ocelot, int port,
					u32 speed);
	void	(*phylink_mac_config)(struct ocelot *ocelot, int port,
				      unsigned int mode,
				      const struct phylink_link_state *state);
};

/* Methods for initializing the hardware resources specific to a tagging