History log of /dragonfly/sys/dev/netif/bce/if_bcereg.h (Results 1 – 25 of 43)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1
# 39ea245f 30-May-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Use ringmap to do MSI-X cpu assignment and fill redirect table.


Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2
# 26595b18 28-Nov-2014 Sascha Wildner <saw@online.de>

kernel: Use the new auto-created sysctl ctx/tree in various drivers.

Everywhere where we formerly rolled a hw.fooX.* per-device ctx/tree
ourselves.

This commit switches it to dev.foo.X.*


Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0
# 06421337 15-Mar-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

ifnet: Simplify ifnet_serialize_array function interface

It is no longer used to hold RX or TX serializers, so the RX/TX
serializer offset function arguments are not necessary at all.


# 86ae632d 07-Mar-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Pack RX/TX mbuf related fields into struct

Mainly to improve cache utilization.


# b42386ee 27-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Implement multiple TX/RX rings and MSI-X support for 5709/5716

5709/5716 support 9 RX rings, 9 TX rings and 9 MSI-X vectors; each
MSI-X vector has its own interrupt moderation parameters.

(N +

bce: Implement multiple TX/RX rings and MSI-X support for 5709/5716

5709/5716 support 9 RX rings, 9 TX rings and 9 MSI-X vectors; each
MSI-X vector has its own interrupt moderation parameters.

(N + 1) RX rings, N TX rings and (N + 1) MSI-X vectors will be enabled;
N is ncpus2, if ncpus2 is less than 8, else N will be 8.

The extra RX ring is enabled mainly because:
The first RX ring is only used for packets whose RSS hash could not
be calculated, so it is actually _not_ involved in RSS. This extra RX
ring is used for the packets whose masked RSS hash equal 0.

An extra MSI-X vector is allocated for this extra RX ring; there is no
correponding TX ring for this extra RX ring. In polling(4), this extra
RX ring is polled along with the first RX ring in the first RX polling
handler, in which the packets whose RSS hash equal 0 should be processed.

Hardware provided RSS hash and packet type are not utilized yet; they will
be supported in the upcoming commits.

Related hardware registers and hardware initialization order are infered
from Linux's bnx2 (*); NetXtremeII-PG203-R.pdf provided on Broadcom's
website does not contain enough information for multiple rings and MSI-X
to function.

(*) Unlike Linux's bnx2, which limits number of RX rings to 8, DragonFly
limits number of RX rings to 9 and 9 RX rings actually work quite well.

show more ...


# ba268ba5 26-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Move status index's location and cached status index into RX ring


# 5abd7f19 24-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Cache TX/RX consumer indices' location

Using the them to access TX/RX consumer indices instead of directly
accessing status block; prepare for the MSI-X support


# 0080c09f 24-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Save CID into related TX/RX ring struct


# 745b3d68 21-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Fix tick/pulse callout target CPU setting


# ac2202ea 21-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: RX and TX ring counts are not required to be same

However, in Dragonfly, RX ring count must be great than TX ring count.

Clue-from: Linux bnx2


# f774fa0f 20-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Switch to IFQ subqueue functions and use per-TX queue watchdog


# 57b3ecd9 19-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Reimplement polling in non-compat mode

Take advantage of the independent TX/RX serializers.


# 84464af5 19-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Split TX/RX serializer


# 08b64767 19-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Put RX related fields into bce_rx_ring


# 10bcbdab 17-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Put TX related fields into bce_tx_ring


# 3970c114 16-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Remove debug stuffs

opt_bce.h is still kept, which will be needed for multiple RX/TX queues
debugging options.


Revision tags: v3.2.2
# f52858a0 26-Nov-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Improve tiny packets transmission performance on low frequency CPU

Update TX HOST_IDX and HOST_BSEQ registers a little bit often; mainly to
improve timeliness of packets transmission:
The TX HO

bce: Improve tiny packets transmission performance on low frequency CPU

Update TX HOST_IDX and HOST_BSEQ registers a little bit often; mainly to
improve timeliness of packets transmission:
The TX HOST_IDX and HOST_BSEQ registers are updated after certain amount
of TX descriptors are added to the hardware TX ring. The default value
of the amount of TX descriptors are 8. This value could be further
tuned by per-device sysctl node hw.bceX.tx_wreg.

The default value greatly improves tiny packets transmission performance
w/ 5709C on AMD970@800Mhz (513Kpps -> 1Mpps) and it does not increase CPU
usage on AMD970@3500Mhz (CPU usage stays @24%, 5709C could only do 1Mpps).

show more ...


# 4a331bf7 04-Nov-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Switch from device_polling to ifpoll


Revision tags: v3.2.1, v3.2.0, v3.3.0, v3.0.3
# 28ef7645 18-Aug-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Rework MSI checkout for 5706 and 5708


# eefd160d 10-Aug-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Add TSO support

Obatined-from: FreeBSD

With following modification:
These chips can handle ip.ip_len and tcphdr.th_sum, if they are setup
according to Microsoft LSO specification, so ip.ip_len

bce: Add TSO support

Obatined-from: FreeBSD

With following modification:
These chips can handle ip.ip_len and tcphdr.th_sum, if they are setup
according to Microsoft LSO specification, so ip.ip_len should not be
cleared and tcphdr.th_sum should be left as it is.

According-to: bnx2

show more ...


# a5eaa4bf 10-Aug-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Don't loop in the interrupt handler to drain TX/RX


# 4b166d4e 06-Jun-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Configuable number of TX/RX descriptor pages


Revision tags: v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 733403d6 28-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Add workaround for the lost of MSI on 5706/5708

While I'm here use ramn_get_cpuid to extract interrupt's target CPU

Obtained-from: bnx2


# eac57ffb 28-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

bce: Split out frontend for interrupt handler

For non-oneshot MSI, we don't need to make sure that status block has
been updated and we don't need extra register read to flush the ACK_CMD;
MSI has a

bce: Split out frontend for interrupt handler

For non-oneshot MSI, we don't need to make sure that status block has
been updated and we don't need extra register read to flush the ACK_CMD;
MSI has already made sure about those.

For oneshot MSI, we don't even need to ACK the interrupt

Obtaied-from: bnx2

show more ...


# 7fb43956 28-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

pci: Factor out pci_alloc_1intr()

This function will properly setup rid and flags for "legacy" interrupt.
If MSI is enabled, then this function will try allocate 1 MSI message
and setup rid and flag

pci: Factor out pci_alloc_1intr()

This function will properly setup rid and flags for "legacy" interrupt.
If MSI is enabled, then this function will try allocate 1 MSI message
and setup rid and flags properly for MSI based interrupt resource.

show more ...


12