Lines Matching refs:pf
52 static s32 ixl_set_i2c_data(struct ixl_pf *pf, u32 *i2cctl, bool data);
53 static bool ixl_get_i2c_data(struct ixl_pf *pf, u32 *i2cctl);
54 static void ixl_raise_i2c_clk(struct ixl_pf *pf, u32 *i2cctl);
55 static void ixl_lower_i2c_clk(struct ixl_pf *pf, u32 *i2cctl);
56 static s32 ixl_clock_out_i2c_bit(struct ixl_pf *pf, bool data);
57 static s32 ixl_get_i2c_ack(struct ixl_pf *pf);
58 static s32 ixl_clock_out_i2c_byte(struct ixl_pf *pf, u8 data);
59 static s32 ixl_clock_in_i2c_bit(struct ixl_pf *pf, bool *data);
60 static s32 ixl_clock_in_i2c_byte(struct ixl_pf *pf, u8 *data);
61 static void ixl_i2c_bus_clear(struct ixl_pf *pf);
62 static void ixl_i2c_start(struct ixl_pf *pf);
63 static void ixl_i2c_stop(struct ixl_pf *pf);
75 ixl_i2c_bus_clear(struct ixl_pf *pf) in ixl_i2c_bus_clear() argument
77 struct i40e_hw *hw = &pf->hw; in ixl_i2c_bus_clear()
83 ixl_i2c_start(pf); in ixl_i2c_bus_clear()
85 ixl_set_i2c_data(pf, &i2cctl, 1); in ixl_i2c_bus_clear()
88 ixl_raise_i2c_clk(pf, &i2cctl); in ixl_i2c_bus_clear()
93 ixl_lower_i2c_clk(pf, &i2cctl); in ixl_i2c_bus_clear()
99 ixl_i2c_start(pf); in ixl_i2c_bus_clear()
102 ixl_i2c_stop(pf); in ixl_i2c_bus_clear()
112 ixl_i2c_stop(struct ixl_pf *pf) in ixl_i2c_stop() argument
114 struct i40e_hw *hw = &pf->hw; in ixl_i2c_stop()
120 ixl_set_i2c_data(pf, &i2cctl, 0); in ixl_i2c_stop()
121 ixl_raise_i2c_clk(pf, &i2cctl); in ixl_i2c_stop()
126 ixl_set_i2c_data(pf, &i2cctl, 1); in ixl_i2c_stop()
140 ixl_clock_in_i2c_byte(struct ixl_pf *pf, u8 *data) in ixl_clock_in_i2c_byte() argument
148 ixl_clock_in_i2c_bit(pf, &bit); in ixl_clock_in_i2c_byte()
163 ixl_clock_in_i2c_bit(struct ixl_pf *pf, bool *data) in ixl_clock_in_i2c_bit() argument
165 struct i40e_hw *hw = &pf->hw; in ixl_clock_in_i2c_bit()
170 ixl_raise_i2c_clk(pf, &i2cctl); in ixl_clock_in_i2c_bit()
181 *data = ixl_get_i2c_data(pf, &i2cctl); in ixl_clock_in_i2c_bit()
183 ixl_lower_i2c_clk(pf, &i2cctl); in ixl_clock_in_i2c_bit()
198 ixl_get_i2c_ack(struct ixl_pf *pf) in ixl_get_i2c_ack() argument
200 struct i40e_hw *hw = &pf->hw; in ixl_get_i2c_ack()
207 ixl_raise_i2c_clk(pf, &i2cctl); in ixl_get_i2c_ack()
221 ack = ixl_get_i2c_data(pf, &i2cctl); in ixl_get_i2c_ack()
229 ixl_dbg(pf, IXL_DBG_I2C, "I2C ack was not received.\n"); in ixl_get_i2c_ack()
233 ixl_lower_i2c_clk(pf, &i2cctl); in ixl_get_i2c_ack()
249 ixl_clock_out_i2c_bit(struct ixl_pf *pf, bool data) in ixl_clock_out_i2c_bit() argument
251 struct i40e_hw *hw = &pf->hw; in ixl_clock_out_i2c_bit()
255 status = ixl_set_i2c_data(pf, &i2cctl, data); in ixl_clock_out_i2c_bit()
257 ixl_raise_i2c_clk(pf, &i2cctl); in ixl_clock_out_i2c_bit()
262 ixl_lower_i2c_clk(pf, &i2cctl); in ixl_clock_out_i2c_bit()
270 ixl_dbg(pf, IXL_DBG_I2C, "I2C data was not set to %#x\n", data); in ixl_clock_out_i2c_bit()
284 ixl_clock_out_i2c_byte(struct ixl_pf *pf, u8 data) in ixl_clock_out_i2c_byte() argument
286 struct i40e_hw *hw = &pf->hw; in ixl_clock_out_i2c_byte()
296 status = ixl_clock_out_i2c_bit(pf, bit); in ixl_clock_out_i2c_byte()
320 ixl_lower_i2c_clk(struct ixl_pf *pf, u32 *i2cctl) in ixl_lower_i2c_clk() argument
322 struct i40e_hw *hw = &pf->hw; in ixl_lower_i2c_clk()
342 ixl_raise_i2c_clk(struct ixl_pf *pf, u32 *i2cctl) in ixl_raise_i2c_clk() argument
344 struct i40e_hw *hw = &pf->hw; in ixl_raise_i2c_clk()
372 ixl_get_i2c_data(struct ixl_pf *pf, u32 *i2cctl) in ixl_get_i2c_data() argument
393 ixl_set_i2c_data(struct ixl_pf *pf, u32 *i2cctl, bool data) in ixl_set_i2c_data() argument
395 struct i40e_hw *hw = &pf->hw; in ixl_set_i2c_data()
414 if (data != ixl_get_i2c_data(pf, i2cctl)) { in ixl_set_i2c_data()
416 ixl_dbg(pf, IXL_DBG_I2C, "Error - I2C data was not set to %X.\n", data); in ixl_set_i2c_data()
427 ixl_i2c_start(struct ixl_pf *pf) in ixl_i2c_start() argument
429 struct i40e_hw *hw = &pf->hw; in ixl_i2c_start()
435 ixl_set_i2c_data(pf, &i2cctl, 1); in ixl_i2c_start()
436 ixl_raise_i2c_clk(pf, &i2cctl); in ixl_i2c_start()
441 ixl_set_i2c_data(pf, &i2cctl, 0); in ixl_i2c_start()
446 ixl_lower_i2c_clk(pf, &i2cctl); in ixl_i2c_start()
457 ixl_read_i2c_byte_bb(struct ixl_pf *pf, u8 byte_offset, in ixl_read_i2c_byte_bb() argument
460 struct i40e_hw *hw = &pf->hw; in ixl_read_i2c_byte_bb()
473 ixl_i2c_start(pf); in ixl_read_i2c_byte_bb()
476 status = ixl_clock_out_i2c_byte(pf, dev_addr); in ixl_read_i2c_byte_bb()
478 ixl_dbg(pf, IXL_DBG_I2C, "dev_addr clock out error\n"); in ixl_read_i2c_byte_bb()
482 status = ixl_get_i2c_ack(pf); in ixl_read_i2c_byte_bb()
484 ixl_dbg(pf, IXL_DBG_I2C, "dev_addr i2c ack error\n"); in ixl_read_i2c_byte_bb()
488 status = ixl_clock_out_i2c_byte(pf, byte_offset); in ixl_read_i2c_byte_bb()
490 ixl_dbg(pf, IXL_DBG_I2C, "byte_offset clock out error\n"); in ixl_read_i2c_byte_bb()
494 status = ixl_get_i2c_ack(pf); in ixl_read_i2c_byte_bb()
496 ixl_dbg(pf, IXL_DBG_I2C, "byte_offset i2c ack error\n"); in ixl_read_i2c_byte_bb()
500 ixl_i2c_start(pf); in ixl_read_i2c_byte_bb()
503 status = ixl_clock_out_i2c_byte(pf, (dev_addr | 0x1)); in ixl_read_i2c_byte_bb()
507 status = ixl_get_i2c_ack(pf); in ixl_read_i2c_byte_bb()
511 status = ixl_clock_in_i2c_byte(pf, data); in ixl_read_i2c_byte_bb()
515 status = ixl_clock_out_i2c_bit(pf, nack); in ixl_read_i2c_byte_bb()
519 ixl_i2c_stop(pf); in ixl_read_i2c_byte_bb()
524 ixl_i2c_bus_clear(pf); in ixl_read_i2c_byte_bb()
528 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte read error - Retrying\n"); in ixl_read_i2c_byte_bb()
530 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte read error\n"); in ixl_read_i2c_byte_bb()
546 ixl_write_i2c_byte_bb(struct ixl_pf *pf, u8 byte_offset, in ixl_write_i2c_byte_bb() argument
549 struct i40e_hw *hw = &pf->hw; in ixl_write_i2c_byte_bb()
560 ixl_i2c_start(pf); in ixl_write_i2c_byte_bb()
562 status = ixl_clock_out_i2c_byte(pf, dev_addr); in ixl_write_i2c_byte_bb()
566 status = ixl_get_i2c_ack(pf); in ixl_write_i2c_byte_bb()
570 status = ixl_clock_out_i2c_byte(pf, byte_offset); in ixl_write_i2c_byte_bb()
574 status = ixl_get_i2c_ack(pf); in ixl_write_i2c_byte_bb()
578 status = ixl_clock_out_i2c_byte(pf, data); in ixl_write_i2c_byte_bb()
582 status = ixl_get_i2c_ack(pf); in ixl_write_i2c_byte_bb()
586 ixl_i2c_stop(pf); in ixl_write_i2c_byte_bb()
590 ixl_i2c_bus_clear(pf); in ixl_write_i2c_byte_bb()
594 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte write error - Retrying\n"); in ixl_write_i2c_byte_bb()
596 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte write error\n"); in ixl_write_i2c_byte_bb()
612 ixl_read_i2c_byte_reg(struct ixl_pf *pf, u8 byte_offset, in ixl_read_i2c_byte_reg() argument
615 struct i40e_hw *hw = &pf->hw; in ixl_read_i2c_byte_reg()
634 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte read error\n"); in ixl_read_i2c_byte_reg()
642 ixl_write_i2c_byte_reg(struct ixl_pf *pf, u8 byte_offset, in ixl_write_i2c_byte_reg() argument
645 struct i40e_hw *hw = &pf->hw; in ixl_write_i2c_byte_reg()
651 status = ixl_read_i2c_byte_reg(pf, byte_offset + 1, dev_addr, &upperbyte); in ixl_write_i2c_byte_reg()
670 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte write error\n"); in ixl_write_i2c_byte_reg()
700 ixl_read_i2c_byte_aq(struct ixl_pf *pf, u8 byte_offset, in ixl_read_i2c_byte_aq() argument
703 struct i40e_hw *hw = &pf->hw; in ixl_read_i2c_byte_aq()
714 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte read status %s, error %s\n", in ixl_read_i2c_byte_aq()
726 ixl_write_i2c_byte_aq(struct ixl_pf *pf, u8 byte_offset, in ixl_write_i2c_byte_aq() argument
729 struct i40e_hw *hw = &pf->hw; in ixl_write_i2c_byte_aq()
739 ixl_dbg(pf, IXL_DBG_I2C, "I2C byte write status %s, error %s\n", in ixl_write_i2c_byte_aq()