aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x/bnx2x_link.c
diff options
context:
space:
mode:
authorYaniv Rosner <yanivr@broadcom.com>2011-01-30 23:21:45 -0500
committerDavid S. Miller <davem@davemloft.net>2011-01-31 16:22:40 -0500
commitcd2be89b8ed7a50b781fae43a43f20d6ef1a137b (patch)
tree49c22b7d6d6d761dfb7a9be8b352d69c4dfdf6c3 /drivers/net/bnx2x/bnx2x_link.c
parentcd88ccee1da3626d1c40dfcff8617b2c83271365 (diff)
bnx2x: Rename CL45 macro
This patch contains cosmetic changes only of renaming CL45_WR_OVER_CL22 macro to CL22_WR_OVER_CL45 as it should be. Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_link.c')
-rw-r--r--drivers/net/bnx2x/bnx2x_link.c133
1 files changed, 66 insertions, 67 deletions
diff --git a/drivers/net/bnx2x/bnx2x_link.c b/drivers/net/bnx2x/bnx2x_link.c
index e992d40e246..3be2ce03804 100644
--- a/drivers/net/bnx2x/bnx2x_link.c
+++ b/drivers/net/bnx2x/bnx2x_link.c
@@ -171,13 +171,13 @@
171/* INTERFACE */ 171/* INTERFACE */
172/**********************************************************/ 172/**********************************************************/
173 173
174#define CL45_WR_OVER_CL22(_bp, _phy, _bank, _addr, _val) \ 174#define CL22_WR_OVER_CL45(_bp, _phy, _bank, _addr, _val) \
175 bnx2x_cl45_write(_bp, _phy, \ 175 bnx2x_cl45_write(_bp, _phy, \
176 (_phy)->def_md_devad, \ 176 (_phy)->def_md_devad, \
177 (_bank + (_addr & 0xf)), \ 177 (_bank + (_addr & 0xf)), \
178 _val) 178 _val)
179 179
180#define CL45_RD_OVER_CL22(_bp, _phy, _bank, _addr, _val) \ 180#define CL22_RD_OVER_CL45(_bp, _phy, _bank, _addr, _val) \
181 bnx2x_cl45_read(_bp, _phy, \ 181 bnx2x_cl45_read(_bp, _phy, \
182 (_phy)->def_md_devad, \ 182 (_phy)->def_md_devad, \
183 (_bank + (_addr & 0xf)), \ 183 (_bank + (_addr & 0xf)), \
@@ -1553,13 +1553,13 @@ static void bnx2x_set_aer_mmd_xgxs(struct link_params *params,
1553 aer_val = 0x3800 + offset - 1; 1553 aer_val = 0x3800 + offset - 1;
1554 else 1554 else
1555 aer_val = 0x3800 + offset; 1555 aer_val = 0x3800 + offset;
1556 CL45_WR_OVER_CL22(bp, phy, MDIO_REG_BANK_AER_BLOCK, 1556 CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
1557 MDIO_AER_BLOCK_AER_REG, aer_val); 1557 MDIO_AER_BLOCK_AER_REG, aer_val);
1558} 1558}
1559static void bnx2x_set_aer_mmd_serdes(struct bnx2x *bp, 1559static void bnx2x_set_aer_mmd_serdes(struct bnx2x *bp,
1560 struct bnx2x_phy *phy) 1560 struct bnx2x_phy *phy)
1561{ 1561{
1562 CL45_WR_OVER_CL22(bp, phy, 1562 CL22_WR_OVER_CL45(bp, phy,
1563 MDIO_REG_BANK_AER_BLOCK, 1563 MDIO_REG_BANK_AER_BLOCK,
1564 MDIO_AER_BLOCK_AER_REG, 0x3800); 1564 MDIO_AER_BLOCK_AER_REG, 0x3800);
1565} 1565}
@@ -1758,12 +1758,12 @@ static void bnx2x_set_master_ln(struct link_params *params,
1758 PORT_HW_CFG_LANE_SWAP_CFG_MASTER_SHIFT); 1758 PORT_HW_CFG_LANE_SWAP_CFG_MASTER_SHIFT);
1759 1759
1760 /* set the master_ln for AN */ 1760 /* set the master_ln for AN */
1761 CL45_RD_OVER_CL22(bp, phy, 1761 CL22_RD_OVER_CL45(bp, phy,
1762 MDIO_REG_BANK_XGXS_BLOCK2, 1762 MDIO_REG_BANK_XGXS_BLOCK2,
1763 MDIO_XGXS_BLOCK2_TEST_MODE_LANE, 1763 MDIO_XGXS_BLOCK2_TEST_MODE_LANE,
1764 &new_master_ln); 1764 &new_master_ln);
1765 1765
1766 CL45_WR_OVER_CL22(bp, phy, 1766 CL22_WR_OVER_CL45(bp, phy,
1767 MDIO_REG_BANK_XGXS_BLOCK2 , 1767 MDIO_REG_BANK_XGXS_BLOCK2 ,
1768 MDIO_XGXS_BLOCK2_TEST_MODE_LANE, 1768 MDIO_XGXS_BLOCK2_TEST_MODE_LANE,
1769 (new_master_ln | ser_lane)); 1769 (new_master_ln | ser_lane));
@@ -1776,13 +1776,12 @@ static u8 bnx2x_reset_unicore(struct link_params *params,
1776 struct bnx2x *bp = params->bp; 1776 struct bnx2x *bp = params->bp;
1777 u16 mii_control; 1777 u16 mii_control;
1778 u16 i; 1778 u16 i;
1779 1779 CL22_RD_OVER_CL45(bp, phy,
1780 CL45_RD_OVER_CL22(bp, phy,
1781 MDIO_REG_BANK_COMBO_IEEE0, 1780 MDIO_REG_BANK_COMBO_IEEE0,
1782 MDIO_COMBO_IEEE0_MII_CONTROL, &mii_control); 1781 MDIO_COMBO_IEEE0_MII_CONTROL, &mii_control);
1783 1782
1784 /* reset the unicore */ 1783 /* reset the unicore */
1785 CL45_WR_OVER_CL22(bp, phy, 1784 CL22_WR_OVER_CL45(bp, phy,
1786 MDIO_REG_BANK_COMBO_IEEE0, 1785 MDIO_REG_BANK_COMBO_IEEE0,
1787 MDIO_COMBO_IEEE0_MII_CONTROL, 1786 MDIO_COMBO_IEEE0_MII_CONTROL,
1788 (mii_control | 1787 (mii_control |
@@ -1795,7 +1794,7 @@ static u8 bnx2x_reset_unicore(struct link_params *params,
1795 udelay(5); 1794 udelay(5);
1796 1795
1797 /* the reset erased the previous bank value */ 1796 /* the reset erased the previous bank value */
1798 CL45_RD_OVER_CL22(bp, phy, 1797 CL22_RD_OVER_CL45(bp, phy,
1799 MDIO_REG_BANK_COMBO_IEEE0, 1798 MDIO_REG_BANK_COMBO_IEEE0,
1800 MDIO_COMBO_IEEE0_MII_CONTROL, 1799 MDIO_COMBO_IEEE0_MII_CONTROL,
1801 &mii_control); 1800 &mii_control);
@@ -1830,26 +1829,26 @@ static void bnx2x_set_swap_lanes(struct link_params *params,
1830 PORT_HW_CFG_LANE_SWAP_CFG_TX_SHIFT); 1829 PORT_HW_CFG_LANE_SWAP_CFG_TX_SHIFT);
1831 1830
1832 if (rx_lane_swap != 0x1b) { 1831 if (rx_lane_swap != 0x1b) {
1833 CL45_WR_OVER_CL22(bp, phy, 1832 CL22_WR_OVER_CL45(bp, phy,
1834 MDIO_REG_BANK_XGXS_BLOCK2, 1833 MDIO_REG_BANK_XGXS_BLOCK2,
1835 MDIO_XGXS_BLOCK2_RX_LN_SWAP, 1834 MDIO_XGXS_BLOCK2_RX_LN_SWAP,
1836 (rx_lane_swap | 1835 (rx_lane_swap |
1837 MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE | 1836 MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE |
1838 MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE)); 1837 MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE));
1839 } else { 1838 } else {
1840 CL45_WR_OVER_CL22(bp, phy, 1839 CL22_WR_OVER_CL45(bp, phy,
1841 MDIO_REG_BANK_XGXS_BLOCK2, 1840 MDIO_REG_BANK_XGXS_BLOCK2,
1842 MDIO_XGXS_BLOCK2_RX_LN_SWAP, 0); 1841 MDIO_XGXS_BLOCK2_RX_LN_SWAP, 0);
1843 } 1842 }
1844 1843
1845 if (tx_lane_swap != 0x1b) { 1844 if (tx_lane_swap != 0x1b) {
1846 CL45_WR_OVER_CL22(bp, phy, 1845 CL22_WR_OVER_CL45(bp, phy,
1847 MDIO_REG_BANK_XGXS_BLOCK2, 1846 MDIO_REG_BANK_XGXS_BLOCK2,
1848 MDIO_XGXS_BLOCK2_TX_LN_SWAP, 1847 MDIO_XGXS_BLOCK2_TX_LN_SWAP,
1849 (tx_lane_swap | 1848 (tx_lane_swap |
1850 MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE)); 1849 MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE));
1851 } else { 1850 } else {
1852 CL45_WR_OVER_CL22(bp, phy, 1851 CL22_WR_OVER_CL45(bp, phy,
1853 MDIO_REG_BANK_XGXS_BLOCK2, 1852 MDIO_REG_BANK_XGXS_BLOCK2,
1854 MDIO_XGXS_BLOCK2_TX_LN_SWAP, 0); 1853 MDIO_XGXS_BLOCK2_TX_LN_SWAP, 0);
1855 } 1854 }
@@ -1860,7 +1859,7 @@ static void bnx2x_set_parallel_detection(struct bnx2x_phy *phy,
1860{ 1859{
1861 struct bnx2x *bp = params->bp; 1860 struct bnx2x *bp = params->bp;
1862 u16 control2; 1861 u16 control2;
1863 CL45_RD_OVER_CL22(bp, phy, 1862 CL22_RD_OVER_CL45(bp, phy,
1864 MDIO_REG_BANK_SERDES_DIGITAL, 1863 MDIO_REG_BANK_SERDES_DIGITAL,
1865 MDIO_SERDES_DIGITAL_A_1000X_CONTROL2, 1864 MDIO_SERDES_DIGITAL_A_1000X_CONTROL2,
1866 &control2); 1865 &control2);
@@ -1870,7 +1869,7 @@ static void bnx2x_set_parallel_detection(struct bnx2x_phy *phy,
1870 control2 &= ~MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN; 1869 control2 &= ~MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN;
1871 DP(NETIF_MSG_LINK, "phy->speed_cap_mask = 0x%x, control2 = 0x%x\n", 1870 DP(NETIF_MSG_LINK, "phy->speed_cap_mask = 0x%x, control2 = 0x%x\n",
1872 phy->speed_cap_mask, control2); 1871 phy->speed_cap_mask, control2);
1873 CL45_WR_OVER_CL22(bp, phy, 1872 CL22_WR_OVER_CL45(bp, phy,
1874 MDIO_REG_BANK_SERDES_DIGITAL, 1873 MDIO_REG_BANK_SERDES_DIGITAL,
1875 MDIO_SERDES_DIGITAL_A_1000X_CONTROL2, 1874 MDIO_SERDES_DIGITAL_A_1000X_CONTROL2,
1876 control2); 1875 control2);
@@ -1880,12 +1879,12 @@ static void bnx2x_set_parallel_detection(struct bnx2x_phy *phy,
1880 PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) { 1879 PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) {
1881 DP(NETIF_MSG_LINK, "XGXS\n"); 1880 DP(NETIF_MSG_LINK, "XGXS\n");
1882 1881
1883 CL45_WR_OVER_CL22(bp, phy, 1882 CL22_WR_OVER_CL45(bp, phy,
1884 MDIO_REG_BANK_10G_PARALLEL_DETECT, 1883 MDIO_REG_BANK_10G_PARALLEL_DETECT,
1885 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK, 1884 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK,
1886 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT); 1885 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT);
1887 1886
1888 CL45_RD_OVER_CL22(bp, phy, 1887 CL22_RD_OVER_CL45(bp, phy,
1889 MDIO_REG_BANK_10G_PARALLEL_DETECT, 1888 MDIO_REG_BANK_10G_PARALLEL_DETECT,
1890 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL, 1889 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL,
1891 &control2); 1890 &control2);
@@ -1894,13 +1893,13 @@ static void bnx2x_set_parallel_detection(struct bnx2x_phy *phy,
1894 control2 |= 1893 control2 |=
1895 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN; 1894 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN;
1896 1895
1897 CL45_WR_OVER_CL22(bp, phy, 1896 CL22_WR_OVER_CL45(bp, phy,
1898 MDIO_REG_BANK_10G_PARALLEL_DETECT, 1897 MDIO_REG_BANK_10G_PARALLEL_DETECT,
1899 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL, 1898 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL,
1900 control2); 1899 control2);
1901 1900
1902 /* Disable parallel detection of HiG */ 1901 /* Disable parallel detection of HiG */
1903 CL45_WR_OVER_CL22(bp, phy, 1902 CL22_WR_OVER_CL45(bp, phy,
1904 MDIO_REG_BANK_XGXS_BLOCK2, 1903 MDIO_REG_BANK_XGXS_BLOCK2,
1905 MDIO_XGXS_BLOCK2_UNICORE_MODE_10G, 1904 MDIO_XGXS_BLOCK2_UNICORE_MODE_10G,
1906 MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS | 1905 MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS |
@@ -1917,7 +1916,7 @@ static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
1917 u16 reg_val; 1916 u16 reg_val;
1918 1917
1919 /* CL37 Autoneg */ 1918 /* CL37 Autoneg */
1920 CL45_RD_OVER_CL22(bp, phy, 1919 CL22_RD_OVER_CL45(bp, phy,
1921 MDIO_REG_BANK_COMBO_IEEE0, 1920 MDIO_REG_BANK_COMBO_IEEE0,
1922 MDIO_COMBO_IEEE0_MII_CONTROL, &reg_val); 1921 MDIO_COMBO_IEEE0_MII_CONTROL, &reg_val);
1923 1922
@@ -1928,13 +1927,13 @@ static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
1928 reg_val &= ~(MDIO_COMBO_IEEO_MII_CONTROL_AN_EN | 1927 reg_val &= ~(MDIO_COMBO_IEEO_MII_CONTROL_AN_EN |
1929 MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN); 1928 MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN);
1930 1929
1931 CL45_WR_OVER_CL22(bp, phy, 1930 CL22_WR_OVER_CL45(bp, phy,
1932 MDIO_REG_BANK_COMBO_IEEE0, 1931 MDIO_REG_BANK_COMBO_IEEE0,
1933 MDIO_COMBO_IEEE0_MII_CONTROL, reg_val); 1932 MDIO_COMBO_IEEE0_MII_CONTROL, reg_val);
1934 1933
1935 /* Enable/Disable Autodetection */ 1934 /* Enable/Disable Autodetection */
1936 1935
1937 CL45_RD_OVER_CL22(bp, phy, 1936 CL22_RD_OVER_CL45(bp, phy,
1938 MDIO_REG_BANK_SERDES_DIGITAL, 1937 MDIO_REG_BANK_SERDES_DIGITAL,
1939 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1, &reg_val); 1938 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1, &reg_val);
1940 reg_val &= ~(MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN | 1939 reg_val &= ~(MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN |
@@ -1945,12 +1944,12 @@ static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
1945 else 1944 else
1946 reg_val &= ~MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET; 1945 reg_val &= ~MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET;
1947 1946
1948 CL45_WR_OVER_CL22(bp, phy, 1947 CL22_WR_OVER_CL45(bp, phy,
1949 MDIO_REG_BANK_SERDES_DIGITAL, 1948 MDIO_REG_BANK_SERDES_DIGITAL,
1950 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1, reg_val); 1949 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1, reg_val);
1951 1950
1952 /* Enable TetonII and BAM autoneg */ 1951 /* Enable TetonII and BAM autoneg */
1953 CL45_RD_OVER_CL22(bp, phy, 1952 CL22_RD_OVER_CL45(bp, phy,
1954 MDIO_REG_BANK_BAM_NEXT_PAGE, 1953 MDIO_REG_BANK_BAM_NEXT_PAGE,
1955 MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL, 1954 MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL,
1956 &reg_val); 1955 &reg_val);
@@ -1963,20 +1962,20 @@ static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
1963 reg_val &= ~(MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE | 1962 reg_val &= ~(MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE |
1964 MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN); 1963 MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN);
1965 } 1964 }
1966 CL45_WR_OVER_CL22(bp, phy, 1965 CL22_WR_OVER_CL45(bp, phy,
1967 MDIO_REG_BANK_BAM_NEXT_PAGE, 1966 MDIO_REG_BANK_BAM_NEXT_PAGE,
1968 MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL, 1967 MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL,
1969 reg_val); 1968 reg_val);
1970 1969
1971 if (enable_cl73) { 1970 if (enable_cl73) {
1972 /* Enable Cl73 FSM status bits */ 1971 /* Enable Cl73 FSM status bits */
1973 CL45_WR_OVER_CL22(bp, phy, 1972 CL22_WR_OVER_CL45(bp, phy,
1974 MDIO_REG_BANK_CL73_USERB0, 1973 MDIO_REG_BANK_CL73_USERB0,
1975 MDIO_CL73_USERB0_CL73_UCTRL, 1974 MDIO_CL73_USERB0_CL73_UCTRL,
1976 0xe); 1975 0xe);
1977 1976
1978 /* Enable BAM Station Manager*/ 1977 /* Enable BAM Station Manager*/
1979 CL45_WR_OVER_CL22(bp, phy, 1978 CL22_WR_OVER_CL45(bp, phy,
1980 MDIO_REG_BANK_CL73_USERB0, 1979 MDIO_REG_BANK_CL73_USERB0,
1981 MDIO_CL73_USERB0_CL73_BAM_CTRL1, 1980 MDIO_CL73_USERB0_CL73_BAM_CTRL1,
1982 MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN | 1981 MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN |
@@ -1984,7 +1983,7 @@ static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
1984 MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN); 1983 MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN);
1985 1984
1986 /* Advertise CL73 link speeds */ 1985 /* Advertise CL73 link speeds */
1987 CL45_RD_OVER_CL22(bp, phy, 1986 CL22_RD_OVER_CL45(bp, phy,
1988 MDIO_REG_BANK_CL73_IEEEB1, 1987 MDIO_REG_BANK_CL73_IEEEB1,
1989 MDIO_CL73_IEEEB1_AN_ADV2, 1988 MDIO_CL73_IEEEB1_AN_ADV2,
1990 &reg_val); 1989 &reg_val);
@@ -1995,7 +1994,7 @@ static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
1995 PORT_HW_CFG_SPEED_CAPABILITY_D0_1G) 1994 PORT_HW_CFG_SPEED_CAPABILITY_D0_1G)
1996 reg_val |= MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX; 1995 reg_val |= MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX;
1997 1996
1998 CL45_WR_OVER_CL22(bp, phy, 1997 CL22_WR_OVER_CL45(bp, phy,
1999 MDIO_REG_BANK_CL73_IEEEB1, 1998 MDIO_REG_BANK_CL73_IEEEB1,
2000 MDIO_CL73_IEEEB1_AN_ADV2, 1999 MDIO_CL73_IEEEB1_AN_ADV2,
2001 reg_val); 2000 reg_val);
@@ -2006,7 +2005,7 @@ static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
2006 } else /* CL73 Autoneg Disabled */ 2005 } else /* CL73 Autoneg Disabled */
2007 reg_val = 0; 2006 reg_val = 0;
2008 2007
2009 CL45_WR_OVER_CL22(bp, phy, 2008 CL22_WR_OVER_CL45(bp, phy,
2010 MDIO_REG_BANK_CL73_IEEEB0, 2009 MDIO_REG_BANK_CL73_IEEEB0,
2011 MDIO_CL73_IEEEB0_CL73_AN_CONTROL, reg_val); 2010 MDIO_CL73_IEEEB0_CL73_AN_CONTROL, reg_val);
2012} 2011}
@@ -2020,7 +2019,7 @@ static void bnx2x_program_serdes(struct bnx2x_phy *phy,
2020 u16 reg_val; 2019 u16 reg_val;
2021 2020
2022 /* program duplex, disable autoneg and sgmii*/ 2021 /* program duplex, disable autoneg and sgmii*/
2023 CL45_RD_OVER_CL22(bp, phy, 2022 CL22_RD_OVER_CL45(bp, phy,
2024 MDIO_REG_BANK_COMBO_IEEE0, 2023 MDIO_REG_BANK_COMBO_IEEE0,
2025 MDIO_COMBO_IEEE0_MII_CONTROL, &reg_val); 2024 MDIO_COMBO_IEEE0_MII_CONTROL, &reg_val);
2026 reg_val &= ~(MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX | 2025 reg_val &= ~(MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX |
@@ -2028,13 +2027,13 @@ static void bnx2x_program_serdes(struct bnx2x_phy *phy,
2028 MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK); 2027 MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK);
2029 if (phy->req_duplex == DUPLEX_FULL) 2028 if (phy->req_duplex == DUPLEX_FULL)
2030 reg_val |= MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX; 2029 reg_val |= MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX;
2031 CL45_WR_OVER_CL22(bp, phy, 2030 CL22_WR_OVER_CL45(bp, phy,
2032 MDIO_REG_BANK_COMBO_IEEE0, 2031 MDIO_REG_BANK_COMBO_IEEE0,
2033 MDIO_COMBO_IEEE0_MII_CONTROL, reg_val); 2032 MDIO_COMBO_IEEE0_MII_CONTROL, reg_val);
2034 2033
2035 /* program speed 2034 /* program speed
2036 - needed only if the speed is greater than 1G (2.5G or 10G) */ 2035 - needed only if the speed is greater than 1G (2.5G or 10G) */
2037 CL45_RD_OVER_CL22(bp, phy, 2036 CL22_RD_OVER_CL45(bp, phy,
2038 MDIO_REG_BANK_SERDES_DIGITAL, 2037 MDIO_REG_BANK_SERDES_DIGITAL,
2039 MDIO_SERDES_DIGITAL_MISC1, &reg_val); 2038 MDIO_SERDES_DIGITAL_MISC1, &reg_val);
2040 /* clearing the speed value before setting the right speed */ 2039 /* clearing the speed value before setting the right speed */
@@ -2057,7 +2056,7 @@ static void bnx2x_program_serdes(struct bnx2x_phy *phy,
2057 MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G; 2056 MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G;
2058 } 2057 }
2059 2058
2060 CL45_WR_OVER_CL22(bp, phy, 2059 CL22_WR_OVER_CL45(bp, phy,
2061 MDIO_REG_BANK_SERDES_DIGITAL, 2060 MDIO_REG_BANK_SERDES_DIGITAL,
2062 MDIO_SERDES_DIGITAL_MISC1, reg_val); 2061 MDIO_SERDES_DIGITAL_MISC1, reg_val);
2063 2062
@@ -2076,11 +2075,11 @@ static void bnx2x_set_brcm_cl37_advertisment(struct bnx2x_phy *phy,
2076 val |= MDIO_OVER_1G_UP1_2_5G; 2075 val |= MDIO_OVER_1G_UP1_2_5G;
2077 if (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_10G) 2076 if (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)
2078 val |= MDIO_OVER_1G_UP1_10G; 2077 val |= MDIO_OVER_1G_UP1_10G;
2079 CL45_WR_OVER_CL22(bp, phy, 2078 CL22_WR_OVER_CL45(bp, phy,
2080 MDIO_REG_BANK_OVER_1G, 2079 MDIO_REG_BANK_OVER_1G,
2081 MDIO_OVER_1G_UP1, val); 2080 MDIO_OVER_1G_UP1, val);
2082 2081
2083 CL45_WR_OVER_CL22(bp, phy, 2082 CL22_WR_OVER_CL45(bp, phy,
2084 MDIO_REG_BANK_OVER_1G, 2083 MDIO_REG_BANK_OVER_1G,
2085 MDIO_OVER_1G_UP3, 0x400); 2084 MDIO_OVER_1G_UP3, 0x400);
2086} 2085}
@@ -2126,15 +2125,15 @@ static void bnx2x_set_ieee_aneg_advertisment(struct bnx2x_phy *phy,
2126 u16 val; 2125 u16 val;
2127 /* for AN, we are always publishing full duplex */ 2126 /* for AN, we are always publishing full duplex */
2128 2127
2129 CL45_WR_OVER_CL22(bp, phy, 2128 CL22_WR_OVER_CL45(bp, phy,
2130 MDIO_REG_BANK_COMBO_IEEE0, 2129 MDIO_REG_BANK_COMBO_IEEE0,
2131 MDIO_COMBO_IEEE0_AUTO_NEG_ADV, ieee_fc); 2130 MDIO_COMBO_IEEE0_AUTO_NEG_ADV, ieee_fc);
2132 CL45_RD_OVER_CL22(bp, phy, 2131 CL22_RD_OVER_CL45(bp, phy,
2133 MDIO_REG_BANK_CL73_IEEEB1, 2132 MDIO_REG_BANK_CL73_IEEEB1,
2134 MDIO_CL73_IEEEB1_AN_ADV1, &val); 2133 MDIO_CL73_IEEEB1_AN_ADV1, &val);
2135 val &= ~MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_BOTH; 2134 val &= ~MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_BOTH;
2136 val |= ((ieee_fc<<3) & MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_MASK); 2135 val |= ((ieee_fc<<3) & MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_MASK);
2137 CL45_WR_OVER_CL22(bp, phy, 2136 CL22_WR_OVER_CL45(bp, phy,
2138 MDIO_REG_BANK_CL73_IEEEB1, 2137 MDIO_REG_BANK_CL73_IEEEB1,
2139 MDIO_CL73_IEEEB1_AN_ADV1, val); 2138 MDIO_CL73_IEEEB1_AN_ADV1, val);
2140} 2139}
@@ -2150,12 +2149,12 @@ static void bnx2x_restart_autoneg(struct bnx2x_phy *phy,
2150 /* Enable and restart BAM/CL37 aneg */ 2149 /* Enable and restart BAM/CL37 aneg */
2151 2150
2152 if (enable_cl73) { 2151 if (enable_cl73) {
2153 CL45_RD_OVER_CL22(bp, phy, 2152 CL22_RD_OVER_CL45(bp, phy,
2154 MDIO_REG_BANK_CL73_IEEEB0, 2153 MDIO_REG_BANK_CL73_IEEEB0,
2155 MDIO_CL73_IEEEB0_CL73_AN_CONTROL, 2154 MDIO_CL73_IEEEB0_CL73_AN_CONTROL,
2156 &mii_control); 2155 &mii_control);
2157 2156
2158 CL45_WR_OVER_CL22(bp, phy, 2157 CL22_WR_OVER_CL45(bp, phy,
2159 MDIO_REG_BANK_CL73_IEEEB0, 2158 MDIO_REG_BANK_CL73_IEEEB0,
2160 MDIO_CL73_IEEEB0_CL73_AN_CONTROL, 2159 MDIO_CL73_IEEEB0_CL73_AN_CONTROL,
2161 (mii_control | 2160 (mii_control |
@@ -2163,14 +2162,14 @@ static void bnx2x_restart_autoneg(struct bnx2x_phy *phy,
2163 MDIO_CL73_IEEEB0_CL73_AN_CONTROL_RESTART_AN)); 2162 MDIO_CL73_IEEEB0_CL73_AN_CONTROL_RESTART_AN));
2164 } else { 2163 } else {
2165 2164
2166 CL45_RD_OVER_CL22(bp, phy, 2165 CL22_RD_OVER_CL45(bp, phy,
2167 MDIO_REG_BANK_COMBO_IEEE0, 2166 MDIO_REG_BANK_COMBO_IEEE0,
2168 MDIO_COMBO_IEEE0_MII_CONTROL, 2167 MDIO_COMBO_IEEE0_MII_CONTROL,
2169 &mii_control); 2168 &mii_control);
2170 DP(NETIF_MSG_LINK, 2169 DP(NETIF_MSG_LINK,
2171 "bnx2x_restart_autoneg mii_control before = 0x%x\n", 2170 "bnx2x_restart_autoneg mii_control before = 0x%x\n",
2172 mii_control); 2171 mii_control);
2173 CL45_WR_OVER_CL22(bp, phy, 2172 CL22_WR_OVER_CL45(bp, phy,
2174 MDIO_REG_BANK_COMBO_IEEE0, 2173 MDIO_REG_BANK_COMBO_IEEE0,
2175 MDIO_COMBO_IEEE0_MII_CONTROL, 2174 MDIO_COMBO_IEEE0_MII_CONTROL,
2176 (mii_control | 2175 (mii_control |
@@ -2188,7 +2187,7 @@ static void bnx2x_initialize_sgmii_process(struct bnx2x_phy *phy,
2188 2187
2189 /* in SGMII mode, the unicore is always slave */ 2188 /* in SGMII mode, the unicore is always slave */
2190 2189
2191 CL45_RD_OVER_CL22(bp, phy, 2190 CL22_RD_OVER_CL45(bp, phy,
2192 MDIO_REG_BANK_SERDES_DIGITAL, 2191 MDIO_REG_BANK_SERDES_DIGITAL,
2193 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1, 2192 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1,
2194 &control1); 2193 &control1);
@@ -2197,7 +2196,7 @@ static void bnx2x_initialize_sgmii_process(struct bnx2x_phy *phy,
2197 control1 &= ~(MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE | 2196 control1 &= ~(MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE |
2198 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET | 2197 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET |
2199 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE); 2198 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE);
2200 CL45_WR_OVER_CL22(bp, phy, 2199 CL22_WR_OVER_CL45(bp, phy,
2201 MDIO_REG_BANK_SERDES_DIGITAL, 2200 MDIO_REG_BANK_SERDES_DIGITAL,
2202 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1, 2201 MDIO_SERDES_DIGITAL_A_1000X_CONTROL1,
2203 control1); 2202 control1);
@@ -2207,7 +2206,7 @@ static void bnx2x_initialize_sgmii_process(struct bnx2x_phy *phy,
2207 /* set speed, disable autoneg */ 2206 /* set speed, disable autoneg */
2208 u16 mii_control; 2207 u16 mii_control;
2209 2208
2210 CL45_RD_OVER_CL22(bp, phy, 2209 CL22_RD_OVER_CL45(bp, phy,
2211 MDIO_REG_BANK_COMBO_IEEE0, 2210 MDIO_REG_BANK_COMBO_IEEE0,
2212 MDIO_COMBO_IEEE0_MII_CONTROL, 2211 MDIO_COMBO_IEEE0_MII_CONTROL,
2213 &mii_control); 2212 &mii_control);
@@ -2238,7 +2237,7 @@ static void bnx2x_initialize_sgmii_process(struct bnx2x_phy *phy,
2238 if (phy->req_duplex == DUPLEX_FULL) 2237 if (phy->req_duplex == DUPLEX_FULL)
2239 mii_control |= 2238 mii_control |=
2240 MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX; 2239 MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX;
2241 CL45_WR_OVER_CL22(bp, phy, 2240 CL22_WR_OVER_CL45(bp, phy,
2242 MDIO_REG_BANK_COMBO_IEEE0, 2241 MDIO_REG_BANK_COMBO_IEEE0,
2243 MDIO_COMBO_IEEE0_MII_CONTROL, 2242 MDIO_COMBO_IEEE0_MII_CONTROL,
2244 mii_control); 2243 mii_control);
@@ -2288,11 +2287,11 @@ static u8 bnx2x_direct_parallel_detect_used(struct bnx2x_phy *phy,
2288 u16 pd_10g, status2_1000x; 2287 u16 pd_10g, status2_1000x;
2289 if (phy->req_line_speed != SPEED_AUTO_NEG) 2288 if (phy->req_line_speed != SPEED_AUTO_NEG)
2290 return 0; 2289 return 0;
2291 CL45_RD_OVER_CL22(bp, phy, 2290 CL22_RD_OVER_CL45(bp, phy,
2292 MDIO_REG_BANK_SERDES_DIGITAL, 2291 MDIO_REG_BANK_SERDES_DIGITAL,
2293 MDIO_SERDES_DIGITAL_A_1000X_STATUS2, 2292 MDIO_SERDES_DIGITAL_A_1000X_STATUS2,
2294 &status2_1000x); 2293 &status2_1000x);
2295 CL45_RD_OVER_CL22(bp, phy, 2294 CL22_RD_OVER_CL45(bp, phy,
2296 MDIO_REG_BANK_SERDES_DIGITAL, 2295 MDIO_REG_BANK_SERDES_DIGITAL,
2297 MDIO_SERDES_DIGITAL_A_1000X_STATUS2, 2296 MDIO_SERDES_DIGITAL_A_1000X_STATUS2,
2298 &status2_1000x); 2297 &status2_1000x);
@@ -2302,7 +2301,7 @@ static u8 bnx2x_direct_parallel_detect_used(struct bnx2x_phy *phy,
2302 return 1; 2301 return 1;
2303 } 2302 }
2304 2303
2305 CL45_RD_OVER_CL22(bp, phy, 2304 CL22_RD_OVER_CL45(bp, phy,
2306 MDIO_REG_BANK_10G_PARALLEL_DETECT, 2305 MDIO_REG_BANK_10G_PARALLEL_DETECT,
2307 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS, 2306 MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS,
2308 &pd_10g); 2307 &pd_10g);
@@ -2344,11 +2343,11 @@ static void bnx2x_flow_ctrl_resolve(struct bnx2x_phy *phy,
2344 (MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE | 2343 (MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE |
2345 MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE)) { 2344 MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE)) {
2346 2345
2347 CL45_RD_OVER_CL22(bp, phy, 2346 CL22_RD_OVER_CL45(bp, phy,
2348 MDIO_REG_BANK_CL73_IEEEB1, 2347 MDIO_REG_BANK_CL73_IEEEB1,
2349 MDIO_CL73_IEEEB1_AN_ADV1, 2348 MDIO_CL73_IEEEB1_AN_ADV1,
2350 &ld_pause); 2349 &ld_pause);
2351 CL45_RD_OVER_CL22(bp, phy, 2350 CL22_RD_OVER_CL45(bp, phy,
2352 MDIO_REG_BANK_CL73_IEEEB1, 2351 MDIO_REG_BANK_CL73_IEEEB1,
2353 MDIO_CL73_IEEEB1_AN_LP_ADV1, 2352 MDIO_CL73_IEEEB1_AN_LP_ADV1,
2354 &lp_pause); 2353 &lp_pause);
@@ -2361,11 +2360,11 @@ static void bnx2x_flow_ctrl_resolve(struct bnx2x_phy *phy,
2361 DP(NETIF_MSG_LINK, "pause_result CL73 0x%x\n", 2360 DP(NETIF_MSG_LINK, "pause_result CL73 0x%x\n",
2362 pause_result); 2361 pause_result);
2363 } else { 2362 } else {
2364 CL45_RD_OVER_CL22(bp, phy, 2363 CL22_RD_OVER_CL45(bp, phy,
2365 MDIO_REG_BANK_COMBO_IEEE0, 2364 MDIO_REG_BANK_COMBO_IEEE0,
2366 MDIO_COMBO_IEEE0_AUTO_NEG_ADV, 2365 MDIO_COMBO_IEEE0_AUTO_NEG_ADV,
2367 &ld_pause); 2366 &ld_pause);
2368 CL45_RD_OVER_CL22(bp, phy, 2367 CL22_RD_OVER_CL45(bp, phy,
2369 MDIO_REG_BANK_COMBO_IEEE0, 2368 MDIO_REG_BANK_COMBO_IEEE0,
2370 MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1, 2369 MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1,
2371 &lp_pause); 2370 &lp_pause);
@@ -2388,7 +2387,7 @@ static void bnx2x_check_fallback_to_cl37(struct bnx2x_phy *phy,
2388 u16 rx_status, ustat_val, cl37_fsm_recieved; 2387 u16 rx_status, ustat_val, cl37_fsm_recieved;
2389 DP(NETIF_MSG_LINK, "bnx2x_check_fallback_to_cl37\n"); 2388 DP(NETIF_MSG_LINK, "bnx2x_check_fallback_to_cl37\n");
2390 /* Step 1: Make sure signal is detected */ 2389 /* Step 1: Make sure signal is detected */
2391 CL45_RD_OVER_CL22(bp, phy, 2390 CL22_RD_OVER_CL45(bp, phy,
2392 MDIO_REG_BANK_RX0, 2391 MDIO_REG_BANK_RX0,
2393 MDIO_RX0_RX_STATUS, 2392 MDIO_RX0_RX_STATUS,
2394 &rx_status); 2393 &rx_status);
@@ -2396,14 +2395,14 @@ static void bnx2x_check_fallback_to_cl37(struct bnx2x_phy *phy,
2396 (MDIO_RX0_RX_STATUS_SIGDET)) { 2395 (MDIO_RX0_RX_STATUS_SIGDET)) {
2397 DP(NETIF_MSG_LINK, "Signal is not detected. Restoring CL73." 2396 DP(NETIF_MSG_LINK, "Signal is not detected. Restoring CL73."
2398 "rx_status(0x80b0) = 0x%x\n", rx_status); 2397 "rx_status(0x80b0) = 0x%x\n", rx_status);
2399 CL45_WR_OVER_CL22(bp, phy, 2398 CL22_WR_OVER_CL45(bp, phy,
2400 MDIO_REG_BANK_CL73_IEEEB0, 2399 MDIO_REG_BANK_CL73_IEEEB0,
2401 MDIO_CL73_IEEEB0_CL73_AN_CONTROL, 2400 MDIO_CL73_IEEEB0_CL73_AN_CONTROL,
2402 MDIO_CL73_IEEEB0_CL73_AN_CONTROL_AN_EN); 2401 MDIO_CL73_IEEEB0_CL73_AN_CONTROL_AN_EN);
2403 return; 2402 return;
2404 } 2403 }
2405 /* Step 2: Check CL73 state machine */ 2404 /* Step 2: Check CL73 state machine */
2406 CL45_RD_OVER_CL22(bp, phy, 2405 CL22_RD_OVER_CL45(bp, phy,
2407 MDIO_REG_BANK_CL73_USERB0, 2406 MDIO_REG_BANK_CL73_USERB0,
2408 MDIO_CL73_USERB0_CL73_USTAT1, 2407 MDIO_CL73_USERB0_CL73_USTAT1,
2409 &ustat_val); 2408 &ustat_val);
@@ -2418,7 +2417,7 @@ static void bnx2x_check_fallback_to_cl37(struct bnx2x_phy *phy,
2418 } 2417 }
2419 /* Step 3: Check CL37 Message Pages received to indicate LP 2418 /* Step 3: Check CL37 Message Pages received to indicate LP
2420 supports only CL37 */ 2419 supports only CL37 */
2421 CL45_RD_OVER_CL22(bp, phy, 2420 CL22_RD_OVER_CL45(bp, phy,
2422 MDIO_REG_BANK_REMOTE_PHY, 2421 MDIO_REG_BANK_REMOTE_PHY,
2423 MDIO_REMOTE_PHY_MISC_RX_STATUS, 2422 MDIO_REMOTE_PHY_MISC_RX_STATUS,
2424 &cl37_fsm_recieved); 2423 &cl37_fsm_recieved);
@@ -2436,7 +2435,7 @@ static void bnx2x_check_fallback_to_cl37(struct bnx2x_phy *phy,
2436 connected to a device which does not support cl73, but does support 2435 connected to a device which does not support cl73, but does support
2437 cl37 BAM. In this case we disable cl73 and restart cl37 auto-neg */ 2436 cl37 BAM. In this case we disable cl73 and restart cl37 auto-neg */
2438 /* Disable CL73 */ 2437 /* Disable CL73 */
2439 CL45_WR_OVER_CL22(bp, phy, 2438 CL22_WR_OVER_CL45(bp, phy,
2440 MDIO_REG_BANK_CL73_IEEEB0, 2439 MDIO_REG_BANK_CL73_IEEEB0,
2441 MDIO_CL73_IEEEB0_CL73_AN_CONTROL, 2440 MDIO_CL73_IEEEB0_CL73_AN_CONTROL,
2442 0); 2441 0);
@@ -2468,7 +2467,7 @@ static u8 bnx2x_link_settings_status(struct bnx2x_phy *phy,
2468 u8 rc = 0; 2467 u8 rc = 0;
2469 2468
2470 /* Read gp_status */ 2469 /* Read gp_status */
2471 CL45_RD_OVER_CL22(bp, phy, 2470 CL22_RD_OVER_CL45(bp, phy,
2472 MDIO_REG_BANK_GP_STATUS, 2471 MDIO_REG_BANK_GP_STATUS,
2473 MDIO_GP_STATUS_TOP_AN_STATUS1, 2472 MDIO_GP_STATUS_TOP_AN_STATUS1,
2474 &gp_status); 2473 &gp_status);
@@ -2608,7 +2607,7 @@ static void bnx2x_set_gmii_tx_driver(struct link_params *params)
2608 u16 bank; 2607 u16 bank;
2609 2608
2610 /* read precomp */ 2609 /* read precomp */
2611 CL45_RD_OVER_CL22(bp, phy, 2610 CL22_RD_OVER_CL45(bp, phy,
2612 MDIO_REG_BANK_OVER_1G, 2611 MDIO_REG_BANK_OVER_1G,
2613 MDIO_OVER_1G_LP_UP2, &lp_up2); 2612 MDIO_OVER_1G_LP_UP2, &lp_up2);
2614 2613
@@ -2622,7 +2621,7 @@ static void bnx2x_set_gmii_tx_driver(struct link_params *params)
2622 2621
2623 for (bank = MDIO_REG_BANK_TX0; bank <= MDIO_REG_BANK_TX3; 2622 for (bank = MDIO_REG_BANK_TX0; bank <= MDIO_REG_BANK_TX3;
2624 bank += (MDIO_REG_BANK_TX1 - MDIO_REG_BANK_TX0)) { 2623 bank += (MDIO_REG_BANK_TX1 - MDIO_REG_BANK_TX0)) {
2625 CL45_RD_OVER_CL22(bp, phy, 2624 CL22_RD_OVER_CL45(bp, phy,
2626 bank, 2625 bank,
2627 MDIO_TX0_TX_DRIVER, &tx_driver); 2626 MDIO_TX0_TX_DRIVER, &tx_driver);
2628 2627
@@ -2631,7 +2630,7 @@ static void bnx2x_set_gmii_tx_driver(struct link_params *params)
2631 (tx_driver & MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK)) { 2630 (tx_driver & MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK)) {
2632 tx_driver &= ~MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK; 2631 tx_driver &= ~MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK;
2633 tx_driver |= lp_up2; 2632 tx_driver |= lp_up2;
2634 CL45_WR_OVER_CL22(bp, phy, 2633 CL22_WR_OVER_CL45(bp, phy,
2635 bank, 2634 bank,
2636 MDIO_TX0_TX_DRIVER, tx_driver); 2635 MDIO_TX0_TX_DRIVER, tx_driver);
2637 } 2636 }
@@ -2694,7 +2693,7 @@ static void bnx2x_set_preemphasis(struct bnx2x_phy *phy,
2694 2693
2695 for (bank = MDIO_REG_BANK_RX0, i = 0; bank <= MDIO_REG_BANK_RX3; 2694 for (bank = MDIO_REG_BANK_RX0, i = 0; bank <= MDIO_REG_BANK_RX3;
2696 bank += (MDIO_REG_BANK_RX1-MDIO_REG_BANK_RX0), i++) { 2695 bank += (MDIO_REG_BANK_RX1-MDIO_REG_BANK_RX0), i++) {
2697 CL45_WR_OVER_CL22(bp, phy, 2696 CL22_WR_OVER_CL45(bp, phy,
2698 bank, 2697 bank,
2699 MDIO_RX0_RX_EQ_BOOST, 2698 MDIO_RX0_RX_EQ_BOOST,
2700 phy->rx_preemphasis[i]); 2699 phy->rx_preemphasis[i]);
@@ -2702,7 +2701,7 @@ static void bnx2x_set_preemphasis(struct bnx2x_phy *phy,
2702 2701
2703 for (bank = MDIO_REG_BANK_TX0, i = 0; bank <= MDIO_REG_BANK_TX3; 2702 for (bank = MDIO_REG_BANK_TX0, i = 0; bank <= MDIO_REG_BANK_TX3;
2704 bank += (MDIO_REG_BANK_TX1 - MDIO_REG_BANK_TX0), i++) { 2703 bank += (MDIO_REG_BANK_TX1 - MDIO_REG_BANK_TX0), i++) {
2705 CL45_WR_OVER_CL22(bp, phy, 2704 CL22_WR_OVER_CL45(bp, phy,
2706 bank, 2705 bank,
2707 MDIO_TX0_TX_DRIVER, 2706 MDIO_TX0_TX_DRIVER,
2708 phy->tx_preemphasis[i]); 2707 phy->tx_preemphasis[i]);
@@ -3208,7 +3207,7 @@ u8 bnx2x_test_link(struct link_params *params, struct link_vars *vars,
3208 u8 ext_phy_link_up = 0, serdes_phy_type; 3207 u8 ext_phy_link_up = 0, serdes_phy_type;
3209 struct link_vars temp_vars; 3208 struct link_vars temp_vars;
3210 3209
3211 CL45_RD_OVER_CL22(bp, &params->phy[INT_PHY], 3210 CL22_RD_OVER_CL45(bp, &params->phy[INT_PHY],
3212 MDIO_REG_BANK_GP_STATUS, 3211 MDIO_REG_BANK_GP_STATUS,
3213 MDIO_GP_STATUS_TOP_AN_STATUS1, 3212 MDIO_GP_STATUS_TOP_AN_STATUS1,
3214 &gp_status); 3213 &gp_status);