r320644 allanjude July 4, 2017, 3:44 p.m.
Submitted by:	bcr
Reviewed by:	emaste, bapt, jhl
MFC after:	immediate
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D11471
ViewVC
r320643 andrew July 4, 2017, 12:26 p.m.
This will help move it to be part of GENERIC.
ViewVC
r320642 andrew July 4, 2017, 12:17 p.m.
kernel configuration.
ViewVC
r320640 avos July 4, 2017, 7:07 a.m.
While here move RTWN_TXBUFSZ constant from common to USB specific code
(it's not used anywhere else).
ViewVC
r320636 markj July 4, 2017, 1:23 a.m.
MFC after:	1 week
ViewVC
r320635 markj July 4, 2017, 1:05 a.m.
Fill out some previously uninitialized fields as well.

MFC after:	1 week
ViewVC
r320634 markj July 4, 2017, 12:48 a.m.
MFC after:	1 week
ViewVC
r320633 markj July 4, 2017, 12:30 a.m.
MFC after:	1 week
ViewVC
r320632 zbb July 4, 2017, 12:10 a.m.
Collapse should be more effective than defragmentation.
Added missing declaration of ena_check_and_collapse_mbuf().

Submitted by:   Michal Krawczyk <mk@semihalf.com>
Obtained from:  Semihalf
Sponsored by:   Amazon.com Inc.
ViewVC
r320631 zbb July 4, 2017, 12:08 a.m.
TSO settings were not reflecting real HW capabilities.

DMA tags were created with wrong window - high address was the same as
low, so excluding window was not working.

Capabilities of TX dma transaction were not set properly - TSO max size
had been increased and size of one segment had been adjusted.

Submitted by:   Michal Krawczyk <mk@semihalf.com>
Obtained from:  Semihalf
Sponsored by:   Amazon.com Inc.
ViewVC
r320630 zbb July 4, 2017, 12:06 a.m.
RX lock is no longer required. There can only be one RX cleanup task
running at a time, RX cleanup cannot be executed if interface is not
yet initialized and ena_down() will not free any RX resources if any io
interrupt is being handled - RX cleanup task is only called from an
interrupt handler.

Submitted by:   Michal Krawczyk <mk@semihalf.com>
Obtained from:  Semihalf
Sponsored by:   Amazon.com Inc.
ViewVC
r320629 zbb July 4, 2017, 12:04 a.m.
If drbr_advance() is not called before doing cleanup and packet is
already enqueued for sending (tx_info is holding pointer to mbuf), then
mbuf is cleaned both in drbr_flush() and in cleanup routine, when all
mbufs hold by tx_buffer_info are being released.

This causes panic, because mbuf is released twice.

Submitted by:   Michal Krawczyk <mk@semihalf.com>
Obtained from:  Semihalf
Sponsored by:   Amazon.com Inc.
ViewVC
r320628 zbb July 4, 2017, 12:02 a.m.
If driver left MSI-x handlling routine because interface was put down,
it is not unmasking IRQs, so any requesting interrupt will be awaiting
for unmasking.

On ena_up() routine all interrupts are being unmasked and any awaiting
interrupt will be handled right away.

If handler was executed before driver state was set as running, handling
routine is being ended immediately, leaving IO irqs for given queue
masked.

Submitted by:   Michal Krawczyk <mk@semihalf.com>
Obtained from:  Semihalf
Sponsored by:   Amazon.com Inc.
ViewVC
r320627 markj July 4, 2017, 12:02 a.m.
MFC after:	1 week
ViewVC
r320626 zbb July 4, 2017, midnight
It is required to hold lock that is associated with buffer ring before
flushing drbr.

Submitted by:   Michal Krawczyk <mk@semihalf.com>
Obtained from:  Semihalf
Sponsored by:   Amazon.com Inc.
ViewVC