linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] Power down serdes lanes and CMUs initially
@ 2023-04-17 18:03 Daniel Machon
  2023-04-17 18:03 ` [PATCH 1/7] phy: sparx5-serdes: add registers required for SD/CMU power down Daniel Machon
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Daniel Machon @ 2023-04-17 18:03 UTC (permalink / raw)
  To: vkoul
  Cc: kishon, Steen.Hegelund, daniel.machon, UNGLinuxDriver, joe,
	linux-phy, linux-arm-kernel, linux-kernel

This patch series aims to lower the power consumption of the Sparx5
switch chip, by configuring optimal quiet mode for serdes lanes, as well
as powering down unused CMUs (Clock Multiplier Unit). Before this series,
serdes lane quiet mode were not optimally configured, and all the CMUs were
powered on by default. This uses needless power.

Each serdes lane is provided a CMU clock, depending on the serdes mode
and the serdes index. CMUs will now be powered on individually, when
needed. The amount of power saved varies, depending on the port
configuration. As a reference, this change saves about 1W on
sparx5_pcb135 and 2W on sparx5_pcb134.

Patch #1: Adds the required registers.
Patch #2: Configures optimal quiet mode for all serdes lanes.
Patch #3: Reorders CMU functions.
Patch #4: Configures CMUs to be powered down by default.

Patch #5: Adds the serdes mode and index to CMU index map, and configures the
          individual CMU when the corresponding serdes lane is configured.

Patch #6: Removes the code that unconditionally powered on all CMUs
Patch #7: Adds a check that serdesmode is not unset when a CMU is configured.

Daniel Machon (7):
  phy: sparx5-serdes: add registers required for SD/CMU power down
  phy: sparx5-serdes: configure optimal qiet mode for serdes lanes
  phy: sparx5-serdes: reorder CMU functions
  phy: sparx5-serdes: power down all CMUs by default
  phy: sparx5-serdes: power on CMUs individually
  phy: sparx5-serdes: remove power up of all CMUs
  phy: sparx5-serdes: do not reconfigure serdes if serdesmode is unset

 drivers/phy/microchip/sparx5_serdes.c      | 426 +++++++++++++--------
 drivers/phy/microchip/sparx5_serdes.h      |   1 -
 drivers/phy/microchip/sparx5_serdes_regs.h | 106 +++++
 3 files changed, 370 insertions(+), 163 deletions(-)

--
2.34.1

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-04-17 18:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-17 18:03 [PATCH 0/7] Power down serdes lanes and CMUs initially Daniel Machon
2023-04-17 18:03 ` [PATCH 1/7] phy: sparx5-serdes: add registers required for SD/CMU power down Daniel Machon
2023-04-17 18:03 ` [PATCH 2/7] phy: sparx5-serdes: configure optimal quiet mode for serdes lanes Daniel Machon
2023-04-17 18:03 ` [PATCH 3/7] phy: sparx5-serdes: reorder CMU functions Daniel Machon
2023-04-17 18:03 ` [PATCH 4/7] phy: sparx5-serdes: power down all CMUs by default Daniel Machon
2023-04-17 18:03 ` [PATCH 5/7] phy: sparx5-serdes: power on CMUs individually Daniel Machon
2023-04-17 18:03 ` [PATCH 6/7] phy: sparx5-serdes: remove power up of all CMUs Daniel Machon
2023-04-17 18:03 ` [PATCH 7/7] phy: sparx5-serdes: add skip_cmu_cfg check when configuring lanes Daniel Machon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).