X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Ffiles%2Fdrivers%2Fnet%2Fphy%2Fmvsw61xx.c;fp=target%2Flinux%2Fgeneric%2Ffiles%2Fdrivers%2Fnet%2Fphy%2Fmvsw61xx.c;h=7ddb13e0d44da4f69e6422bb55235e490f2e8fce;hb=0b2cbeca7a450e6ea44c6459e59abec41a7c1521;hp=865bd1147bedf1ff1f2f135f32baf8f774060f85;hpb=1e39f3aef8589eafeea6428e1a5287f30094ffa5;p=openwrt%2Fstaging%2Fchunkeey.git 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); }