summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/rswitch.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/rswitch.c b/drivers/net/rswitch.c
index 58fd55c996f..f53c504367a 100644
--- a/drivers/net/rswitch.c
+++ b/drivers/net/rswitch.c
@@ -365,6 +365,9 @@ static int rswitch_mii_access_c45(struct rswitch_etha *etha, bool read,
if (devad == 0xffffffff)
return 0;
+ /* Set Station Management Mode : Clause 45 */
+ setbits_le32(etha->addr + MPSM, MPSM_MFF_C45);
+
/* Clear completion flags */
writel(MMIS1_CLEAR_FLAGS, etha->addr + MMIS1);
@@ -429,9 +432,6 @@ static int rswitch_mii_read_c45(struct mii_dev *miidev, int phyad, int devad, in
MPIC_PSMCS_MASK | MPIC_PSMHT_MASK,
MPIC_MDC_CLK_SET);
- /* Set Station Management Mode : Clause 45 */
- setbits_le32(etha->addr + MPSM, MPSM_MFF_C45);
-
/* Access PHY register */
val = rswitch_mii_access_c45(etha, true, phyad, devad, regad, 0);
@@ -460,9 +460,6 @@ int rswitch_mii_write_c45(struct mii_dev *miidev, int phyad, int devad, int rega
MPIC_PSMCS_MASK | MPIC_PSMHT_MASK,
MPIC_MDC_CLK_SET);
- /* Set Station Management Mode : Clause 45 */
- setbits_le32(etha->addr + MPSM, MPSM_MFF_C45);
-
/* Access PHY register */
rswitch_mii_access_c45(etha, false, phyad, devad, regad, data);