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

	DEBUGFUNC("igc_clock_out_i2c_bit");

	status = igc_set_i2c_data(hw, &i2cctl, data);
	if (status == IGC_SUCCESS) {
		igc_raise_i2c_clk(hw, &i2cctl);

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

		igc_lower_i2c_clk(hw, &i2cctl);

		/* Minimum low period of clock is 4.7 us.
		 * This also takes care of the data hold time.
		 */
		usec_delay(IGC_I2C_T_LOW);
	} else {
		status = IGC_ERR_I2C;
		DEBUGOUT1("I2C data was not set to %X\n", data);
	}

	return status;
}
/**
 *  igc_clock_out_i2c_bit - Clocks in/out one bit via I2C data/clock
 *  @hw: pointer to hardware structure
 *  @data: data value to write
 *
 *  Clocks out one bit via I2C data/clock
 **/
Clocks in/out one bit via I2C data/clock
@hw: pointer to hardware structure
@data: data value to write

Clocks out one bit via I2C data/clock
Clocks in / out one bit via I2C data / clock @hw : pointer to hardware structure @data : data value to write Clocks out one bit via I2C data / clock
static s32 igc_clock_out_i2c_bit(struct igc_hw *hw, bool data)
{
	s32 status;
	u32 i2cctl = IGC_READ_REG(hw, IGC_I2CPARAMS);
	DEBUGFUNC("igc_clock_out_i2c_bit");
	status = igc_set_i2c_data(hw, &i2cctl, data);
	if (status == IGC_SUCCESS) {
		igc_raise_i2c_clk(hw, &i2cctl);
		usec_delay(IGC_I2C_T_HIGH);
		igc_lower_i2c_clk(hw, &i2cctl);
		usec_delay(IGC_I2C_T_LOW);
	} else {
		status = IGC_ERR_I2C;
		DEBUGOUT1("I2C data was not set to %X\n", data);
	}
	return status;
}
static s32 igc_clock_out_i2c_bit ( struct igc_hw * hw , bool data ) { s32 status ; u32 i2cctl = IGC_READ_REG ( hw , IGC_I2CPARAMS ) ; DEBUGFUNC ( " " ) ; status = igc_set_i2c_data ( hw , & i2cctl , data ) ; if ( status == IGC_SUCCESS ) { igc_raise_i2c_clk ( hw , & i2cctl ) ; usec_delay ( IGC_I2C_T_HIGH ) ; igc_lower_i2c_clk ( hw , & i2cctl ) ; usec_delay ( IGC_I2C_T_LOW ) ; } else { status = IGC_ERR_I2C ; DEBUGOUT1 ( " \n " , data ) ; } return status ; }
igc_clock_out_i2c_bit - Clocks in/out one bit via I2C data/clock
  @hw: pointer to hardware structure
  @data: data value to write
igc_clock_out_i2c_bit - Clocks in / out one bit via I2C data / clock @hw : pointer to hardware structure @data : data value to write
/* Minimum high period of clock is 4us */ /* Minimum low period of clock is 4.7 us.
		 * This also takes care of the data hold time.
		 */