Lines Matching defs: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,
118 * @offset: dummy variable
122 u32 E1000_UNUSEDARG offset, u16 E1000_UNUSEDARG *data)
153 * @offset: dummy variable
157 u32 E1000_UNUSEDARG offset, u16 E1000_UNUSEDARG data)
166 * @byte_offset: byte offset to write
183 * @byte_offset: byte offset to write
284 * @offset: register offset to be read
287 * Reads the MDI control register in the PHY at offset and stores the
290 s32 e1000_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
297 if (offset > MAX_PHY_REG_ADDRESS) {
298 DEBUGOUT1("PHY Address %d is out of range\n", offset);
302 /* Set up Op-code, Phy Address, and register offset in the MDI
306 mdic = ((offset << E1000_MDIC_REG_SHIFT) |
330 if (((mdic & E1000_MDIC_REG_MASK) >> E1000_MDIC_REG_SHIFT) != offset) {
331 DEBUGOUT2("MDI Read offset error - requested %d, returned %d\n",
332 offset,
350 * @offset: register offset to write to
351 * @data: data to write to register at offset
353 * Writes data to MDI control register in the PHY at offset.
355 s32 e1000_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
362 if (offset > MAX_PHY_REG_ADDRESS) {
363 DEBUGOUT1("PHY Address %d is out of range\n", offset);
367 /* Set up Op-code, Phy Address, and register offset in the MDI
372 (offset << E1000_MDIC_REG_SHIFT) |
396 if (((mdic & E1000_MDIC_REG_MASK) >> E1000_MDIC_REG_SHIFT) != offset) {
397 DEBUGOUT2("MDI Write offset error - requested %d, returned %d\n",
398 offset,
415 * @offset: register offset to be read
418 * Reads the PHY register at offset using the i2c interface and stores the
421 s32 e1000_read_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 *data)
432 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
463 * @offset: register offset to write to
464 * @data: data to write at register offset
466 * Writes the data to PHY register at the offset using the i2c interface.
468 s32 e1000_write_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 data)
490 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
519 * @offset: byte location offset to be read
525 * E1000_I2CCMD_SFP_DATA_ADDR(<byte offset>) for SFP module database access
526 * E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
529 s32 e1000_read_sfp_data_byte(struct e1000_hw *hw, u16 offset, u8 *data)
537 if (offset > E1000_I2CCMD_SFP_DIAG_ADDR(255)) {
546 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
574 * @offset: byte location offset to write to
580 * E1000_I2CCMD_SFP_DATA_ADDR(<byte offset>) for SFP module database access
581 * E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
584 s32 e1000_write_sfp_data_byte(struct e1000_hw *hw, u16 offset, u8 data)
592 if (offset > E1000_I2CCMD_SFP_DIAG_ADDR(255)) {
605 i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) |
624 i2ccmd = ((offset <<
647 * @offset: register offset to be read
650 * Acquires semaphore, if necessary, then reads the PHY register at offset
654 s32 e1000_read_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 *data)
667 ret_val = e1000_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
678 * @offset: register offset to write to
679 * @data: data to write at register offset
682 * at the offset. Release any acquired semaphores before exiting.
684 s32 e1000_write_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 data)
697 ret_val = e1000_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset,
728 * @offset: register offset to be read
732 * Acquires semaphore, if necessary, then reads the PHY register at offset
736 static s32 __e1000_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data,
752 if (offset > MAX_PHY_MULTI_PAGE_REG)
755 (u16)offset);
758 MAX_PHY_REG_ADDRESS & offset,
769 * @offset: register offset to be read
772 * Acquires semaphore then reads the PHY register at offset and stores the
776 s32 e1000_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data)
778 return __e1000_read_phy_reg_igp(hw, offset, data, false);
784 * @offset: register offset to be read
787 * Reads the PHY register at offset and stores the retrieved information
790 s32 e1000_read_phy_reg_igp_locked(struct e1000_hw *hw, u32 offset, u16 *data)
792 return __e1000_read_phy_reg_igp(hw, offset, data, true);
798 * @offset: register offset to write to
799 * @data: data to write at register offset
803 * at the offset. Release any acquired semaphores before exiting.
805 static s32 __e1000_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data,
821 if (offset > MAX_PHY_MULTI_PAGE_REG)
824 (u16)offset);
827 offset,
838 * @offset: register offset to write to
839 * @data: data to write at register offset
842 * at the offset. Release any acquired semaphores before exiting.
844 s32 e1000_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data)
846 return __e1000_write_phy_reg_igp(hw, offset, data, false);
852 * @offset: register offset to write to
853 * @data: data to write at register offset
855 * Writes the data to PHY register at the offset.
858 s32 e1000_write_phy_reg_igp_locked(struct e1000_hw *hw, u32 offset, u16 data)
860 return __e1000_write_phy_reg_igp(hw, offset, data, true);
866 * @offset: register offset to be read
870 * Acquires semaphore, if necessary. Then reads the PHY register at offset
874 static s32 __e1000_read_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 *data,
892 kmrnctrlsta = ((offset << E1000_KMRNCTRLSTA_OFFSET_SHIFT) &
911 * @offset: register offset to be read
914 * Acquires semaphore then reads the PHY register at offset using the
918 s32 e1000_read_kmrn_reg_generic(struct e1000_hw *hw, u32 offset, u16 *data)
920 return __e1000_read_kmrn_reg(hw, offset, data, false);
926 * @offset: register offset to be read
929 * Reads the PHY register at offset using the kumeran interface. The
933 s32 e1000_read_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 *data)
935 return __e1000_read_kmrn_reg(hw, offset, data, true);
941 * @offset: register offset to write to
942 * @data: data to write at register offset
946 * at the offset using the kumeran interface. Release any acquired semaphores
949 static s32 __e1000_write_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 data,
967 kmrnctrlsta = ((offset << E1000_KMRNCTRLSTA_OFFSET_SHIFT) &
983 * @offset: register offset to write to
984 * @data: data to write at register offset
986 * Acquires semaphore then writes the data to the PHY register at the offset
989 s32 e1000_write_kmrn_reg_generic(struct e1000_hw *hw, u32 offset, u16 data)
991 return __e1000_write_kmrn_reg(hw, offset, data, false);
997 * @offset: register offset to write to
998 * @data: data to write at register offset
1000 * Write the data to PHY register at the offset using the kumeran interface.
1003 s32 e1000_write_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 data)
1005 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