Page MenuHomeFreeBSD

aq(4): trace the Atlantic 2 firmware path
AbandonedPublic

Authored by nick_spun.io on Mon, Jul 20, 1:39 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jul 26, 9:57 PM
Unknown Object (File)
Sun, Jul 26, 5:47 PM
Unknown Object (File)
Sun, Jul 26, 12:44 PM
Unknown Object (File)
Sun, Jul 26, 9:10 AM
Unknown Object (File)
Sat, Jul 25, 11:02 PM
Unknown Object (File)
Sat, Jul 25, 7:26 PM
Unknown Object (File)
Sat, Jul 25, 11:05 AM
Unknown Object (File)
Sat, Jul 25, 9:32 AM
Subscribers

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

Event Timeline

Superseded by a consolidated aq(4) series; abandoning in favor of new revisions.