Page MenuHomeFreeBSD

aq(4): trace the Atlantic 2 firmware path
Needs ReviewPublic

Authored by nick_spun.io on Mon, Jul 20, 1:39 AM.
Tags
None
Referenced Files
F163436766: D58354.id182268.diff
Thu, Jul 23, 4:45 AM
Unknown Object (File)
Mon, Jul 20, 2:31 AM
Subscribers
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

All of the driver's runtime tracing lived in the Atlantic 1 firmware
files, so an Atlantic 2 card emitted nothing at any debug level and
aq2_fw.c did not even include aq_dbg.h. Raising dev.aq.N.debug on an
AQC113 produced silence, which reads as a broken knob rather than as
missing instrumentation.

Trace the boot handshake, the reset policy, the MAC address, and the
link mode set and read, using the same categories as the Atlantic 1
paths: dbg_init for bring-up and configuration, dbg_fw for the
firmware data path. The link mode read runs on every admin poll, so
it goes in at detail level to keep the trace level below it usable.

Two of the new sites cover paths that previously failed silently. A
shared buffer ack timeout was only reported when it happened during
reset, so the same timeout on the mode set path returned an error with
nothing logged, and an unrecognised firmware interface version left
every statistic at zero without a word.

Tested on an AQC113: attach with hint.aq.1.debug=6 now reports the
boot timings, filter base index, reset policy, MAC address and link
mode, and dropping to level 5 correctly silences the per-poll mode
read while leaving the rest.

Signed-off-by: Nick Price <nick@spun.io>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 74944
Build 71827: arc lint + arc unit