H A D | ixgbe_phy.c | 43 static void ixgbe_raise_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl); 44 static void ixgbe_lower_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl); 45 static s32 ixgbe_set_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl, bool data); 46 static bool ixgbe_get_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl); 1796 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_i2c_start() local 1799 ixgbe_set_i2c_data(hw, &i2cctl, 1); ixgbe_i2c_start() 1800 ixgbe_raise_i2c_clk(hw, &i2cctl); ixgbe_i2c_start() 1805 ixgbe_set_i2c_data(hw, &i2cctl, 0); ixgbe_i2c_start() 1810 ixgbe_lower_i2c_clk(hw, &i2cctl); ixgbe_i2c_start() 1825 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_i2c_stop() local 1828 ixgbe_set_i2c_data(hw, &i2cctl, 0); ixgbe_i2c_stop() 1829 ixgbe_raise_i2c_clk(hw, &i2cctl); ixgbe_i2c_stop() 1834 ixgbe_set_i2c_data(hw, &i2cctl, 1); ixgbe_i2c_stop() 1871 u32 i2cctl; ixgbe_clock_out_i2c_byte() local 1883 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_clock_out_i2c_byte() 1884 i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw); ixgbe_clock_out_i2c_byte() 1885 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl); ixgbe_clock_out_i2c_byte() 1901 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_get_i2c_ack() local 1905 ixgbe_raise_i2c_clk(hw, &i2cctl); ixgbe_get_i2c_ack() 1914 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_get_i2c_ack() 1915 ack = ixgbe_get_i2c_data(hw, &i2cctl); ixgbe_get_i2c_ack() 1927 ixgbe_lower_i2c_clk(hw, &i2cctl); ixgbe_get_i2c_ack() 1944 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_clock_in_i2c_bit() local 1946 ixgbe_raise_i2c_clk(hw, &i2cctl); ixgbe_clock_in_i2c_bit() 1951 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_clock_in_i2c_bit() 1952 *data = ixgbe_get_i2c_data(hw, &i2cctl); ixgbe_clock_in_i2c_bit() 1954 ixgbe_lower_i2c_clk(hw, &i2cctl); ixgbe_clock_in_i2c_bit() 1972 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_clock_out_i2c_bit() local 1974 status = ixgbe_set_i2c_data(hw, &i2cctl, data); ixgbe_clock_out_i2c_bit() 1976 ixgbe_raise_i2c_clk(hw, &i2cctl); ixgbe_clock_out_i2c_bit() 1981 ixgbe_lower_i2c_clk(hw, &i2cctl); ixgbe_clock_out_i2c_bit() 1997 * @i2cctl: Current value of I2CCTL register 2001 static void ixgbe_raise_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl) ixgbe_raise_i2c_clk() argument 2008 *i2cctl |= IXGBE_I2C_CLK_OUT_BY_MAC(hw); ixgbe_raise_i2c_clk() 2009 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); ixgbe_raise_i2c_clk() 2023 * @i2cctl: Current value of I2CCTL register 2027 static void ixgbe_lower_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl) ixgbe_lower_i2c_clk() argument 2030 *i2cctl &= ~IXGBE_I2C_CLK_OUT_BY_MAC(hw); ixgbe_lower_i2c_clk() 2032 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); ixgbe_lower_i2c_clk() 2042 * @i2cctl: Current value of I2CCTL register 2047 static s32 ixgbe_set_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl, bool data) ixgbe_set_i2c_data() argument 2050 *i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw); ixgbe_set_i2c_data() 2052 *i2cctl &= ~IXGBE_I2C_DATA_OUT_BY_MAC(hw); ixgbe_set_i2c_data() 2054 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); ixgbe_set_i2c_data() 2061 *i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_set_i2c_data() 2062 if (data != ixgbe_get_i2c_data(hw, i2cctl)) { ixgbe_set_i2c_data() 2073 * @i2cctl: Current value of I2CCTL register 2077 static bool ixgbe_get_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl) ixgbe_get_i2c_data() argument 2079 if (*i2cctl & IXGBE_I2C_DATA_IN_BY_MAC(hw)) ixgbe_get_i2c_data() 2093 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); ixgbe_i2c_bus_clear() local 2098 ixgbe_set_i2c_data(hw, &i2cctl, 1); ixgbe_i2c_bus_clear() 2101 ixgbe_raise_i2c_clk(hw, &i2cctl); ixgbe_i2c_bus_clear() 2106 ixgbe_lower_i2c_clk(hw, &i2cctl); ixgbe_i2c_bus_clear()
|