src/dpdk/drivers/net/igc/base/igc_api.c
static void igc_clock_in_i2c_bit(struct igc_hw *hw, bool *data)
{
	u32 i2cctl = IGC_READ_REG(hw, IGC_I2CPARAMS);

	DEBUGFUNC("igc_clock_in_i2c_bit");

	igc_raise_i2c_clk(hw, &i2cctl);

	/* Minimum high period of clock is 4us */
	usec_delay(IGC_I2C_T_HIGH);

	i2cctl = IGC_READ_REG(hw, IGC_I2CPARAMS);
	*data = igc_get_i2c_data(&i2cctl);

	igc_lower_i2c_clk(hw, &i2cctl);

	/* Minimum low period of clock is 4.7 us */
	usec_delay(IGC_I2C_T_LOW);
}
/**
 *  igc_clock_in_i2c_bit - Clocks in one bit via I2C data/clock
 *  @hw: pointer to hardware structure
 *  @data: read data value
 *
 *  Clocks in one bit via I2C data/clock
 **/
Clocks in one bit via I2C data/clock
@hw: pointer to hardware structure
@data: read data value

Clocks in one bit via I2C data/clock
Clocks in one bit via I2C data / clock @hw : pointer to hardware structure @data : read data value Clocks in one bit via I2C data / clock
static void igc_clock_in_i2c_bit(struct igc_hw *hw, bool *data)
{
	u32 i2cctl = IGC_READ_REG(hw, IGC_I2CPARAMS);
	DEBUGFUNC("igc_clock_in_i2c_bit");
	igc_raise_i2c_clk(hw, &i2cctl);
	usec_delay(IGC_I2C_T_HIGH);
	i2cctl = IGC_READ_REG(hw, IGC_I2CPARAMS);
	*data = igc_get_i2c_data(&i2cctl);
	igc_lower_i2c_clk(hw, &i2cctl);
	usec_delay(IGC_I2C_T_LOW);
}
static void igc_clock_in_i2c_bit ( struct igc_hw * hw , bool * data ) { u32 i2cctl = IGC_READ_REG ( hw , IGC_I2CPARAMS ) ; DEBUGFUNC ( " " ) ; igc_raise_i2c_clk ( hw , & i2cctl ) ; usec_delay ( IGC_I2C_T_HIGH ) ; i2cctl = IGC_READ_REG ( hw , IGC_I2CPARAMS ) ; * data = igc_get_i2c_data ( & i2cctl ) ; igc_lower_i2c_clk ( hw , & i2cctl ) ; usec_delay ( IGC_I2C_T_LOW ) ; }
igc_clock_in_i2c_bit - Clocks in one bit via I2C data/clock
  @hw: pointer to hardware structure
  @data: read data value
igc_clock_in_i2c_bit - Clocks in one bit via I2C data / clock @hw : pointer to hardware structure @data : read data value
/* Minimum high period of clock is 4us */ /* Minimum low period of clock is 4.7 us */