]> git.ipfire.org Git - thirdparty/linux.git/commit
e1000e: Workaround for sporadic MDI error on Meteor Lake systems
authorVitaly Lifshits <vitaly.lifshits@intel.com>
Thu, 4 Jan 2024 14:16:52 +0000 (16:16 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 27 Mar 2024 18:44:20 +0000 (11:44 -0700)
commit6dbdd4de0362c37e54e8b049781402e5a409e7d0
treed1edcfe6aa6ecda59ea1a07186186bc2cd300bb8
parentafbf75e8da8ce8a0698212953d350697bb4355a6
e1000e: Workaround for sporadic MDI error on Meteor Lake systems

On some Meteor Lake systems accessing the PHY via the MDIO interface may
result in an MDI error. This issue happens sporadically and in most cases
a second access to the PHY via the MDIO interface results in success.

As a workaround, introduce a retry counter which is set to 3 on Meteor
Lake systems. The driver will only return an error if 3 consecutive PHY
access attempts fail. The retry mechanism is disabled in specific flows,
where MDI errors are expected.

Fixes: cc23f4f0b6b9 ("e1000e: Add support for Meteor Lake")
Suggested-by: Nikolay Mushayev <nikolay.mushayev@intel.com>
Co-developed-by: Nir Efrati <nir.efrati@intel.com>
Signed-off-by: Nir Efrati <nir.efrati@intel.com>
Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/e1000e/hw.h
drivers/net/ethernet/intel/e1000e/ich8lan.c
drivers/net/ethernet/intel/e1000e/phy.c
drivers/net/ethernet/intel/e1000e/phy.h