Code Review for i40e

Prepared by:Dan McDonald (danmcd) on 2015-Dec-10 09:27 -0500 EST
Workspace:/export/home/danmcd/build/i40e-ig (at a832f1bdb275)
Compare against: origin/master (/export/home/danmcd/ws/illumos-gate at 289f7e33e45a)
Summary of changes: 25697 lines changed: 25697 ins; 0 del; 0 mod; 6170 unchg
Patch of changes: i40e.patch

------ ------ ------ ------ ------ --- New Patch Raw usr/src/pkg/manifests/driver-network-i40e.mf

i40e initial push for nightly test
50 lines changed: 50 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/uts/common/Makefile.files

Pre 6121 checkpoint
Partial GLDv3 stubs & kstat stubs
Add i40e_[tr]x.c
Add i40e_intr.c
i40e initial push for nightly test
11 lines changed: 11 ins; 0 del; 0 mod; 2177 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/uts/common/Makefile.rules

i40e initial push for nightly test
7 lines changed: 7 ins; 0 del; 0 mod; 2756 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/README-from-FreeBSD

i40e initial push for nightly test
410 lines changed: 410 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/THIRDPARTYLICENSE

i40e initial push for nightly test
29 lines changed: 29 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/THIRDPARTYLICENSE.descrip

i40e initial push for nightly test
1 line changed: 1 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e.conf

Pre 6121 checkpoint
Oops, forgot i40e.conf.
19 lines changed: 19 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_adminq.c

Checkpoint - now with DMA routines filled in
i40e initial push for nightly test
1107 lines changed: 1107 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_adminq.h

i40e initial push for nightly test
125 lines changed: 125 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_adminq_cmd.h

i40e initial push for nightly test
2424 lines changed: 2424 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_alloc.h

i40e initial push for nightly test
66 lines changed: 66 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_buf.c

Rewhack to encapsulate tx/rx queue pairs and the VSI
More GLD fill-in, plus unicast == multicast MAC for now.
Oops, forgot i40e_buf.c
199 lines changed: 199 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_common.c

Checkpoint - now with DMA routines filled in
i40e initial push for nightly test
5708 lines changed: 5708 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_devids.h

i40e initial push for nightly test
68 lines changed: 68 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_gld.c

checkpoint
Bringup bugs
Rewhack to encapsulate tx/rx queue pairs and the VSI
Pre i40e_t serious rewhack checkpoint
More GLD fill-in, plus unicast == multicast MAC for now.
Pre 6121 checkpoint
Checkpoint - mac_register() succeeds
More GLDv3 fill-in
Partial GLDv3 stubs & kstat stubs
677 lines changed: 677 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_hmc.c

i40e initial push for nightly test
373 lines changed: 373 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_hmc.h

i40e initial push for nightly test
246 lines changed: 246 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_intr.c

Some XXX BRINGUP, and some actual cleaning
Rewhack to encapsulate tx/rx queue pairs and the VSI
Checkpoint - now with DMA routines filled in
checkpoint
checkpoint
Add i40e_[tr]x.c
Add i40e_intr.c
94 lines changed: 94 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_lan_hmc.c

i40e initial push for nightly test
1412 lines changed: 1412 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_lan_hmc.h

i40e initial push for nightly test
201 lines changed: 201 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_main.c

Checkpoint part 2, more HW register tickling, but even more needed.
Some XXX BRINGUP, and some actual cleaning
checkpoint
Bringup bugs
Combine watchdog with generic DDI periodic
Rewhack to encapsulate tx/rx queue pairs and the VSI
More GLD fill-in, plus unicast == multicast MAC for now.
Pre 6121 checkpoint
Interrupts attaching, and dladm(1M) shows something
Checkpoint - mac_register() succeeds
More GLDv3 fill-in
Partial GLDv3 stubs & kstat stubs
Added per-ring lock bringup/teardown
Oops, divide-by-zero. Keep rx_groups in place temporarily with '1'
Small step to using discovered HW attributes.
Pre-capab rewhack checkpoint
Checkpoint - now with DMA routines filled in
checkpoint
checkpoint
Add i40e_[tr]x.c
Add i40e_intr.c
checkpoint
Even more initialization code (there's a lot)
More initialization code
More props progress
i40e initial push for nightly test
2269 lines changed: 2269 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_nvm.c

i40e initial push for nightly test
712 lines changed: 712 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_osdep.c

Some XXX BRINGUP, and some actual cleaning
Rewhack to encapsulate tx/rx queue pairs and the VSI
Small step to using discovered HW attributes.
Pre-capab rewhack checkpoint
Checkpoint - now with DMA routines filled in
i40e initial push for nightly test
292 lines changed: 292 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_osdep.h

Some XXX BRINGUP, and some actual cleaning
Checkpoint - now with DMA routines filled in
i40e initial push for nightly test
258 lines changed: 258 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_prototype.h

Checkpoint - now with DMA routines filled in
i40e initial push for nightly test
482 lines changed: 482 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_register.h

i40e initial push for nightly test
5317 lines changed: 5317 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_rx.c

Rewhack to encapsulate tx/rx queue pairs and the VSI
Pre 6121 checkpoint
checkpoint
Add i40e_[tr]x.c
35 lines changed: 35 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_stats.c

Rewhack to encapsulate tx/rx queue pairs and the VSI
Partial GLDv3 stubs & kstat stubs
179 lines changed: 179 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_status.h

i40e initial push for nightly test
108 lines changed: 108 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_sw.h

Checkpoint part 2, more HW register tickling, but even more needed.
Some XXX BRINGUP, and some actual cleaning
Combine watchdog with generic DDI periodic
Rewhack to encapsulate tx/rx queue pairs and the VSI
More GLD fill-in, plus unicast == multicast MAC for now.
Pre 6121 checkpoint
Interrupts attaching, and dladm(1M) shows something
Checkpoint - mac_register() succeeds
More GLDv3 fill-in
Partial GLDv3 stubs & kstat stubs
Added per-ring lock bringup/teardown
Checkpoint - now with DMA routines filled in
checkpoint
checkpoint
Add i40e_[tr]x.c
Add i40e_intr.c
checkpoint
Even more initialization code (there's a lot)
More initialization code
More props progress
i40e initial push for nightly test
625 lines changed: 625 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_tx.c

More GLD fill-in, plus unicast == multicast MAC for now.
Add i40e_[tr]x.c
30 lines changed: 30 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_type.h

Partial GLDv3 stubs & kstat stubs
i40e initial push for nightly test
1581 lines changed: 1581 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/common/io/i40e/i40e_virtchnl.h

i40e initial push for nightly test
378 lines changed: 378 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/uts/intel/Makefile.intel

Add i40e to DRV_KMODS
1 line changed: 1 ins; 0 del; 0 mod; 729 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/intel/i40e/Makefile

i40e initial push for nightly test
93 lines changed: 93 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/uts/sparc/Makefile.sparc

Add i40e to DRV_KMODS
1 line changed: 1 ins; 0 del; 0 mod; 508 unchg

------ ------ ------ ------ ------ --- New Patch Raw usr/src/uts/sparc/i40e/Makefile

i40e initial push for nightly test
109 lines changed: 109 ins; 0 del; 0 mod; 0 unchg

This code review page was prepared using /opt/onbld/bin/webrev. Webrev is maintained by the illumos project. The latest version may be obtained here.