Page MenuHomeFreeBSD

mgb: support for PCI11414
Needs ReviewPublic

Authored by br on Fri, Oct 9, 4:56 PM.
Tags
None
Referenced Files
F175500332: D60539.id189268.diff
Sun, Oct 11, 7:02 AM
F175498987: D60539.id189264.diff
Sun, Oct 11, 6:49 AM
F175394521: D60539.id.diff
Sat, Oct 10, 1:14 PM
F175394407: D60539.id189268.diff
Sat, Oct 10, 1:12 PM
F175394324: D60539.id189264.diff
Sat, Oct 10, 1:11 PM
F175394284: D60539.diff
Sat, Oct 10, 1:10 PM
Unknown Object (File)
Sat, Oct 10, 10:46 AM
Unknown Object (File)
Sat, Oct 10, 12:21 AM
Subscribers

Details

Reviewers
emaste
Group Reviewers
cheri
Summary

Add support for Microchip PCI11414 Gigabit Ethernet Controller.

The PCI11414 is used on the CHERI VITA 57.1 PCIe Extension Board.

  • Add PCI11414 device ID
  • Add support for SGMII mode. Read the programmed strap configuration and enable SGMII operation when configured. Bypass the MII interface in SGMII mode.
  • Support multiple packet segments in DMA descriptor rings.
  • Increase the timeout in mgb_wait_for_bits().
  • Increase the DMA descriptor ring size.
Test Plan

Tested on Codasip Prime platform synthesized on Xilinx VCU118.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

br requested review of this revision.Fri, Oct 9, 4:56 PM
br created this revision.

Overall looks good to me, a couple of inline questions and if feasible I'd like to see this as a few separate commits.

sys/dev/mgb/if_mgb.c
979

Can we split the multiseg change into a separate commit?

1219

Pre-existing, but perhaps worth printing dev_id here?

1494

This one reads more like a temporary debugging printf. I don't object, but could we perhaps extend it to something like "strap 0x## (SGMII_ENABLE)"?

1565

This increase is inconsistent with the comment above. Would you be so kind as to mention in a comment why this much larger delay is needed (and, commit it separately most likely).

sys/dev/mgb/if_mgb.c
470–471

The hard-coded up/1000Mbps should probably have a comment.

1013

Can we have a #define for this magic 0x04000000

1565

Also, can we just increase MGB_TIMEOUT instead of increasing the delay per loop?