qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Consolidate lan9118 phy implementations
@ 2024-11-02 12:57 Bernhard Beschow
  2024-11-02 12:57 ` [PATCH v3 1/5] hw/net/lan9118: Extract lan9118_phy Bernhard Beschow
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Bernhard Beschow @ 2024-11-02 12:57 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jason Wang, Guenter Roeck, qemu-arm, Paolo Bonzini, Peter Maydell,
	Bernhard Beschow

hw/net/imx_fec and hw/net/lan9118 implement the same Ethernet PHY with similar
but not quite the same code. This series consolidates the implementations into
one to fix code duplication. It then continues to make the code more readable by
reusing some existing constants.

Having a dedicated module for the PHY allows it to be reused in even further
device models.

Testing done:
* Run my usual sabrelite load and verify that network works.
* Build and run Buildroot's qemu_arm_vexpress_defconfig which includes lan9118
  and check on serial console that IP address gets assigned.

v3:
* Don't add SOFT reset, use device-specific method instead (Peter)
* Reuse MII constants for MII_ANLPAR register which was previously missed
* Fix off-by-one error in MII_ANLPAR register which prevented MII constants to
  be reused

v2:
* QOM'ify + mention boards whose migratability will be broken (Peter)

Bernhard Beschow (5):
  hw/net/lan9118: Extract lan9118_phy
  hw/net/lan9118_phy: Reuse in imx_fec and consolidate implementations
  hw/net/lan9118_phy: Fix off-by-one error in MII_ANLPAR register
  hw/net/lan9118_phy: Reuse MII constants
  hw/net/lan9118_phy: Add missing 100 mbps full duplex advertisement

 include/hw/net/imx_fec.h     |   9 +-
 include/hw/net/lan9118_phy.h |  37 ++++++
 include/hw/net/mii.h         |   6 +
 hw/net/imx_fec.c             | 146 +++--------------------
 hw/net/lan9118.c             | 137 ++++-----------------
 hw/net/lan9118_phy.c         | 222 +++++++++++++++++++++++++++++++++++
 hw/net/Kconfig               |   5 +
 hw/net/meson.build           |   1 +
 hw/net/trace-events          |  10 +-
 9 files changed, 318 insertions(+), 255 deletions(-)
 create mode 100644 include/hw/net/lan9118_phy.h
 create mode 100644 hw/net/lan9118_phy.c

-- 
2.47.0



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

end of thread, other threads:[~2024-12-02 14:36 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-02 12:57 [PATCH v3 0/5] Consolidate lan9118 phy implementations Bernhard Beschow
2024-11-02 12:57 ` [PATCH v3 1/5] hw/net/lan9118: Extract lan9118_phy Bernhard Beschow
2024-11-04 15:35   ` Guenter Roeck
2024-12-02 14:31   ` Peter Maydell
2024-11-02 12:57 ` [PATCH v3 2/5] hw/net/lan9118_phy: Reuse in imx_fec and consolidate implementations Bernhard Beschow
2024-11-04 15:35   ` Guenter Roeck
2024-12-02 14:32   ` Peter Maydell
2024-11-02 12:57 ` [PATCH v3 3/5] hw/net/lan9118_phy: Fix off-by-one error in MII_ANLPAR register Bernhard Beschow
2024-11-04 15:35   ` Guenter Roeck
2024-12-02 14:31   ` Peter Maydell
2024-11-02 12:57 ` [PATCH v3 4/5] hw/net/lan9118_phy: Reuse MII constants Bernhard Beschow
2024-11-04 15:36   ` Guenter Roeck
2024-11-02 12:57 ` [PATCH v3 5/5] hw/net/lan9118_phy: Add missing 100 mbps full duplex advertisement Bernhard Beschow
2024-11-04 15:36   ` Guenter Roeck
2024-12-02 14:33 ` [PATCH v3 0/5] Consolidate lan9118 phy implementations Peter Maydell

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).