net: dsa: b53: Support setting learning on port
commit f9b3827ee66cfcf297d0acd6ecf33653a5f297ef upstream. Add support for being able to set the learning attribute on port, and make sure that the standalone ports start up with learning disabled. We can remove the code in bcm_sf2 that configured the ports learning attribute because we want the standalone ports to have learning disabled by default and port 7 cannot be bridged, so its learning attribute will not change past its initial configuration. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
0f6cab2350
commit
dd0b7edb77
@@ -222,23 +222,10 @@ static int bcm_sf2_port_setup(struct dsa_switch *ds, int port,
|
||||
reg &= ~P_TXQ_PSM_VDD(port);
|
||||
core_writel(priv, reg, CORE_MEM_PSM_VDD_CTRL);
|
||||
|
||||
/* Enable learning */
|
||||
reg = core_readl(priv, CORE_DIS_LEARN);
|
||||
reg &= ~BIT(port);
|
||||
core_writel(priv, reg, CORE_DIS_LEARN);
|
||||
|
||||
/* Enable Broadcom tags for that port if requested */
|
||||
if (priv->brcm_tag_mask & BIT(port)) {
|
||||
if (priv->brcm_tag_mask & BIT(port))
|
||||
b53_brcm_hdr_setup(ds, port);
|
||||
|
||||
/* Disable learning on ASP port */
|
||||
if (port == 7) {
|
||||
reg = core_readl(priv, CORE_DIS_LEARN);
|
||||
reg |= BIT(port);
|
||||
core_writel(priv, reg, CORE_DIS_LEARN);
|
||||
}
|
||||
}
|
||||
|
||||
/* Configure Traffic Class to QoS mapping, allow each priority to map
|
||||
* to a different queue number
|
||||
*/
|
||||
|
Reference in New Issue
Block a user