Commit Graph

22 Commits

Author SHA1 Message Date
Navdeep Parhar
fb12416c9f Ring the freelist doorbell from within refill_fl. While here, fix a bug
that could have allowed the hardware pidx to reach the cidx even though
the freelist isn't empty.  (Haven't actually seen this but it was there
waiting to happen..)

MFC after:	1 week
2011-04-20 23:20:00 +00:00
Navdeep Parhar
b5a6d97e1e Use the correct free routine when destroying a control queue.
X-MFC after:	r220873
2011-04-20 18:04:34 +00:00
Navdeep Parhar
657d9381b1 Use Toeplitz hash for RSS.
MFC after:	3 days
2011-04-19 22:14:18 +00:00
Navdeep Parhar
f7dfe243b4 - Move all Ethernet specific items from sge_eq to sge_txq. sge_eq is
now a suitable base for all kinds of egress queues.

- Add control queues (sge_ctrlq) and allocate one of these per hardware
  channel.  They can be used to program filters and steer traffic (and
  more).

MFC after:	1 week
2011-04-19 22:08:28 +00:00
Navdeep Parhar
2be67d2948 Fix a couple of bad races that can occur when a cxgbe interface is taken
down.  The ingress queue lock was unused and has been removed as part of
these changes.

- An in-flight egress update from the SGE must be handled before the
  queue that requested it is destroyed.  Wait for the update to arrive.

- Interrupt handlers must stop processing rx events for a queue before
  the queue is destroyed.  Events that have not yet been processed
  should be ignored once the queue disappears.

MFC after:	1 week
2011-04-15 03:09:27 +00:00
Navdeep Parhar
6b49a4ece8 There is no need to request a tx credit flush if such a request is already
pending.

MFC after:	3 days
2011-04-14 20:06:23 +00:00
Navdeep Parhar
bd0d62016a Modify read/write ioctls to work with 64 bit registers too.
MFC after:	3 days
2011-04-07 07:10:42 +00:00
Navdeep Parhar
37ba135472 Update header and related code for firmware 1.3.8
MFC after:	3 days
2011-04-01 00:40:24 +00:00
Navdeep Parhar
a91fea93ad Do not over-allocate MSI interrupts for the case where each ingress
queue has its own interrupt.  If the exact number that we need is not a
power of 2 and we're using MSI, then switch to interrupt multiplexing.

While here, replace the magic numbers with something more readable.

MFC after:	3 days
2011-03-24 01:03:01 +00:00
Navdeep Parhar
9f1f7ec9a8 Fix an error while constructing the table that maps context id -> egress
queue.

MFC after:	1 day
2011-03-22 21:05:56 +00:00
Navdeep Parhar
d986a01abf Display holdoff timers and packet counts as a list of numbers.
MFC after:	1 week
2011-03-09 21:07:09 +00:00
Navdeep Parhar
9458619309 cxgbe shouldn't directly know of the UMA zones where network buffers
come from.

MFC after:	1 week
2011-03-08 03:04:07 +00:00
Navdeep Parhar
99bb3c5399 Be sure to stay within the bounds of the mod_str array when displaying
the transceiver type.
2011-03-05 04:19:38 +00:00
Navdeep Parhar
83d58badea There is no need to hold an ingress queue's lock while processing its
descriptors.

MFC after:	1 week
2011-03-05 04:04:23 +00:00
Navdeep Parhar
e874ff7a8b Calculate how many descriptors can be reclaimed before calling
reclaim_tx_descs
2011-03-05 03:54:37 +00:00
Navdeep Parhar
7d29df5931 Tweaks for rx:
- everything related to LRO should be in #ifdef INET blocks
- reorder sge_iq's fields so that the most frequently used are all together
- pull all rx code into t4_intr_data directly
- let go of the ingress queue lock when passing up data
- refill the freelist only if it is short of at least 32 buffers
2011-03-05 03:42:03 +00:00
Navdeep Parhar
29ca78e104 Store the ifnet rather than the port_info in each txq and rxq struct.
MFC after:	1 week
2011-03-05 03:27:14 +00:00
Navdeep Parhar
aa2457e17c A txpkts work request should have a valid FID.
MFC after:	1 week
2011-03-05 03:18:56 +00:00
Navdeep Parhar
56c2cdaf9b Upgrade the firmware on the card automatically if a better version is
available.  Downgrade only for a major version mismatch.

MFC after:	1 week
2011-03-05 03:12:50 +00:00
Navdeep Parhar
ecb79ca4f6 Resume tx immediately in response to an SGE egress update from the hardware.
MFC after:	1 week
2011-03-05 03:06:38 +00:00
Navdeep Parhar
4a1bd0e4e8 Fix incorrect assertion.
MFC after:	3 days
2011-03-05 03:01:14 +00:00
Navdeep Parhar
54e4ee7163 cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters.
MFC after:	3 weeks
2011-02-18 08:00:26 +00:00