-
Notifications
You must be signed in to change notification settings - Fork 19.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
generic: 6.6: backport pending fix for Aquantia PHY LEDs
The 'active-low' property was not applied correctly and two fixes are required to make inverted LEDs work as expected. Signed-off-by: Daniel Golle <[email protected]>
- Loading branch information
Showing
2 changed files
with
127 additions
and
0 deletions.
There are no files selected for viewing
55 changes: 55 additions & 0 deletions
55
target/linux/generic/pending-6.6/750-net-phy-aquantia-fix-setting-active_low-bit.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
From patchwork Tue Sep 17 13:49:40 2024 | ||
Content-Type: text/plain; charset="utf-8" | ||
MIME-Version: 1.0 | ||
Content-Transfer-Encoding: 7bit | ||
X-Patchwork-Submitter: Daniel Golle <[email protected]> | ||
X-Patchwork-Id: 13806176 | ||
X-Patchwork-Delegate: [email protected] | ||
Date: Tue, 17 Sep 2024 14:49:40 +0100 | ||
From: Daniel Golle <[email protected]> | ||
To: Andrew Lunn <[email protected]>, Heiner Kallweit <[email protected]>, | ||
Russell King <[email protected]>, | ||
"David S. Miller" <[email protected]>, | ||
Eric Dumazet <[email protected]>, | ||
Jakub Kicinski <[email protected]>, Paolo Abeni <[email protected]>, | ||
Daniel Golle <[email protected]>, | ||
Christian Marangi <[email protected]>, | ||
Bartosz Golaszewski <[email protected]>, | ||
Robert Marko <[email protected]>, | ||
Russell King <[email protected]>, [email protected], | ||
[email protected] | ||
Subject: [PATCH net 1/2] net: phy: aquantia: fix setting active_low bit | ||
Message-ID: | ||
<ab963584b0a7e3b4dac39472a4b82ca264d79630.1726580902.git.daniel@makrotopia.org> | ||
Precedence: bulk | ||
X-Mailing-List: [email protected] | ||
List-Id: <netdev.vger.kernel.org> | ||
List-Subscribe: <mailto:[email protected]> | ||
List-Unsubscribe: <mailto:[email protected]> | ||
MIME-Version: 1.0 | ||
Content-Disposition: inline | ||
X-Patchwork-Delegate: [email protected] | ||
|
||
phy_modify_mmd was used wrongly in aqr_phy_led_active_low_set() resulting | ||
in a no-op instead of setting the VEND1_GLOBAL_LED_DRIVE_VDD bit. | ||
Correctly set VEND1_GLOBAL_LED_DRIVE_VDD bit. | ||
|
||
Fixes: 61578f679378 ("net: phy: aquantia: add support for PHY LEDs") | ||
Signed-off-by: Daniel Golle <[email protected]> | ||
Reviewed-by: Russell King (Oracle) <[email protected]> | ||
--- | ||
drivers/net/phy/aquantia/aquantia_leds.c | 3 ++- | ||
1 file changed, 2 insertions(+), 1 deletion(-) | ||
|
||
--- a/drivers/net/phy/aquantia/aquantia_leds.c | ||
+++ b/drivers/net/phy/aquantia/aquantia_leds.c | ||
@@ -120,7 +120,8 @@ int aqr_phy_led_hw_control_set(struct ph | ||
int aqr_phy_led_active_low_set(struct phy_device *phydev, int index, bool enable) | ||
{ | ||
return phy_modify_mmd(phydev, MDIO_MMD_VEND1, AQR_LED_DRIVE(index), | ||
- VEND1_GLOBAL_LED_DRIVE_VDD, enable); | ||
+ VEND1_GLOBAL_LED_DRIVE_VDD, | ||
+ enable ? VEND1_GLOBAL_LED_DRIVE_VDD : 0); | ||
} | ||
|
||
int aqr_phy_led_polarity_set(struct phy_device *phydev, int index, unsigned long modes) |
72 changes: 72 additions & 0 deletions
72
...ux/generic/pending-6.6/751-net-phy-aquantia-fix-applying-active_low-bit-after-reset.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
From patchwork Tue Sep 17 13:49:55 2024 | ||
Content-Type: text/plain; charset="utf-8" | ||
MIME-Version: 1.0 | ||
Content-Transfer-Encoding: 7bit | ||
X-Patchwork-Submitter: Daniel Golle <[email protected]> | ||
X-Patchwork-Id: 13806177 | ||
X-Patchwork-Delegate: [email protected] | ||
Date: Tue, 17 Sep 2024 14:49:55 +0100 | ||
From: Daniel Golle <[email protected]> | ||
To: Andrew Lunn <[email protected]>, Heiner Kallweit <[email protected]>, | ||
Russell King <[email protected]>, | ||
"David S. Miller" <[email protected]>, | ||
Eric Dumazet <[email protected]>, | ||
Jakub Kicinski <[email protected]>, Paolo Abeni <[email protected]>, | ||
Daniel Golle <[email protected]>, | ||
Christian Marangi <[email protected]>, | ||
Bartosz Golaszewski <[email protected]>, | ||
Robert Marko <[email protected]>, | ||
Russell King <[email protected]>, [email protected], | ||
[email protected] | ||
Subject: [PATCH net 2/2] net: phy: aquantia: fix applying active_low bit | ||
after reset | ||
Message-ID: | ||
<9b1f0cd91f4cda54c8be56b4fe780480baf4aa0f.1726580902.git.daniel@makrotopia.org> | ||
References: | ||
<ab963584b0a7e3b4dac39472a4b82ca264d79630.1726580902.git.daniel@makrotopia.org> | ||
Precedence: bulk | ||
X-Mailing-List: [email protected] | ||
List-Id: <netdev.vger.kernel.org> | ||
List-Subscribe: <mailto:[email protected]> | ||
List-Unsubscribe: <mailto:[email protected]> | ||
MIME-Version: 1.0 | ||
Content-Disposition: inline | ||
In-Reply-To: | ||
<ab963584b0a7e3b4dac39472a4b82ca264d79630.1726580902.git.daniel@makrotopia.org> | ||
X-Patchwork-Delegate: [email protected] | ||
|
||
for_each_set_bit was used wrongly in aqr107_config_init() when iterating | ||
over LEDs. Drop misleading 'index' variable and call | ||
aqr_phy_led_active_low_set() for each set bit representing an LED which | ||
is driven by VDD instead of GND pin. | ||
|
||
Fixes: 61578f679378 ("net: phy: aquantia: add support for PHY LEDs") | ||
Signed-off-by: Daniel Golle <[email protected]> | ||
Reviewed-by: Russell King (Oracle) <[email protected]> | ||
--- | ||
drivers/net/phy/aquantia/aquantia_main.c | 5 ++--- | ||
1 file changed, 2 insertions(+), 3 deletions(-) | ||
|
||
--- a/drivers/net/phy/aquantia/aquantia_main.c | ||
+++ b/drivers/net/phy/aquantia/aquantia_main.c | ||
@@ -501,7 +501,7 @@ static int aqr107_config_init(struct phy | ||
{ | ||
struct aqr107_priv *priv = phydev->priv; | ||
u32 led_active_low; | ||
- int ret, index = 0; | ||
+ int ret; | ||
|
||
/* Check that the PHY interface type is compatible */ | ||
if (phydev->interface != PHY_INTERFACE_MODE_SGMII && | ||
@@ -537,10 +537,9 @@ static int aqr107_config_init(struct phy | ||
|
||
/* Restore LED polarity state after reset */ | ||
for_each_set_bit(led_active_low, &priv->leds_active_low, AQR_MAX_LEDS) { | ||
- ret = aqr_phy_led_active_low_set(phydev, index, led_active_low); | ||
+ ret = aqr_phy_led_active_low_set(phydev, led_active_low, true); | ||
if (ret) | ||
return ret; | ||
- index++; | ||
} | ||
|
||
return 0; |