Lines Matching refs:offset

39 static s32 e1000_access_phy_wakeup_reg_bm(struct e1000_hw *hw, u32 offset,
42 static s32 e1000_access_phy_debug_regs_hv(struct e1000_hw *hw, u32 offset,
119 * @offset: dummy variable
123 u32 E1000_UNUSEDARG offset, u16 E1000_UNUSEDARG *data)
154 * @offset: dummy variable
158 u32 E1000_UNUSEDARG offset, u16 E1000_UNUSEDARG data)
167 * @byte_offset: byte offset to write
184 * @byte_offset: byte offset to write
285 * @offset: register offset to be read
288 * Reads the MDI control register in the PHY at offset and stores the
291 s32 e1000_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
298 if (offset > MAX_PHY_REG_ADDRESS) {
299 DEBUGOUT1("PHY Address %d is out of range\n", offset);
303 /* Set up Op-code, Phy Address, and register offset in the MDI
307 mdic = ((offset << E1000_MDIC_REG_SHIFT) |
331 if (((mdic & E1000_MDIC_REG_MASK) >> E1000_MDIC_REG_SHIFT) != offset) {
332 DEBUGOUT2("MDI Read offset error - requested %d, returned %d\n",
333 offset,
351 * @offset: register offset to write to
352 * @data: data to write to register at offset
354 * Writes data to MDI control register in the PHY at offset.
356 s32 e1000_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
363 if (offset > MAX_PHY_REG_ADDRESS) {
364 DEBUGOUT1("PHY Address %d is out of range\n", offset);
368 /* Set up Op-code, Phy Address, and register offset in the MDI
373 (offset << E1000_MDIC_REG_SHIFT) |
397 if (((mdic & E1000_MDIC_REG_MASK) >> E1000_MDIC_REG_SHIFT) != offset) {
398 DEBUGOUT2("MDI Write offset error - requested %d, returned %d\n",
399 offset,
416 * @offset: register offset to be read
419 * Reads the PHY register at offset using the i2c interface and stores the
422 s32 e1000_read_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 *data)
433 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
464 * @offset: register offset to write to
465 * @data: data to write at register offset
467 * Writes the data to PHY register at the offset using the i2c interface.
469 s32 e1000_write_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 data)
491 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
520 * @offset: byte location offset to be read
526 * E1000_I2CCMD_SFP_DATA_ADDR(<byte offset>) for SFP module database access
527 * E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
530 s32 e1000_read_sfp_data_byte(struct e1000_hw *hw, u16 offset, u8 *data)
538 if (offset > E1000_I2CCMD_SFP_DIAG_ADDR(255)) {
547 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
575 * @offset: byte location offset to write to
581 * E1000_I2CCMD_SFP_DATA_ADDR(<byte offset>) for SFP module database access
582 * E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
585 s32 e1000_write_sfp_data_byte(struct e1000_hw *hw, u16 offset, u8 data)
593 if (offset > E1000_I2CCMD_SFP_DIAG_ADDR(255)) {
606 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
625 i2ccmd = ((offset <<
648 * @offset: register offset to be read
651 * Acquires semaphore, if necessary, then reads the PHY register at offset
655 s32 e1000_read_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 *data)
668 ret_val = e1000_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
679 * @offset: register offset to write to
680 * @data: data to write at register offset
683 * at the offset. Release any acquired semaphores before exiting.
685 s32 e1000_write_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 data)
698 ret_val = e1000_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
729 * @offset: register offset to be read
733 * Acquires semaphore, if necessary, then reads the PHY register at offset
737 static s32 __e1000_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data,
753 if (offset > MAX_PHY_MULTI_PAGE_REG)
756 (u16)offset);
759 MAX_PHY_REG_ADDRESS & offset,
770 * @offset: register offset to be read
773 * Acquires semaphore then reads the PHY register at offset and stores the
777 s32 e1000_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data)
779 return __e1000_read_phy_reg_igp(hw, offset, data, false);
785 * @offset: register offset to be read
788 * Reads the PHY register at offset and stores the retrieved information
791 s32 e1000_read_phy_reg_igp_locked(struct e1000_hw *hw, u32 offset, u16 *data)
793 return __e1000_read_phy_reg_igp(hw, offset, data, true);
799 * @offset: register offset to write to
800 * @data: data to write at register offset
804 * at the offset. Release any acquired semaphores before exiting.
806 static s32 __e1000_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data,
822 if (offset > MAX_PHY_MULTI_PAGE_REG)
825 (u16)offset);
828 offset,
839 * @offset: register offset to write to
840 * @data: data to write at register offset
843 * at the offset. Release any acquired semaphores before exiting.
845 s32 e1000_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data)
847 return __e1000_write_phy_reg_igp(hw, offset, data, false);
853 * @offset: register offset to write to
854 * @data: data to write at register offset
856 * Writes the data to PHY register at the offset.
859 s32 e1000_write_phy_reg_igp_locked(struct e1000_hw *hw, u32 offset, u16 data)
861 return __e1000_write_phy_reg_igp(hw, offset, data, true);
867 * @offset: register offset to be read
871 * Acquires semaphore, if necessary. Then reads the PHY register at offset
875 static s32 __e1000_read_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 *data,
893 kmrnctrlsta = ((offset << E1000_KMRNCTRLSTA_OFFSET_SHIFT) &
912 * @offset: register offset to be read
915 * Acquires semaphore then reads the PHY register at offset using the
919 s32 e1000_read_kmrn_reg_generic(struct e1000_hw *hw, u32 offset, u16 *data)
921 return __e1000_read_kmrn_reg(hw, offset, data, false);
927 * @offset: register offset to be read
930 * Reads the PHY register at offset using the kumeran interface. The
934 s32 e1000_read_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 *data)
936 return __e1000_read_kmrn_reg(hw, offset, data, true);
942 * @offset: register offset to write to
943 * @data: data to write at register offset
947 * at the offset using the kumeran interface. Release any acquired semaphores
950 static s32 __e1000_write_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 data,
968 kmrnctrlsta = ((offset << E1000_KMRNCTRLSTA_OFFSET_SHIFT) &
984 * @offset: register offset to write to
985 * @data: data to write at register offset
987 * Acquires semaphore then writes the data to the PHY register at the offset
990 s32 e1000_write_kmrn_reg_generic(struct e1000_hw *hw, u32 offset, u16 data)
992 return __e1000_write_kmrn_reg(hw, offset, data, false);
998 * @offset: register offset to write to
999 * @data: data to write at register offset
1001 * Write the data to PHY register at the offset using the kumeran interface.
1004 s32 e1000_write_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 data)
1006 return __e1000_write_kmrn_reg(hw, offset, data, true);
2176 u16 phy_data, offset, mask;
2186 offset = M88E1000_PHY_SPEC_STATUS;
2192 offset = IGP01E1000_PHY_LINK_HEALTH;
2201 ret_val = phy->ops.read_reg(hw, offset, &phy_data);
2248 u16 data, offset, mask;
2261 offset = IGP01E1000_PHY_PCS_INIT_REG;
2267 offset = IGP01E1000_PHY_PORT_STATUS;
2271 ret_val = phy->ops.read_reg(hw, offset, &data);
2291 u16 phy_data, offset, mask;
2298 offset = IFE_PHY_EXTENDED_STATUS_CONTROL;
2301 offset = IFE_PHY_SPECIAL_CONTROL;
2305 ret_val = phy->ops.read_reg(hw, offset, &phy_data);
3118 * @offset: register offset to write to
3119 * @data: data to write at register offset
3122 * at the offset. Release any acquired semaphores before exiting.
3124 s32 e1000_write_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 data)
3127 u32 page = offset >> IGP_PAGE_SHIFT;
3137 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, &data,
3142 hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset);
3144 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3166 ret_val = e1000_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3177 * @offset: register offset to be read
3180 * Acquires semaphore, if necessary, then reads the PHY register at offset
3184 s32 e1000_read_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 *data)
3187 u32 page = offset >> IGP_PAGE_SHIFT;
3197 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, data,
3202 hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset);
3204 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3226 ret_val = e1000_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3236 * @offset: register offset to be read
3239 * Acquires semaphore, if necessary, then reads the PHY register at offset
3243 s32 e1000_read_phy_reg_bm2(struct e1000_hw *hw, u32 offset, u16 *data)
3246 u16 page = (u16)(offset >> IGP_PAGE_SHIFT);
3256 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, data,
3263 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3272 ret_val = e1000_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3282 * @offset: register offset to write to
3283 * @data: data to write at register offset
3286 * at the offset. Release any acquired semaphores before exiting.
3288 s32 e1000_write_phy_reg_bm2(struct e1000_hw *hw, u32 offset, u16 data)
3291 u16 page = (u16)(offset >> IGP_PAGE_SHIFT);
3301 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, &data,
3308 if (offset > MAX_PHY_MULTI_PAGE_REG) {
3317 ret_val = e1000_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
3419 * @offset: register offset to be read or written
3424 * Read the PHY register at offset and store the retrieved information in
3425 * data, or write data to PHY register at offset. Note the procedure to
3441 static s32 e1000_access_phy_wakeup_reg_bm(struct e1000_hw *hw, u32 offset,
3445 u16 reg = BM_PHY_REG_NUM(offset);
3446 u16 page = BM_PHY_REG_PAGE(offset);
3468 /* Write the Wakeup register page offset value using opcode 0x11 */
3536 * @offset: register offset to be read
3541 * Acquires semaphore, if necessary, then reads the PHY register at offset
3545 static s32 __e1000_read_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 *data,
3549 u16 page = BM_PHY_REG_PAGE(offset);
3550 u16 reg = BM_PHY_REG_NUM(offset);
3562 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, data,
3568 ret_val = e1000_access_phy_debug_regs_hv(hw, offset,
3604 * @offset: register offset to be read
3607 * Acquires semaphore then reads the PHY register at offset and stores
3611 s32 e1000_read_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 *data)
3613 return __e1000_read_phy_reg_hv(hw, offset, data, false, false);
3619 * @offset: register offset to be read
3622 * Reads the PHY register at offset and stores the retrieved information
3625 s32 e1000_read_phy_reg_hv_locked(struct e1000_hw *hw, u32 offset, u16 *data)
3627 return __e1000_read_phy_reg_hv(hw, offset, data, true, false);
3633 * @offset: register offset to write to
3634 * @data: data to write at register offset
3636 * Reads the PHY register at offset and stores the retrieved information
3639 s32 e1000_read_phy_reg_page_hv(struct e1000_hw *hw, u32 offset, u16 *data)
3641 return __e1000_read_phy_reg_hv(hw, offset, data, true, true);
3647 * @offset: register offset to write to
3648 * @data: data to write at register offset
3653 * at the offset. Release any acquired semaphores before exiting.
3655 static s32 __e1000_write_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 data,
3659 u16 page = BM_PHY_REG_PAGE(offset);
3660 u16 reg = BM_PHY_REG_NUM(offset);
3672 ret_val = e1000_access_phy_wakeup_reg_bm(hw, offset, &data,
3678 ret_val = e1000_access_phy_debug_regs_hv(hw, offset,
3731 * @offset: register offset to write to
3732 * @data: data to write at register offset
3734 * Acquires semaphore then writes the data to PHY register at the offset.
3737 s32 e1000_write_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 data)
3739 return __e1000_write_phy_reg_hv(hw, offset, data, false, 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_hv_locked(struct e1000_hw *hw, u32 offset, u16 data)
3753 return __e1000_write_phy_reg_hv(hw, offset, data, true, false);
3759 * @offset: register offset to write to
3760 * @data: data to write at register offset
3762 * Writes the data to PHY register at the offset. Assumes semaphore
3765 s32 e1000_write_phy_reg_page_hv(struct e1000_hw *hw, u32 offset, u16 data)
3767 return __e1000_write_phy_reg_hv(hw, offset, data, true, true);
3787 * @offset: register offset to be read or written
3791 * Reads the PHY register at offset and stores the retreived information
3796 static s32 e1000_access_phy_debug_regs_hv(struct e1000_hw *hw, u32 offset,
3813 /* masking with 0x3F to remove the page from offset */
3814 ret_val = e1000_write_phy_reg_mdic(hw, addr_reg, (u16)offset & 0x3F);
4053 * @offset: register offset to write to
4054 * @data: data to write at register offset
4057 * at the offset. Release any acquired semaphores before exiting.
4059 s32 e1000_write_phy_reg_gs40g(struct e1000_hw *hw, u32 offset, u16 data)
4062 u16 page = offset >> GS40G_PAGE_SHIFT;
4066 offset = offset & GS40G_OFFSET_MASK;
4074 ret_val = e1000_write_phy_reg_mdic(hw, offset, data);
4084 * @offset: lower half is register offset to read to
4086 * @data: data to read at register offset
4089 * at the offset. Release any acquired semaphores before exiting.
4091 s32 e1000_read_phy_reg_gs40g(struct e1000_hw *hw, u32 offset, u16 *data)
4094 u16 page = offset >> GS40G_PAGE_SHIFT;
4098 offset = offset & GS40G_OFFSET_MASK;
4106 ret_val = e1000_read_phy_reg_mdic(hw, offset, data);
4119 * Reads the mPHY control register in the PHY at offset and stores the
4178 * @data: data to write to register at offset