Am 10.07.23 um 12:10 schrieb Ahmad Fatoum:
On 10.07.23 08:36, Marco Felsch wrote:
This commit port Linux commit:
| commit 390b4cad81484124db2b676ed20a265adc032bae
| Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>
| Date: Thu Jan 14 10:45:49 2021 +0000
|
| net: phy: at803x: add support for configuring SmartEEE
|
| SmartEEE for the atheros phy was deemed buggy by Freescale and commits
| were added to disable it for their boards.
|
| In initial testing, SolidRun found that the default settings were
| causing disconnects but by increasing the Tw buffer time we could allow
| enough time for all parts of the link to come out of a low power state
| and function properly without causing a disconnect. This allows us to
| have functional power savings of between 300 and 400mW, rather than
| disabling the feature altogether.
|
| This commit adds support for disabling SmartEEE and configuring the Tw
| parameters for 1G and 100M speeds.
|
| Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>
| Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
I slightly adapted the at803x_config_init() as well to be more in line
with the Linux code base.
Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
Same question as in follow-up commit: Can't we just disable it unconditionally?
Most of PHYs with EEE support have EEE advertisement register on the same offset. I would recommend
to create a common function for all PHYs drivers to clear all EEE advertising bits and call it the
PHY framework. EEE should be never advertised by barebox. As a side effect, if Atheros PHY do not
advertise EEE, SmartEEE will not be activated.
--
Regards,
Oleksij