Loading drivers/net/sfc/mdio_10g.c +13 −11 Original line number Diff line number Diff line Loading @@ -121,16 +121,18 @@ int mdio_clause45_wait_reset_mmds(struct efx_nic *efx, int mdio_clause45_check_mmds(struct efx_nic *efx, unsigned int mmd_mask, unsigned int fatal_mask) { int devices, mmd = 0; int probe_mmd; u32 devices; int mmd = 0, probe_mmd; /* Historically we have probed the PHYXS to find out what devices are * present,but that doesn't work so well if the PHYXS isn't expected * to exist, if so just find the first item in the list supplied. */ probe_mmd = (mmd_mask & MDIO_MMDREG_DEVS0_PHYXS) ? MDIO_MMD_PHYXS : probe_mmd = (mmd_mask & MDIO_MMDREG_DEVS_PHYXS) ? MDIO_MMD_PHYXS : __ffs(mmd_mask); devices = mdio_clause45_read(efx, efx->mii.phy_id, probe_mmd, MDIO_MMDREG_DEVS0); devices = (mdio_clause45_read(efx, efx->mii.phy_id, probe_mmd, MDIO_MMDREG_DEVS0) | mdio_clause45_read(efx, efx->mii.phy_id, probe_mmd, MDIO_MMDREG_DEVS1) << 16); /* Check all the expected MMDs are present */ if (devices < 0) { Loading Loading @@ -175,14 +177,14 @@ bool mdio_clause45_links_ok(struct efx_nic *efx, unsigned int mmd_mask) else if (efx_phy_mode_disabled(efx->phy_mode)) return false; else if (efx->loopback_mode == LOOPBACK_PHYXS) mmd_mask &= ~(MDIO_MMDREG_DEVS0_PHYXS | MDIO_MMDREG_DEVS0_PCS | MDIO_MMDREG_DEVS0_PMAPMD); mmd_mask &= ~(MDIO_MMDREG_DEVS_PHYXS | MDIO_MMDREG_DEVS_PCS | MDIO_MMDREG_DEVS_PMAPMD); else if (efx->loopback_mode == LOOPBACK_PCS) mmd_mask &= ~(MDIO_MMDREG_DEVS0_PCS | MDIO_MMDREG_DEVS0_PMAPMD); mmd_mask &= ~(MDIO_MMDREG_DEVS_PCS | MDIO_MMDREG_DEVS_PMAPMD); else if (efx->loopback_mode == LOOPBACK_PMAPMD) mmd_mask &= ~MDIO_MMDREG_DEVS0_PMAPMD; mmd_mask &= ~MDIO_MMDREG_DEVS_PMAPMD; while (mmd_mask) { if (mmd_mask & 1) { Loading drivers/net/sfc/mdio_10g.h +4 −4 Original line number Diff line number Diff line Loading @@ -73,14 +73,14 @@ #define MDIO_ID_MODEL(_id32) ((_id32 >> 4) & 0x3f) #define MDIO_ID_OUI(_id32) (_id32 >> 10) /* Bits in MMDREG_DEVS0. Someone thoughtfully layed things out /* Bits in MMDREG_DEVS0/1. Someone thoughtfully layed things out * so the 'bit present' bit number of an MMD is the number of * that MMD */ #define DEV_PRESENT_BIT(_b) (1 << _b) #define MDIO_MMDREG_DEVS0_PHYXS DEV_PRESENT_BIT(MDIO_MMD_PHYXS) #define MDIO_MMDREG_DEVS0_PCS DEV_PRESENT_BIT(MDIO_MMD_PCS) #define MDIO_MMDREG_DEVS0_PMAPMD DEV_PRESENT_BIT(MDIO_MMD_PMAPMD) #define MDIO_MMDREG_DEVS_PHYXS DEV_PRESENT_BIT(MDIO_MMD_PHYXS) #define MDIO_MMDREG_DEVS_PCS DEV_PRESENT_BIT(MDIO_MMD_PCS) #define MDIO_MMDREG_DEVS_PMAPMD DEV_PRESENT_BIT(MDIO_MMD_PMAPMD) /* Bits in MMDREG_STAT2 */ #define MDIO_MMDREG_STAT2_PRESENT_VAL (2) Loading drivers/net/sfc/tenxpress.c +3 −3 Original line number Diff line number Diff line Loading @@ -19,9 +19,9 @@ /* We expect these MMDs to be in the package */ /* AN not here as mdio_check_mmds() requires STAT2 support */ #define TENXPRESS_REQUIRED_DEVS (MDIO_MMDREG_DEVS0_PMAPMD | \ MDIO_MMDREG_DEVS0_PCS | \ MDIO_MMDREG_DEVS0_PHYXS) #define TENXPRESS_REQUIRED_DEVS (MDIO_MMDREG_DEVS_PMAPMD | \ MDIO_MMDREG_DEVS_PCS | \ MDIO_MMDREG_DEVS_PHYXS) #define TENXPRESS_LOOPBACKS ((1 << LOOPBACK_PHYXS) | \ (1 << LOOPBACK_PCS) | \ Loading drivers/net/sfc/xfp_phy.c +4 −4 Original line number Diff line number Diff line Loading @@ -19,9 +19,9 @@ #include "phy.h" #include "mac.h" #define XFP_REQUIRED_DEVS (MDIO_MMDREG_DEVS0_PCS | \ MDIO_MMDREG_DEVS0_PMAPMD | \ MDIO_MMDREG_DEVS0_PHYXS) #define XFP_REQUIRED_DEVS (MDIO_MMDREG_DEVS_PCS | \ MDIO_MMDREG_DEVS_PMAPMD | \ MDIO_MMDREG_DEVS_PHYXS) #define XFP_LOOPBACKS ((1 << LOOPBACK_PCS) | \ (1 << LOOPBACK_PMAPMD) | \ Loading Loading @@ -64,7 +64,7 @@ static int xfp_reset_phy(struct efx_nic *efx) /* Check that all the MMDs we expect are present and responding. We * expect faults on some if the link is down, but not on the PHY XS */ rc = mdio_clause45_check_mmds(efx, XFP_REQUIRED_DEVS, MDIO_MMDREG_DEVS0_PHYXS); MDIO_MMDREG_DEVS_PHYXS); if (rc < 0) goto fail; Loading Loading
drivers/net/sfc/mdio_10g.c +13 −11 Original line number Diff line number Diff line Loading @@ -121,16 +121,18 @@ int mdio_clause45_wait_reset_mmds(struct efx_nic *efx, int mdio_clause45_check_mmds(struct efx_nic *efx, unsigned int mmd_mask, unsigned int fatal_mask) { int devices, mmd = 0; int probe_mmd; u32 devices; int mmd = 0, probe_mmd; /* Historically we have probed the PHYXS to find out what devices are * present,but that doesn't work so well if the PHYXS isn't expected * to exist, if so just find the first item in the list supplied. */ probe_mmd = (mmd_mask & MDIO_MMDREG_DEVS0_PHYXS) ? MDIO_MMD_PHYXS : probe_mmd = (mmd_mask & MDIO_MMDREG_DEVS_PHYXS) ? MDIO_MMD_PHYXS : __ffs(mmd_mask); devices = mdio_clause45_read(efx, efx->mii.phy_id, probe_mmd, MDIO_MMDREG_DEVS0); devices = (mdio_clause45_read(efx, efx->mii.phy_id, probe_mmd, MDIO_MMDREG_DEVS0) | mdio_clause45_read(efx, efx->mii.phy_id, probe_mmd, MDIO_MMDREG_DEVS1) << 16); /* Check all the expected MMDs are present */ if (devices < 0) { Loading Loading @@ -175,14 +177,14 @@ bool mdio_clause45_links_ok(struct efx_nic *efx, unsigned int mmd_mask) else if (efx_phy_mode_disabled(efx->phy_mode)) return false; else if (efx->loopback_mode == LOOPBACK_PHYXS) mmd_mask &= ~(MDIO_MMDREG_DEVS0_PHYXS | MDIO_MMDREG_DEVS0_PCS | MDIO_MMDREG_DEVS0_PMAPMD); mmd_mask &= ~(MDIO_MMDREG_DEVS_PHYXS | MDIO_MMDREG_DEVS_PCS | MDIO_MMDREG_DEVS_PMAPMD); else if (efx->loopback_mode == LOOPBACK_PCS) mmd_mask &= ~(MDIO_MMDREG_DEVS0_PCS | MDIO_MMDREG_DEVS0_PMAPMD); mmd_mask &= ~(MDIO_MMDREG_DEVS_PCS | MDIO_MMDREG_DEVS_PMAPMD); else if (efx->loopback_mode == LOOPBACK_PMAPMD) mmd_mask &= ~MDIO_MMDREG_DEVS0_PMAPMD; mmd_mask &= ~MDIO_MMDREG_DEVS_PMAPMD; while (mmd_mask) { if (mmd_mask & 1) { Loading
drivers/net/sfc/mdio_10g.h +4 −4 Original line number Diff line number Diff line Loading @@ -73,14 +73,14 @@ #define MDIO_ID_MODEL(_id32) ((_id32 >> 4) & 0x3f) #define MDIO_ID_OUI(_id32) (_id32 >> 10) /* Bits in MMDREG_DEVS0. Someone thoughtfully layed things out /* Bits in MMDREG_DEVS0/1. Someone thoughtfully layed things out * so the 'bit present' bit number of an MMD is the number of * that MMD */ #define DEV_PRESENT_BIT(_b) (1 << _b) #define MDIO_MMDREG_DEVS0_PHYXS DEV_PRESENT_BIT(MDIO_MMD_PHYXS) #define MDIO_MMDREG_DEVS0_PCS DEV_PRESENT_BIT(MDIO_MMD_PCS) #define MDIO_MMDREG_DEVS0_PMAPMD DEV_PRESENT_BIT(MDIO_MMD_PMAPMD) #define MDIO_MMDREG_DEVS_PHYXS DEV_PRESENT_BIT(MDIO_MMD_PHYXS) #define MDIO_MMDREG_DEVS_PCS DEV_PRESENT_BIT(MDIO_MMD_PCS) #define MDIO_MMDREG_DEVS_PMAPMD DEV_PRESENT_BIT(MDIO_MMD_PMAPMD) /* Bits in MMDREG_STAT2 */ #define MDIO_MMDREG_STAT2_PRESENT_VAL (2) Loading
drivers/net/sfc/tenxpress.c +3 −3 Original line number Diff line number Diff line Loading @@ -19,9 +19,9 @@ /* We expect these MMDs to be in the package */ /* AN not here as mdio_check_mmds() requires STAT2 support */ #define TENXPRESS_REQUIRED_DEVS (MDIO_MMDREG_DEVS0_PMAPMD | \ MDIO_MMDREG_DEVS0_PCS | \ MDIO_MMDREG_DEVS0_PHYXS) #define TENXPRESS_REQUIRED_DEVS (MDIO_MMDREG_DEVS_PMAPMD | \ MDIO_MMDREG_DEVS_PCS | \ MDIO_MMDREG_DEVS_PHYXS) #define TENXPRESS_LOOPBACKS ((1 << LOOPBACK_PHYXS) | \ (1 << LOOPBACK_PCS) | \ Loading
drivers/net/sfc/xfp_phy.c +4 −4 Original line number Diff line number Diff line Loading @@ -19,9 +19,9 @@ #include "phy.h" #include "mac.h" #define XFP_REQUIRED_DEVS (MDIO_MMDREG_DEVS0_PCS | \ MDIO_MMDREG_DEVS0_PMAPMD | \ MDIO_MMDREG_DEVS0_PHYXS) #define XFP_REQUIRED_DEVS (MDIO_MMDREG_DEVS_PCS | \ MDIO_MMDREG_DEVS_PMAPMD | \ MDIO_MMDREG_DEVS_PHYXS) #define XFP_LOOPBACKS ((1 << LOOPBACK_PCS) | \ (1 << LOOPBACK_PMAPMD) | \ Loading Loading @@ -64,7 +64,7 @@ static int xfp_reset_phy(struct efx_nic *efx) /* Check that all the MMDs we expect are present and responding. We * expect faults on some if the link is down, but not on the PHY XS */ rc = mdio_clause45_check_mmds(efx, XFP_REQUIRED_DEVS, MDIO_MMDREG_DEVS0_PHYXS); MDIO_MMDREG_DEVS_PHYXS); if (rc < 0) goto fail; Loading