History log of /openbsd/sys/dev/pci/if_myxreg.h (Results 1 – 13 of 13)
Revision Date Author Comments
# 091f8f65 15-Apr-2019 dlg <dlg@openbsd.org>

the myx_cmd struct has to be 4 byte aligned for use with bus_space

i don't know how this didn't blow up before.


# fcd6cd06 15-Apr-2019 dlg <dlg@openbsd.org>

enum thing needs commas between items.

unbreaks the build...


# 9034f649 15-Apr-2019 dlg <dlg@openbsd.org>

there's some new errors that commands can complete with too


# 1bbcb699 15-Apr-2019 dlg <dlg@openbsd.org>

there's a bunch of new commands in newer firmwares


# e890ea3c 31-Oct-2016 dlg <dlg@openbsd.org>

turns out these chips can handle buffers up to 9400 bytes in length.

raise the mtu to 9380 bytes so we can take advantage of the extra space.

i need to revisit the macro names at some point.


# 9ce6bcd2 18-Feb-2015 dlg <dlg@openbsd.org>

myri employees and their drivers for linux and solaris have repeatedly
told me that if you're going to rx into buffers greater than 4k in
size, they have to be aligned to a 4k boundary.

the mru of t

myri employees and their drivers for linux and solaris have repeatedly
told me that if you're going to rx into buffers greater than 4k in
size, they have to be aligned to a 4k boundary.

the mru of this chip is 9k, but ive been using the 12k mcl pool to
provide the alignment. however, if we move to putting 8 items on a
pool page there'll be enough slack space in the mcl12k pool pages
to allow item colouring, which in turn will break the chip requirement
above. in practice the chips i have seem to work fine with unaligned
buffers, but i dont want to risk breaking early revision chips.

this moves myx to using a private pool for allocating clusters for
the big rx ring. the item size is 9k, but we specify a 4k alignment
so every item we get out of it will be correct for the chip.

show more ...


# be71ea87 18-Feb-2015 dlg <dlg@openbsd.org>

we're not using these macros


# fe49a4e7 24-Mar-2014 dlg <dlg@openbsd.org>

annotate some packed structures with the alignment the hardware
requires and the driver provides. without this gcc assumes the
alignment of these structures is 1, which leads to some horrible
asm.

t

annotate some packed structures with the alignment the hardware
requires and the driver provides. without this gcc assumes the
alignment of these structures is 1, which leads to some horrible
asm.

this is particularly interesting when reading stuff from the
myx_status struct (like the txdone count) which needs to be atomic.
doing byte reads and shifting them into a word in registers isnt
atomic. its also probably a bit slow. specifying the alignment fixes
this.

deraadt@ warned me about this maybe 8 years ago.

show more ...


# c9d25f1e 21-Jun-2011 dlg <dlg@openbsd.org>

i prefer 16k ints/sec to 32k ints/sec.


# a2d6f91b 20-Jun-2011 dlg <dlg@openbsd.org>

i got myx working!


# 13c121ea 17-Jan-2008 thib <thib@openbsd.org>

casts so this compiles on i386.
ok reyk


# 82e9e5f0 01-Jun-2007 reyk <reyk@openbsd.org>

initialize the rings


# fb54f98f 31-May-2007 reyk <reyk@openbsd.org>

initial bits of a new driver for the Myricom Myri-10G Lanai-Z8E 10Gb
Ethernet chipset. not working yet.

ok dlg@