Lines Matching refs:offset

38 static s32 e1000_access_phy_wakeup_reg_bm(struct e1000_hw *hw, u32 offset,
41 static s32 e1000_access_phy_debug_regs_hv(struct e1000_hw *hw, u32 offset,
119 u32 E1000_UNUSEDARG offset, u16 E1000_UNUSEDARG *data)
151 u32 E1000_UNUSEDARG offset, u16 E1000_UNUSEDARG data)
160 * @byte_offset: byte offset to write
177 * @byte_offset: byte offset to write
278 * @offset: register offset to be read
281 * Reads the MDI control register in the PHY at offset and stores the
284 s32 e1000_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
291 if (offset > MAX_PHY_REG_ADDRESS) {
292 DEBUGOUT1("PHY Address %d is out of range\n", offset);
296 /* Set up Op-code, Phy Address, and register offset in the MDI
300 mdic = ((offset << E1000_MDIC_REG_SHIFT) |
324 if (((mdic & E1000_MDIC_REG_MASK) >> E1000_MDIC_REG_SHIFT) != offset) {
325 DEBUGOUT2("MDI Read offset error - requested %d, returned %d\n",
326 offset,
344 * @offset: register offset to write to
345 * @data: data to write to register at offset
347 * Writes data to MDI control register in the PHY at offset.
349 s32 e1000_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
356 if (offset > MAX_PHY_REG_ADDRESS) {
357 DEBUGOUT1("PHY Address %d is out of range\n", offset);
361 /* Set up Op-code, Phy Address, and register offset in the MDI
366 (offset << E1000_MDIC_REG_SHIFT) |
390 if (((mdic & E1000_MDIC_REG_MASK) >> E1000_MDIC_REG_SHIFT) != offset) {
391 DEBUGOUT2("MDI Write offset error - requested %d, returned %d\n",
392 offset,
409 * @offset: register offset to be read
412 * Reads the PHY register at offset using the i2c interface and stores the
415 s32 e1000_read_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 *data)
426 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
457 * @offset: register offset to write to
458 * @data: data to write at register offset
460 * Writes the data to PHY register at the offset using the i2c interface.
462 s32 e1000_write_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 data)
484 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
513 * @offset: byte location offset to be read
519 * E1000_I2CCMD_SFP_DATA_ADDR(<byte offset>) for SFP module database access
520 * E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
523 s32 e1000_read_sfp_data_byte(struct e1000_hw *hw, u16 offset, u8 *data)
531 if (offset > E1000_I2CCMD_SFP_DIAG_ADDR(255)) {
540 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
568 * @offset: byte location offset to write to
574 * E1000_I2CCMD_SFP_DATA_ADDR(<byte offset>) for SFP module database access
575 * E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
578 s32 e1000_write_sfp_data_byte(struct e1000_hw *hw, u16 offset, u8 data)
586 if (offset > E1000_I2CCMD_SFP_DIAG_ADDR(255)) {
599 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
618 i2ccmd = ((offset <<
641 * @offset: register offset to be read
644 * Acquires semaphore, if necessary, then reads the PHY register at offset
648 s32 e1000_read_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 *data)
661 ret_val = e1000_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
672 * @offset: register offset to write to
673 * @data: data to write at register offset
676 * at the offset. Release any acquired semaphores before exiting.
678 s32 e1000_write_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 data)
691 ret_val = e1000_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
722 * @offset: register offset to be read
726 * Acquires semaphore, if necessary, then reads the PHY register at offset
730 static s32 __e1000_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data,
746 if (offset > MAX_PHY_MULTI_PAGE_REG)
749 (u16)offset);
752 MAX_PHY_REG_ADDRESS & offset,
763 * @offset: register offset to be read
766 * Acquires semaphore then reads the PHY register at offset and stores the
770 s32 e1000_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data)
772 return __e1000_read_phy_reg_igp(hw, offset, data, FALSE);
778 * @offset: register offset to be read
781 * Reads the PHY register at offset and stores the retrieved information
784 s32 e1000_read_phy_reg_igp_locked(struct e1000_hw *hw, u32 offset, u16 *data)
786 return __e1000_read_phy_reg_igp(hw, offset, data, TRUE);
792 * @offset: register offset to write to
793 * @data: data to write at register offset
797 * at the offset. Release any acquired semaphores before exiting.
799 static s32 __e1000_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data,
815 if (offset > MAX_PHY_MULTI_PAGE_REG)
818 (u16)offset);
821 offset,
832 * @offset: register offset to write to
833 * @data: data to write at register offset
836 * at the offset. Release any acquired semaphores before exiting.
838 s32 e1000_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data)
840 return __e1000_write_phy_reg_igp(hw, offset, data, FALSE);
846 * @offset: register offset to write to
847 * @data: data to write at register offset
849 * Writes the data to PHY register at the offset.
852 s32 e1000_write_phy_reg_igp_locked(struct e1000_hw *hw, u32 offset, u16 data)
854 return __e1000_write_phy_reg_igp(hw, offset, data, TRUE);
860 * @offset: register offset to be read
864 * Acquires semaphore, if necessary. Then reads the PHY register at offset
868 static s32 __e1000_read_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 *data,
886 kmrnctrlsta = ((offset << E1000_KMRNCTRLSTA_OFFSET_SHIFT) &
905 * @offset: register offset to be read
908 * Acquires semaphore then reads the PHY register at offset using the
912 s32 e1000_read_kmrn_reg_generic(struct e1000_hw *hw, u32 offset, u16 *data)
914 return __e1000_read_kmrn_reg(hw, offset, data, FALSE);
920 * @offset: register offset to be read
923 * Reads the PHY register at offset using the kumeran interface. The
927 s32 e1000_read_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 *data)
929 return __e1000_read_kmrn_reg(hw, offset, data, TRUE);
935 * @offset: register offset to write to
936 * @data: data to write at register offset
940 * at the offset using the kumeran interface. Release any acquired semaphores
943 static s32 __e1000_write_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 data,
961 kmrnctrlsta = ((offset << E1000_KMRNCTRLSTA_OFFSET_SHIFT) &
977 * @offset: register offset to write to
978 * @data: data to write at register offset
980 * Acquires semaphore then writes the data to the PHY register at the offset
983 s32 e1000_write_kmrn_reg_generic(struct e1000_hw *hw, u32 offset, u16 data)
985 return __e1000_write_kmrn_reg(hw, offset, data, FALSE);
991 * @offset: register offset to write to
992 * @data: data to write at register offset
994 * Write the data to PHY register at the offset using the kumeran interface.
997 s32 e1000_write_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 data)
999 return __e1000_write_kmrn_reg(hw, offset, data, TRUE);
2165 u16 phy_data, offset, mask;
2175 offset = M88E1000_PHY_SPEC_STATUS;
2181 offset = IGP01E1000_PHY_LINK_HEALTH;
2190 ret_val = phy->ops.read_reg(hw, offset, &phy_data);
2237 u16 data, offset, mask;
2250 offset = IGP01E1000_PHY_PCS_INIT_REG;
2256 offset = IGP01E1000_PHY_PORT_STATUS;
2260 ret_val = phy->ops.read_reg(hw, offset, &data);
2280 u16 phy_data, offset, mask;
2287 offset = IFE_PHY_EXTENDED_STATUS_CONTROL;
2290 offset = IFE_PHY_SPECIAL_CONTROL;
2294 ret_val = phy->ops.read_reg(hw, offset, &phy_data);
3106 * @offset: register offset to write to
3107 * @data: data to write at register offset
3110 * at the offset. Release any acquired semaphores before exiting.
3112 s32 e1000_write_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 data)
3115 u32 page = offset >> IGP_PAGE_SHIFT;
3125 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, &data,
3130 hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset);
3132 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3154 ret_val = e1000_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3165 * @offset: register offset to be read
3168 * Acquires semaphore, if necessary, then reads the PHY register at offset
3172 s32 e1000_read_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 *data)
3175 u32 page = offset >> IGP_PAGE_SHIFT;
3185 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, data,
3190 hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset);
3192 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3214 ret_val = e1000_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3224 * @offset: register offset to be read
3227 * Acquires semaphore, if necessary, then reads the PHY register at offset
3231 s32 e1000_read_phy_reg_bm2(struct e1000_hw *hw, u32 offset, u16 *data)
3234 u16 page = (u16)(offset >> IGP_PAGE_SHIFT);
3244 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, data,
3251 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3260 ret_val = e1000_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3270 * @offset: register offset to write to
3271 * @data: data to write at register offset
3274 * at the offset. Release any acquired semaphores before exiting.
3276 s32 e1000_write_phy_reg_bm2(struct e1000_hw *hw, u32 offset, u16 data)
3279 u16 page = (u16)(offset >> IGP_PAGE_SHIFT);
3289 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, &data,
3296 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3305 ret_val = e1000_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3407 * @offset: register offset to be read or written
3412 * Read the PHY register at offset and store the retrieved information in
3413 * data, or write data to PHY register at offset. Note the procedure to
3429 static s32 e1000_access_phy_wakeup_reg_bm(struct e1000_hw *hw, u32 offset,
3433 u16 reg = BM_PHY_REG_NUM(offset);
3434 u16 page = BM_PHY_REG_PAGE(offset);
3456 /* Write the Wakeup register page offset value using opcode 0x11 */
3524 * @offset: register offset to be read
3528 * Acquires semaphore, if necessary, then reads the PHY register at offset
3532 static s32 __e1000_read_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 *data,
3536 u16 page = BM_PHY_REG_PAGE(offset);
3537 u16 reg = BM_PHY_REG_NUM(offset);
3549 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, data,
3555 ret_val = e1000_access_phy_debug_regs_hv(hw, offset,
3591 * @offset: register offset to be read
3594 * Acquires semaphore then reads the PHY register at offset and stores
3598 s32 e1000_read_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 *data)
3600 return __e1000_read_phy_reg_hv(hw, offset, data, FALSE, false);
3606 * @offset: register offset to be read
3609 * Reads the PHY register at offset and stores the retrieved information
3612 s32 e1000_read_phy_reg_hv_locked(struct e1000_hw *hw, u32 offset, u16 *data)
3614 return __e1000_read_phy_reg_hv(hw, offset, data, TRUE, FALSE);
3620 * @offset: register offset to write to
3621 * @data: data to write at register offset
3623 * Reads the PHY register at offset and stores the retrieved information
3626 s32 e1000_read_phy_reg_page_hv(struct e1000_hw *hw, u32 offset, u16 *data)
3628 return __e1000_read_phy_reg_hv(hw, offset, data, TRUE, true);
3634 * @offset: register offset to write to
3635 * @data: data to write at register offset
3639 * at the offset. Release any acquired semaphores before exiting.
3641 static s32 __e1000_write_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 data,
3645 u16 page = BM_PHY_REG_PAGE(offset);
3646 u16 reg = BM_PHY_REG_NUM(offset);
3658 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, &data,
3664 ret_val = e1000_access_phy_debug_regs_hv(hw, offset,
3717 * @offset: register offset to write to
3718 * @data: data to write at register offset
3720 * Acquires semaphore then writes the data to PHY register at the offset.
3723 s32 e1000_write_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 data)
3725 return __e1000_write_phy_reg_hv(hw, offset, data, FALSE, false);
3731 * @offset: register offset to write to
3732 * @data: data to write at register offset
3734 * Writes the data to PHY register at the offset. Assumes semaphore
3737 s32 e1000_write_phy_reg_hv_locked(struct e1000_hw *hw, u32 offset, u16 data)
3739 return __e1000_write_phy_reg_hv(hw, offset, data, TRUE, FALSE);
3745 * @offset: register offset to write to
3746 * @data: data to write at register offset
3748 * Writes the data to PHY register at the offset. Assumes semaphore
3751 s32 e1000_write_phy_reg_page_hv(struct e1000_hw *hw, u32 offset, u16 data)
3753 return __e1000_write_phy_reg_hv(hw, offset, data, TRUE, true);
3773 * @offset: register offset to be read or written
3777 * Reads the PHY register at offset and stores the retreived information
3782 static s32 e1000_access_phy_debug_regs_hv(struct e1000_hw *hw, u32 offset,
3799 /* masking with 0x3F to remove the page from offset */
3800 ret_val = e1000_write_phy_reg_mdic(hw, addr_reg, (u16)offset & 0x3F);
4039 * @offset: register offset to write to
4040 * @data: data to write at register offset
4043 * at the offset. Release any acquired semaphores before exiting.
4045 s32 e1000_write_phy_reg_gs40g(struct e1000_hw *hw, u32 offset, u16 data)
4048 u16 page = offset >> GS40G_PAGE_SHIFT;
4052 offset = offset & GS40G_OFFSET_MASK;
4060 ret_val = e1000_write_phy_reg_mdic(hw, offset, data);
4070 * @offset: lower half is register offset to read to
4072 * @data: data to read at register offset
4075 * at the offset. Release any acquired semaphores before exiting.
4077 s32 e1000_read_phy_reg_gs40g(struct e1000_hw *hw, u32 offset, u16 *data)
4080 u16 page = offset >> GS40G_PAGE_SHIFT;
4084 offset = offset & GS40G_OFFSET_MASK;
4092 ret_val = e1000_read_phy_reg_mdic(hw, offset, data);
4105 * Reads the mPHY control register in the PHY at offset and stores the
4164 * @data: data to write to register at offset