summaryrefslogtreecommitdiffstats
path: root/sys/dev
AgeCommit message (Collapse)AuthorFilesLines
2015-03-20The ACPI standard says that a PCI function number of FFFF can be used to referkettenis1-1/+16
to all functions on a device. This makes no sense in the context of accessing PCI config space. Nevertheless stsp@ has a machine with AML that tries to do config space reads from a device where _ADR encodes function number FFFF. This is almost certainly buggy AML, but since Linux (and presumably Windows) boot just fine on this machine we need to work around this. Linux effectively treats function FFFF as function 7, which isn't present on this machine. Instead we simulate a read from a non-existent device by returning a bit pattern of all ones. Writes to function FFFF will still panic. ok mlarkin@
2015-03-20Convert to if_input(), thanks to krw@ for testing.mpi1-7/+4
2015-03-20Convert to if_input(), thanks to krw@ for testing.mpi1-11/+5
2015-03-20add support for jumbos on re(4).dlg2-18/+59
this uses hints from the freebsd driver, but the implementation differs. freebsd manages two lists of rx descriptors. one for "normal" packets and the other for jumbos. this continues to use a single list and uses a per softc variable and MCLGETI to always allocate what the chip is capable and uses it unconditionally. other than that, we just need to enable some bits in some registers to be able to do jumbos. this relies on the previous commit to properly deal with checksum offload for packets of different sizes. from jim smith ok sthen@
2015-03-20Convert to if_input(), tested by Fabian Raetz, thanks!mpi1-10/+8
2015-03-20some re(4) chips can do jumbos, but none of them can checksum jumbodlg1-1/+29
packets. rather than disable cksum offload for all packets, this sets things up so we still advertise offload to the stack, but if the driver gets a large packet it does the checksum itself in software. small (normal sized) packets still get offloaded like now. if you're doing a jumbo you'll be doing the cksum in software, but will hopefully win overall cos you'll be doing a 6th of the work cos you're doing more data in every packet. diff from jim smith ok sthen@
2015-03-20Unbreak WEP/WPA on AR5211 ath(4) devices by setting hardware WEP keytablestsp1-1/+5
entry types to NULL, as done for AR5212 devices. ath(4) uses software crypto. ok reyk@
2015-03-20Re-apply -r1.115 that got accidentally reverted and brought to mymikeb1-4/+18
attention and fix re-tested by Kapetanakis Giannis. Thanks a lot! Original commit message: When setting up advanced TX descriptor use m_getptr to locate the IP or IPv6 header instead of assuming contiguousness of the target buffer across Ethernet and IP/IPv6 headers. Tested by Kapetanakis Giannis <bilias at edu ! physics ! uoc ! gr>, thanks! Problem analysis and initial diff by dlg@.
2015-03-19Let it compile.mpi1-5/+5
2015-03-19Abort tasks are run in their own thead, that's why they need a specialmpi1-2/+2
type, from Patrick Wildt.
2015-03-19Use the same workaround as ehci(4) and ohci(4) in setaddr() to deal withmpi1-1/+26
half configured control pipe, from Patrick Wildt.
2015-03-19unlock MII on smsc_miibus_readreg errorjsg1-3/+3
from Patrick Wildt
2015-03-19missing gcu_var.h conversionderaadt1-2/+2
2015-03-18syncmcbride1-1/+65
2015-03-18syncmcbride1-1/+17
2015-03-18Baytrail/e3800 devices found in MinnowboardMax.mcbride1-1/+17
Based on http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/atom-e3800-family-datasheet.pdf
2015-03-18Prevent sign extension due to pointer arithmeticsmikeb1-2/+2
This should make mpii(4) work on i386 again, apparently. Problem identified and a slightly different fix proposed by Christiano F. Haesbaert and Pedro Martelletto of Bitrig. Huge thanks for tracking this down, guys!
2015-03-18use device_lookup to find gcu0 rather than iterating over alldevs.dlg3-13/+13
written at s2k15, but considered too risky before release.
2015-03-17Prevent a race resulting in an infinite loop printing "ehci_idone" messages.mpi1-20/+28
As soon as a transfer is being cancelled, remove it from the list of pending xfers. This way the soft interrupt routine won't try to process it before ehci_abort() gives it back to the stack. Problem analysed by and previous diff ok stsp@
2015-03-16Reduce use of SMALL_KERNEL in acpi, bringing acpiec driver and more gpederaadt3-154/+161
handling into RAMDISK. This is now possible because the install media has ample room. The goal is to reduce special cases where we may be skipping (unknown) important operations... ok mlarkin kettenis
2015-03-16convert timeout_add() calls using hz to timeout_add_msec()jsg2-5/+5
2015-03-16Revert 1.39. Resetting after specifically putting the keyboard in ajcs1-5/+2
different table will most likely just revert the keyboard to its default table anyway. Instead, just flush the kbd slot before choosing a table and then still forcefully enable the slot, which is enough to fix UKC on the 3rd gen X1 carbon while having a much smaller chance of breaking anything else. ok deraadt
2015-03-16Revert 1.44 since we have found some machines where the keyboardjcs1-7/+1
stops working after our aux port resets, which were not broken before. ok deraadt
2015-03-14RTL8411 works also, according to tiix@openmailboxderaadt1-1/+2
2015-03-14Remove some includes include-what-you-use claims don'tjsg320-667/+323
have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
2015-03-13some include files not needed; matthew markfortderaadt1-3/+1
2015-03-13convert to if_input()jasper1-11/+5
ok mpi@ sthen@
2015-03-13convert to if_input()jasper1-7/+5
tested by landry@ ok mpi@
2015-03-12On first cnpoll, reset the keyboard and pms hard. This is requiredderaadt1-1/+6
to make "boot -c" support work on a variety of newer machines. Do not anticipate this harming older machines, but we'll have to wait and see with this change in the tree. with jcs
2015-03-12If while attaching pckbdc device slots, we find a slot has failed toderaadt1-1/+8
attach and it happens to be the AUX port, aha: we are a kernel without the pms driver. In that case, we should reset that pms back into 'stupid mode'. It seems some BIOS initialize newer-style nubbins/touchpads into strange (advanced) modes, which can muddle up the pckbc pipe. This is experienced as 10-second typing pauses and strange repeat behaviour on the RAMDISK, but was eventually tied to "lightly brushing" the touchpad... work done at s2k15 with jcs
2015-03-12Print the current link speed for SATA devices attached on ahci(4).brynet1-1/+20
The port numbers correspond to scsibus(4) targets: ahci0: port 0, at 6Gbps ahci0: port 2, at 3Gbps scsibus1 at ahci0: 32 targets sd0 at scsibus1 targ 0 .. sd1 at scsibus1 targ 2 .. ok deraadt@, tested by bmercer@
2015-03-11Convert to if_input().mpi1-23/+7
Tested and ok benno@
2015-03-11Convert to if_input().mpi1-13/+7
Tested and ok armani@
2015-03-11Match on 3160. Untested but should work.jsg1-1/+3
ok stsp@ kettenis@
2015-03-10Convert to if_input().mpi1-15/+5
Tested and ok sthen@, ok dlg@
2015-03-09In wdcintr, do not attempt to read the status register unless WDCF_IRQ_WAITmiod1-10/+10
is not set; this used to be the case but got broken in 1.113. Fixes pciide0 at pci0 dev 2 function 0 "Acard ATP865-R" rev 0x07: DMA on armish (I/O Data).
2015-03-08properly set sgl related flags on skinny controllers. this fixesdlg1-3/+5
io against physical disks on my dell perc h310s. logical disks still work fine. ok deraadt@ yasuoka@
2015-03-08Revert patch responsible for locking up machines withtobiasu2-24/+3
"Realtek 8168" rev 0x01: RTL8168 2 (0x3800). You will never guess who commited it without OK ;) ok deraadt revision 1.45 date: 2015/01/26 09:58:47; author: brad; state: Exp; lines: +22 -2; commitid: AppNYocFYbD7Hqgj; Set PCIe max read request size to 2K to help with TX performance. From FreeBSD Tested with 8168C, 8168D and 8168G. revision 1.46 date: 2015/02/19 04:58:34; author: dlg; state: Exp; lines: +2 -2; commitid: GSWXECXQW0LeGFmq; when reading the max packet size in the pcie device config and status register, correctly mask things so we're left with the mps field instead of everything but the mps field. tested by bcallah@ and jim smith
2015-03-06Revert previous, the fix is not right and causes a regression asmpi1-15/+17
reported by Remi Locherer on bugs@. ok deraadt@
2015-03-06Fix radiotap and fixed rates. Radiotap was reporting the wrong rate forkettenis1-14/+14
data frames and fixed rates weren't really fixed and were converted into the wrong hardware rate. ok jsg@, deraadt@
2015-03-04stop the calibration timeout when stopping the interfacejsg1-1/+2
ok kettenis@ deraadt@
2015-03-03Set/clear the IWM_MAC_FILTER_IN_BEACON flag under conditions that match whatkettenis1-2/+4
Linux does. ok jsg@
2015-03-03regenbrad2-2/+12
2015-03-03Add Intel Dual Band Wireless AC 4165 PCI ids.brad1-1/+3
ok stsp@
2015-03-03Fix 11a support.kettenis1-20/+12
ok stsp@
2015-03-02match on 7265jsg1-1/+3
ok kettenis@ stsp@ phessler@
2015-03-02Make setting the MAC context bit for 11g protection when transmittingjsg1-2/+3
OFDM frames conditional on the node via IEEE80211_F_USEPROT. ok kettenis@
2015-03-02Don't set CTS to self. Linux stopped setting this back injsg1-2/+1
dc271ee0d04d12d6bfabacbec803289a7072fbd9 as it is known to cause problems. ok kettenis@
2015-03-02sc_fixed_ridx is initialised to 0 but tested as it it were initialisedjsg1-2/+2
to -1. The result of this is tx frames were always sent out at fixed rate 0 instead of ni_txrate. Match the iwn behaviour and test ic_fixed_rate for -1 instead. Problem spotted by kettenis@ in an earlier diff. ok kettenis@ stsp@
2015-03-02Remove stray ')' from athn(4) "firmware command timed out" error message.stsp1-2/+2