diff options
author | Luka Perkov <luka@openwrt.org> | 2015-01-11 17:20:06 +0000 |
---|---|---|
committer | Luka Perkov <luka@openwrt.org> | 2015-01-11 17:20:06 +0000 |
commit | 245edbac0b054df5d1f914e55282511476728c10 (patch) | |
tree | 16affe448867739752d6872674bccc9e02018ab4 /target/linux/generic/files/drivers/net/phy/mvsw61xx.c | |
parent | 418bc42665b747bcdcb8226a42d0686425e2da82 (diff) | |
download | master-187ad058-245edbac0b054df5d1f914e55282511476728c10.tar.gz master-187ad058-245edbac0b054df5d1f914e55282511476728c10.tar.bz2 master-187ad058-245edbac0b054df5d1f914e55282511476728c10.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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43937 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/mvsw61xx.c')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/mvsw61xx.c | 14 |
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); } |