summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate ext_intr_task. The "slow" interrupt handler is alreadynp2010-07-095-58/+14
| | | | | | | running on the adapter's task queue. Just do what the task does instead of enqueueing it. MFC after: 3 days
* Fix bufsize calculation so that cxgbtool can display information for thenp2010-07-091-1/+0
| | | | | | last I/O queue too. MFC after: 3 days
* Remove enabling RX checksum offloading in RX filter setup. RXyongari2010-07-082-6/+5
| | | | | | | | checksum is enabled in sge_init_locked(). While I'm here do not set RX checksum bits in RX descriptor initialization. It is controller's job to set these bits. Tested by: xclin <xclin <> cs dot nctu dot edu dot tw >
* Missed a file in r209803: this header contains a definition ofnwhitehorn2010-07-081-0/+1
| | | | | | OFW_STD_32BIT. Pointy hat to: me
* Change the argument type to OF_call_method to take an array of cell_tnwhitehorn2010-07-083-8/+7
| | | | | instead of unsigned longs to prepare for platforms where they are not the same.
* Fix iicbus_get_addr() on 64-bit big-endian systems. The bus accessornwhitehorn2010-07-081-1/+1
| | | | passes a uintptr_t, not a uint32_t.
* Extend the ath debugging a little to log the interface name.adrian2010-07-081-1/+1
| | | | | Some devices have >1 atheros card and the current debug prints make it impossible to tell which interface is being unhappy.
* Do not mention VM_ALLOC_RETRY in comment, and normalize the terminologykib2010-07-081-2/+2
| | | | | | | (blocking -> sleeping). Reviewed by: alc MFC after: 3 days
* Fix mis-merges in the previous commit.jkim2010-07-061-2/+2
|
* Merge ACPICA 20100702.jkim2010-07-064-9/+12
|
* Calculate nshift only once.kib2010-07-061-4/+6
| | | | | Also noted by: avg MFC after: 1 week
* Zero entire status block and add missing bus_dmamap_sync(9).yongari2010-07-061-4/+8
|
* Plug a possible memory leak.jkim2010-07-061-1/+1
| | | | Submitted by: Yamagi Burmeister (lists at yamagi dot org)
* Fix a possible null pointer dereference. A patch for -STABLE wasjkim2010-07-061-0/+2
| | | | Submitted by: Yamagi Burmeister (lists at yamagi dot org)
* It seems read DMA mode register requires both IPv4 TSO and IPv6 TSOyongari2010-07-061-1/+5
| | | | | | | | configuration to get IPv4 TSO work on BCM57780. While I'm here apply the same fix to BCM5785 which shares similar hardware feature of BCM57780. This change makes TSO work on BCM57780. Tested by: Tong Liu <nemoliu <> gmail dot com>
* Add a safety-belt. If the identified disk has 0 blocks, don't attachimp2010-07-041-3/+8
| | | | | | | it. This can happen in some cases when plugging in SD/SmartCard PC Cards with empty slots. It is better to detect this bogosity, and refuse to attach rather than panic with a division by zero (in one of many places) down stream.
* Minor formatting nits.imp2010-07-041-2/+2
|
* Add ata(4) ability to limit initial ATA mode for devices via device hints.mav2010-07-032-2/+56
| | | | | | | After boot this mode can be changed with atacontrol/camcontrol as usual. It works for both legacy and ATA_CAM wrapper mode. PR: kern/123980
* Fix buildkevlo2010-07-011-1/+0
|
* OK, I was a bit sleep this morning and checked injfv2010-06-3011-76/+1940
| | | | | | | | the core changes but left out the shared code, lol. Well, and a couple fixes to the core... hopefully this will all be complete now. Happy happy joy joy :)
* SR-IOV support added to igbjfv2010-06-302-171/+296
| | | | | | | | | | | | | | | | | | What this provides is support for the 'virtual function' interface that a FreeBSD VM may be assigned from a host like KVM on Linux, or newer versions of Xen with such support. When the guest is set up with the capability, a special limited function 82576 PCI device is present in its virtual PCI space, so with this driver installed in the guest that device will be detected and function nearly like the bare metal, as it were. The interface is only allowed a single queue in this configuration however initial performance tests have looked very good. Enjoy!!
* Left out header change in last delta - new memberjfv2010-06-301-0/+1
| | | | | in adapter so that advertise changes can be done to one port without the other changing.
* Fix build.glebius2010-06-301-0/+1
|
* BAH, I apologize, the wrong version of the code gotjfv2010-06-301-40/+45
| | | | | | | fat fingered in place, this is the correct version that actually works... <sheepish grin> MFC: in a week
* Add a new sysctl option, this will allow one tojfv2010-06-301-0/+42
| | | | | | | limit the advertised speed of an SFP+ to 1G, effectively "forcing" link at that lower speed. It is off by default and is enabled by sysctl dev.ix.0.force_gig=1, 0 will set it back to the norm.
* Change the mpt driver to allow larger I/O sizes.ken2010-06-295-113/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mpt driver previously didn't report a 'maxio' size to CAM, and so the da(4) driver limited I/O sizes to DFLTPHYS (64K) by default. The number of scatter gather segments allowed, as reported to busdma, was (128K / PAGE_SIZE) + 1, or 33 on architectures with 4K pages. Change things around so that we wait until we've determined how many segments the adapter can support before creating the busdma tag used for buffers, so we can potentially support more S/G segments and therefore larger I/O sizes. Also, fix some things that were broken about the module unload path. It still gets hung up inside CAM, though. mpt.c: Move some busdma initialization calls in here, and call them just after we've gotten the IOCFacts, and know how many S/G segments this adapter can support. mpt.h: Get rid of MPT_MAXPHYS, it is no longer used. Add max_cam_seg_cnt, which is used to report our maximum I/O size up to CAM. mpt_cam.c: Use max_cam_seg_cnt to report our maximum I/O size to CAM. Fix the locking in mpt_cam_detach(). mpt_pci.c: Pull some busdma initialization and teardown out and put it in mpt.c. We now delay it until we know many scatter gather segments the adapter can support, and therefore how to setup our busdma tags. mpt_raid.c: Make sure we wake up the right wait channel to get the raid thread to wake up when we're trying to shut it down. Reviewed by: gibbs, mjacob MFC after: 2 weeks
* Initializes the ratectl for a node when the state is changed to RUN.weongyo2010-06-291-0/+6
| | | | | | | | This prevents a kernel fault by dividing with zero because the initial rate was 0 and didn't be initialized. Tested by: Warren Block <wblock at wonkity.com> MFC after: 3 days
* Fixes NULL pointer reference that it's occurred when the state isweongyo2010-06-291-5/+0
| | | | | | | | changed to RUN because ic->ic_newassoc isn't set anywhere now. In the previous bwi_newassoc() is used to initialize AMRR rate routines. Tested by: Warren Block <wblock at wonkity.com> MFC after: 3 days
* Fix typo introduced in previous revision.rpaulo2010-06-271-1/+1
|
* Fix the AR_SREV_MERLIN_20_OR_LATER() check.rpaulo2010-06-261-1/+1
| | | | | Submitted by: Alex Kozlov <spam at rm-rf.kiev.ua> MFC after: 2 weeks
* Import the acpi_aibs(4) driver written by Constantine A. Murenin.rpaulo2010-06-251-0/+358
| | | | | | | | | It has more features than acpi_aiboost(4) and it will eventually replace acpi_aiboost(4). Submitted by: Constantine A. Murenin <cnst at FreeBSD.org> Reviewed by: freebsd-acpi, imp MFC after: 1 month
* Make sure that all the exposed counters and variables are actuallygnn2010-06-241-0/+17
| | | | | | being updated. Pointed out by: jfv
* Use M_WAITOK for VESA BIOS initialization consistently.jkim2010-06-231-5/+5
|
* Let x86bios_alloc() pass contigmalloc(9) flags. Use it to set M_WAITOKjkim2010-06-231-9/+7
| | | | | from VESA BIOS initialization. All other malloc(9) uses in the function is blocking any way.
* Remove unused i586 optimized bcopy/bzero/etc implementations that utilizekib2010-06-231-10/+1
| | | | | | | | | FPU registers for copying. Remove the switch table and jumps from bcopy/bzero/... to the actual implementation. As a side-effect, i486-optimized bzero is removed. Reviewed by: bde Tested by: pho (previous version)
* - fix for USB audio devices which use the 7-byte endpoint descriptor instead ofthompsa2010-06-222-54/+9
| | | | | | | | the 9-byte one. - remove sync-endpoint code, which is currently unused. Reported by: Antun Matanovi Submitted by: Hans Petter Selasky
* Reduce MIDI input buffer size to one USB packet, hence some USB devices don'tthompsa2010-06-221-8/+2
| | | | | | | | properly short terminate their transfers. This fixes a problem where input appears several seconds late. Reported by: Alexander Yerenkow Submitted by: Hans Petter Selasky
* Add new device id.thompsa2010-06-222-0/+2
| | | | PR: usb/147190
* Add a mass storage quirk.thompsa2010-06-222-0/+5
| | | | PR: usb/147196
* Add new device id.thompsa2010-06-221-0/+1
| | | | PR: usb/146907
* Add support for LOW speed BULK transfers. This mode is not recommended by thethompsa2010-06-224-10/+4
| | | | | | USB 2.0 standard, though some USB devices use it anyway. Submitted by: Hans Petter Selasky
* Add "legacy route" support to HPET driver. When enabled, this mode makesmav2010-06-221-38/+74
| | | | | | | | | | | | HPET to steal IRQ0 from i8254 and IRQ8 from RTC timers. It can be suitable for HPETs without FSB interrupts support, as it gives them two unshared IRQs. It allows them to provide one per-CPU event timer on dual-CPU system, that should be suitable for further tickless kernels. To enable it, such lines may be added to /boot/loader.conf: hint.atrtc.0.clock=0 hint.attimer.0.clock=0 hint.hpet.0.legacy_route=1
* Do not set level-triggered interrupt mode if we are not going to use it.mav2010-06-221-0/+1
| | | | | | This fixes QEMU crash due to unsupported level-triggered HPET interrupts. Reported by: kib@
* Fix ia64 build broken by r209371.mav2010-06-211-1/+1
| | | | | | ia64, same as amd64 has ACPI and always has APIC. Submitted by: jhb@
* Implement new event timers infrastructure. It provides unified APIs formav2010-06-202-76/+445
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writing event timer drivers, for choosing best possible drivers by machine independent code and for operating them to supply kernel with hardclock(), statclock() and profclock() events in unified fashion on various hardware. Infrastructure provides support for both per-CPU (independent for every CPU core) and global timers in periodic and one-shot modes. MI management code at this moment uses only periodic mode, but one-shot mode use planned for later, as part of tickless kernel project. For this moment infrastructure used on i386 and amd64 architectures. Other archs are welcome to follow, while their current operation should not be affected. This patch updates existing drivers (i8254, RTC and LAPIC) for the new order, and adds event timers support into the HPET driver. These drivers have different capabilities: LAPIC - per-CPU timer, supports periodic and one-shot operation, may freeze in C3 state, calibrated on first use, so may be not exactly precise. HPET - depending on hardware can work as per-CPU or global, supports periodic and one-shot operation, usually provides several event timers. i8254 - global, limited to periodic mode, because same hardware used also as time counter. RTC - global, supports only periodic mode, set of frequencies in Hz limited by powers of 2. Depending on hardware capabilities, drivers preferred in following orders, either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. User may explicitly specify wanted timers via loader tunables or sysctls: kern.eventtimer.timer1 and kern.eventtimer.timer2. If requested driver is unavailable or unoperational, system will try to replace it. If no more timers available or "NONE" specified for second, system will operate using only one timer, multiplying it's frequency by few times and uing respective dividers to honor hz, stathz and profhz values, set during initial setup.
* Report transport type in XPT_PATH_INQ.mav2010-06-191-0/+4
| | | | MFC after: 3 days
* Report transport type in XPT_PATH_INQ.mav2010-06-191-0/+4
| | | | | PR: i386/147929 MFC after: 3 days
* Oops! Add " / hz" missed in r209328. Assume interrupt rate hz/2, not 1/2.mav2010-06-191-1/+1
|
* Add a missing linefeedbrian2010-06-191-1/+1
| | | | | | PR: 147337 Submitted by: cyberleo at cyberleo dot net MFC after: 1 week
* While we indeed can't precisely measure time spent in C1, we can considermav2010-06-191-3/+7
| | | | | | measured interval as upper bound. It should be more precise then just assuming hz/2. For idle CPU it should be quite precise, for busy - not worse then before.
OpenPOWER on IntegriCloud