summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers/net/phy/mvsw61xx.c
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2015-01-11 17:20:06 +0000
committerLuka Perkov <luka@openwrt.org>2015-01-11 17:20:06 +0000
commit0b2cbeca7a450e6ea44c6459e59abec41a7c1521 (patch)
treec9e5c8b1d57f4267b917468da1c267c7f26309fc /target/linux/generic/files/drivers/net/phy/mvsw61xx.c
parent1e39f3aef8589eafeea6428e1a5287f30094ffa5 (diff)
downloadmaster-31e0f0ae-0b2cbeca7a450e6ea44c6459e59abec41a7c1521.tar.gz
master-31e0f0ae-0b2cbeca7a450e6ea44c6459e59abec41a7c1521.tar.bz2
master-31e0f0ae-0b2cbeca7a450e6ea44c6459e59abec41a7c1521.zip
mvsw61xx: clean up and expand register definitions
- eliminate MV_CPUPORT; not necessary since we define the CPU port(s) via Device Tree - add STU and expand VTU operations - update register names to match those of 88E61xx rather than mvswitch's 88E6060 - use more consistent formatting Signed-off-by: Claudio Leite <leitec@staticky.com> SVN-Revision: 43937
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/mvsw61xx.c')
-rw-r--r--target/linux/generic/files/drivers/net/phy/mvsw61xx.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/mvsw61xx.c b/target/linux/generic/files/drivers/net/phy/mvsw61xx.c
index 865bd1147b..7ddb13e0d4 100644
--- a/target/linux/generic/files/drivers/net/phy/mvsw61xx.c
+++ b/target/linux/generic/files/drivers/net/phy/mvsw61xx.c
@@ -454,7 +454,7 @@ static int mvsw61xx_vtu_program(struct switch_dev *dev)
mvsw61xx_wait_mask_s(dev, MV_GLOBALREG(VTU_OP),
MV_VTUOP_INPROGRESS, 0);
sw16(dev, MV_GLOBALREG(VTU_OP),
- MV_VTUOP_INPROGRESS | MV_VTUOP_VALID);
+ MV_VTUOP_INPROGRESS | MV_VTUOP_PURGE);
/* Write VLAN table */
for (i = 1; i < dev->vlans; i++) {
@@ -467,7 +467,7 @@ static int mvsw61xx_vtu_program(struct switch_dev *dev)
MV_VTUOP_INPROGRESS, 0);
sw16(dev, MV_GLOBALREG(VTU_VID),
- MV_VTUOP_VALID | state->vlans[i].vid);
+ MV_VTU_VID_VALID | state->vlans[i].vid);
v1 = (u16)(state->vlans[i].port_mode & 0xffff);
v2 = (u16)((state->vlans[i].port_mode >> 16) & 0xffff);
@@ -585,7 +585,7 @@ static int mvsw61xx_reset(struct switch_dev *dev)
/* Disable all ports before reset */
for (i = 0; i < dev->ports; i++) {
reg = sr16(dev, MV_PORTREG(CONTROL, i)) &
- ~MV_PORTCTRL_ENABLED;
+ ~MV_PORTCTRL_FORWARDING;
sw16(dev, MV_PORTREG(CONTROL, i), reg);
}
@@ -602,9 +602,9 @@ static int mvsw61xx_reset(struct switch_dev *dev)
state->ports[i].pvid = 0;
/* Force flow control off */
- reg = sr16(dev, MV_PORTREG(FORCE, i)) & ~MV_FORCE_FC_MASK;
- reg |= MV_FORCE_FC_DISABLE;
- sw16(dev, MV_PORTREG(FORCE, i), reg);
+ reg = sr16(dev, MV_PORTREG(PHYCTL, i)) & ~MV_PHYCTL_FC_MASK;
+ reg |= MV_PHYCTL_FC_DISABLE;
+ sw16(dev, MV_PORTREG(PHYCTL, i), reg);
/* Set port association vector */
sw16(dev, MV_PORTREG(ASSOC, i), (1 << i));
@@ -624,7 +624,7 @@ static int mvsw61xx_reset(struct switch_dev *dev)
/* Re-enable ports */
for (i = 0; i < dev->ports; i++) {
reg = sr16(dev, MV_PORTREG(CONTROL, i)) |
- MV_PORTCTRL_ENABLED;
+ MV_PORTCTRL_FORWARDING;
sw16(dev, MV_PORTREG(CONTROL, i), reg);
}