summaryrefslogtreecommitdiff
path: root/sys/dev/pci
AgeCommit message (Collapse)Author
2011-06-23cope with empty rx rings by scheduling a timeout to keep trying until itDavid Gwynne
gets some packets onto the rings. also annoying, but the hardware doesnt report empty rings, we have to handle it ourselves.
2011-06-23this chip has an annoying "feature" where it cannot report the linkDavid Gwynne
state unless the chip is up and handling packets. while its down it does not report the link state, so it is unknown. this tweaks the link state handling, in particular it adds code to myx_down so it moves the link state to unknown, ie, it correctly reflects reality. stupidity pointed out by deraadt
2011-06-22reset the tx_count on UP, since it may have been advanced from non-zeroTheo de Raadt
by a previous use ok claudio
2011-06-22kill a few more casts that aren't helpful. ok krw miodTed Unangst
2011-06-22msi support. this is a complicated one...David Gwynne
ok kettenis@
2011-06-22another myri10ge device matched by freebsd/linux driversJonathan Gray
ok dlg@
2011-06-22regenJonathan Gray
2011-06-22add a few more devicesJonathan Gray
2011-06-22oops, handle refill like i said i was going to two revisions ago.David Gwynne
2011-06-22set the mac address on the chip correctly (repair the byte order)Theo de Raadt
it now works on sparc64, too ok dlg
2011-06-22deraadt plugged his myx into a sparc64 and discovered 3 problems:David Gwynne
1. we want to write raw values to registers all the time, so promote the myx_raw{read,write} to myx_{read,write} and use them everywhere. get rid of the raw funcs. 2. i was setting the watermarks on the rx ring before knowhing how big they were. 3. rxfill in the interrupt handler could lose data if you loop on sts_isvalid. almost working now... "please commit your diff" deraadt@
2011-06-21do the unaligned dma tests so we can figure out if we need to fallDavid Gwynne
back to the unaligned firmware. apparently this is only an issue on the "A" controllers which have been supersceded, but those are the chips we (openbsd devs) have.
2011-06-21report the controllers part number. eg, i now know i have aDavid Gwynne
10G-PCIE-8A-R. dmesg looks like this: myx0 at pci4 dev 0 function 0 "Myricom Z8E" rev 0x00: apic 1 int 8, model 10G-PCIE-8A-R, address 00:60:dd:47:c6:74
2011-06-21wire up jumbos properly. the hardware supports up to 9018 bytes offDavid Gwynne
the wire (9000 + ether header + vlan tag), but has some cool alignment requirements. if you want to use a single rx ring desc to point at a jumbo it needs to start on a 4k boundary and be physically contiguous. to ensure this im pulling frames from the 12k pool and waiting for arianes diff to ensure mbufs are contig. direction from andrew gallatin. tested locally.
2011-06-21i prefer 16k ints/sec to 32k ints/sec.David Gwynne
2011-06-21minor cleanups; ok dlgTheo de Raadt
2011-06-20make the interrupt handler look more like what the doco suggests. seems toDavid Gwynne
fix a bad lockup i kept getting.
2011-06-20dont need debug, the myx_cmd stuff works fine.David Gwynne
2011-06-20i got myx working!David Gwynne
2011-06-19Don't assume no interrupts if the command processor is not running.Owain Ainsworth
While this means we are on the way to vt switch a few things want vblanks interrupts between disabling the cp and the vt switch (modeset_ctl ioctls for example) tested by jsg@, found and ok kettenis@.
2011-06-19Fix typo in the "fixed" HyperTransport MSI Mapping Capability address.Mark Kettenis
2011-06-18Use MSI interrupts when available. Tested by deraadt@ and jsg@.Claudio Jeker
Removing a leftover M from my tree makes also my machine happy.
2011-06-17Enable MSI support; tested by krw@, Mark Peoples, andKevin Lo
Abel Abraham Camarillo Ojeda. From Brad
2011-06-17Enable MSI support; tested by Thomas PfaffKevin Lo
From Brad
2011-06-17M_WAITOK cleanup of two cases:Michael Knudsen
1) Allocating with M_WAITOK, checking for NULL, and calling panic() is pointless (malloc() will panic if it can't allocate) so remove the check and the call. 2) Allocating with M_WAITOK, checking for NULL, and then gracefully handling failure to allocate is pointless. Instead also pass M_CANFAIL so malloc() doesn't panic so we can actually handle it gracefully. 1) was done using Coccinelle. Input from oga. ok miod.
2011-06-16Enable msi support on iwn.Owain Ainsworth
tested by many for over a week. ok kettenis@ phessler@.
2011-06-16Enable MSI on newish PCIe hardware, essentially everything handled by the LinuxMark Kettenis
e1000e driver (which enables MSI as well), leaving everything handled by the old Linux e1000 driver (which doesn't enable MSI) use legacy interrupts. tested by many; ok jsg@
2011-06-15if the system runs out of mbufs and cannot provide any when fillingDavid Gwynne
the rx ring, schedule a timeout to keep trying until it gets some. a timeout is used here cos the chip doesnt have a way of reporting if its out of descriptors or when there's a ring overflow. we have to manage that ourselves in software. mikeb reported this issue on an ipsec gateway. ipsec would consume all the mbufs while they were stuck in crypto waiting for the cpu to catch up, by which time it was too late to give more to the hardware. without any rx descriptors the chip would never interrupt and we'd never try to fill the ring again. the fix was tested by and is ok mikeb@
2011-06-14Intel 3400 AHCI responds to PMP probes like ATI SBx00 chips.Jonathan Matthew
Unknown whether this also applies to product id 3b23 as well as 3b22. Problem reported by John Danks in PR6630 ok dlg@
2011-06-12Some devices, like parts of the NVIDIA C51 chipset, have a broken CapabilitiesMark Kettenis
List. So turn a DIAGNOSTIC panic into returning failure. ok mglocker@, miod@
2011-06-10Monster update of ix(4). This brings ix(4) close to what is currentlyClaudio Jeker
in FreeBSD. This seems to fix a lot of problems on 82599 based cards including the VLAN problems and the corrupted receives. Putting this in now to work on it in tree since a few additional things need to be merged. Tested by myself, deraadt@ and jsg@ on both 98er and 99er cards. OK jsg@, deraadt@
2011-06-10RegenClaudio Jeker
2011-06-10Fix numeric order of a 82598 chip and add the id of 82599VF for theClaudio Jeker
upcomming ix(4) update.
2011-06-09Backout MSI change. People are seeing watchdog timeouts, which must be causedMark Kettenis
by missed interrupts. Commits to the FreeBSD driver suggest that the hardware has issues. Having MSI for this driver isn't terribly important anyway.
2011-06-09MSI interrupts work here, too.Theo de Raadt
2011-06-06Backout vmmap in order to repair virtual address selection algorithmsAriane van der Steldt
outside the tree.
2011-06-06regenMark Kettenis
2011-06-06The host and PCIe bridge parts of the RS780 northbridge crry the AMD vendor ID.Mark Kettenis
2011-06-05Revert previous commit; it makes us run out of interrupt slots too fast onMark Kettenis
amd64, and fixing things is going to take some time. ok deraadt@
2011-06-05Access a presumably 32-bit wide register at a properly aligned address.Christian Weisgerber
Fixes an unaligned access panic on sparc64. ok miod@, kettenis@, deraadt@, jakemsr@
2011-06-04regenMark Kettenis
2011-06-04ATI Radeon HD 4290 internal graphics as found on the AMD 890FX chipset.Mark Kettenis
2011-06-04regenMark Kettenis
2011-06-04Another mislabeled AMD northbridge.Mark Kettenis
2011-06-03Fix em_write_pci_cfg() and em_read_pci_cfg() to avoid unaligned access, andMark Kettenis
make em_write_pci_cfg() do a proper read/modify/write cycle, to avoid changing the neighbouring 16 bits. Also remove the comment in em_pci_set_mwi() and em_pci_clear_mwi(); writting 0 to the status bits in the command/status word is the right thing to do. Fixes a panic on sparc64 and other strict alignment architectures. ok deraadt@
2011-06-03regenMark Kettenis
2011-06-03PLX PEX 8613Mark Kettenis
2011-06-02MSI for wpi(4).Michael Knudsen
``Reasonably confident that will work on all hardware, go ahead and commit.'' kettenis (worst jinx ever)
2011-06-02Enable MSI.Mark Kettenis
"i think more pci_intr_map_msi should go in"
2011-06-02Add $OpenBSD$ after oga said 'go ahead and fix that'Paul de Weerd
'go for it' oga@