summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add support for streams to LibUSB v2.0.hselasky2012-08-135-14/+43
| | | | MFC after: 2 weeks
* Rename new IOCTL to singular form of the noun "streams".hselasky2012-08-132-6/+6
| | | | MFC after: 2 weeks
* Improve auto-quirks detection for certain Kingston memory sticks.hselasky2012-08-131-1/+41
| | | | MFC after: 2 weeks
* Port the new PV entry allocator from amd64/i386. This allocator has twoalc2012-08-133-223/+436
| | | | | | | | | | | | | advantages. First, PV entries are roughly half the size. Second, this allocator doesn't access the paging queues, and thus it will allow for the removal of the page queues lock from this pmap. Fix a rather serious bug in pmap_remove_write(). After removing write access from the specified page's first mapping, pmap_remove_write() then used the wrong "next" pointer. Consequently, the page's second, third, etc. mappings were not write protected. Tested by: jchandra
* Add a 10 millisecond delay after sending the initial INIT IPI. Thisjhb2012-08-132-2/+4
| | | | | | matches the algorithm in the MP specification (1.4). Previously we were sending out the deassert INIT IPI immediately after the initial INIT IPI was sent.
* Use array notation for consistency.emaste2012-08-131-2/+2
|
* Correct description of minfree to kilobytes rather than blocks.wblock2012-08-131-1/+1
| | | | | | PR: 125921 Submitted by: Andre Albsmeier <Andre.Albsmeier@siemens.com> MFC after: 3 days
* Restore the old behaviour. If requested partition is a BSD slice,ae2012-08-131-3/+11
| | | | | but d_partition isn't explicitly set, then try to open BSD label and its first partition.
* Remove colons from the debug message, device name returned by theae2012-08-131-4/+4
| | | | disk_fmtdev() already has the colons.
* Unbreak booting from the true dedicated disks.ae2012-08-132-3/+14
| | | | | | | When we open the disk, check the type of partition table, that has been detected. If this is BSD label, then we assume this is DD mode. Reported by: dim@
* Build modules along with the XENHVM kernels.cperciva2012-08-132-4/+0
| | | | | No objections from: freebsd-xen mailing list MFC after: 1 week
* Remove extraneous newline.mjacob2012-08-121-1/+1
| | | | MFC after: 1 month
* Fix an oops where we wiped out DMA maps. Don't allocate extendedmjacob2012-08-122-18/+33
| | | | | | | command space for anything less than a 2300. MFC after: 1 month X-MFC: 238869
* - Fix source dataset snapshot name in Example 15.gjb2012-08-121-4/+4
| | | | | | | - Bump date. MFC after: 3 days X-MFC-With: r239216
* Remove a leading space that breaks rendering.gjb2012-08-121-1/+1
| | | | MFC after: 3 days
* Compile fix.hselasky2012-08-121-1/+0
| | | | MFC after: 2 weeks
* Add support for the so-called streams feature of BULK endpointshselasky2012-08-1221-104/+326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in SUPER-speed mode, USB 3.0. This feature has not been tested yet, due to lack of hardware. This feature is useful when implementing protocols like UASP, USB attached SCSI which promises higher USB mass storage throughput. This patch also implements support for hardware processing of endpoints for increased performance. The switching to hardware processing of an endpoint is done via a callback to the USB controller driver. The stream feature is implemented like a variant of a hardware USB protocol. USB controller drivers implementing device mode needs to be updated to implement the new "xfer_stall" USB controller method and remove the "xfer" argument from the "set_stall" method. The API's toward existing USB drivers are preserved. To setup a USB transfer in stream mode, set the "stream_id" field of the USB config structure to the desired value. The maximum number of BULK streams is currently hardcoded and limited to 8 via a define in usb_freebsd.h. All USB drivers should be re-compiled after this change. LibUSB will be updated next week to support streams mode. A new IOCTL to setup BULK streams as already been implemented. The ugen device nodes currently only supports stream ID zero. The FreeBSD version has been bumped. MFC after: 2 weeks
* 1. Remove SEN support. I doubt there are any working examplesmjacob2012-08-123-49/+37
| | | | | | | | | | | | of this hardware still running (close to twenty years now). 2. Quiesece and use ENC_VLOG instead of ENC_LOG for most complaints. That is, they're visible with bootverbose, but otherwise quiesced and not repeatedly spamming messages with constant reminders that hardware in this space is rarely fully compliant. MFC after: 1 month
* Add missing VERIFY_10 definition.mjacob2012-08-121-0/+1
| | | | MFC after: 1 month
* Add another debug message.ae2012-08-121-0/+2
|
* Add more debug messages.ae2012-08-121-1/+6
|
* Do defered mutex wakeup once.davidxu2012-08-121-0/+1
|
* Revert the ath_tx_draintxq() method, and instead teach it the minimumadrian2012-08-126-30/+26
| | | | | | | | | necessary to "do" EDMA. It was just using the TX completion status for logging information about the descriptor completion. Since with EDMA we don't know this without checking the TX completion FIFO, we can't provide this information. So don't.
* Break out ath_draintxq() into a method and un-methodize ath_tx_processq().adrian2012-08-126-24/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that I understand what's going on with this, I've realised that it's going to be quite difficult to implement a processq method in the EDMA case. Because there's a separate TX status FIFO, I can't just run processq() on each EDMA TXQ to see what's finished. i have to actually run the TX status queue and handle individual TXQs. So: * unmethodize ath_tx_processq(); * leave ath_tx_draintxq() as a method, as it only uses the completion status for debugging rather than actively completing the frames (ie, all frames here are failed); * Methodize ath_draintxq(). The EDMA ath_draintxq() will have to take care of running the TX completion FIFO before (potentially) freeing frames in the queue. The only two places where ath_tx_draintxq() (on a single TXQ) are used: * ath_draintxq(); and * the CABQ handling in the beacon setup code - it drains the CABQ before populating the CABQ with frames for a new beacon (when doing multi-VAP operation.) So it's quite possible that once I methodize the CABQ and beacon handling, I can just drop ath_tx_draintxq() in its entirety. Finally, it's also quite possible that I can remove ath_tx_draintxq() in the future and just "teach" it to not check the status when doing EDMA.
* Some style fixes inspired by @bde.davidxu2012-08-111-12/+12
|
* Extend the beacon code slightly to support AP mode beaconing for theadrian2012-08-113-8/+52
| | | | | | | | | | | | | | | | | | | EDMA HAL hardware. * The EDMA HAL code assumes the nexttbtt and intval values are in TU/8 units, rather than TU. For now, just "hack" around that here, at least until I code up something to translate it in the HAL. * Setup some different TXQ flags for EDMA hardware. * The EDMA HAL doesn't support setting the first rate series via ath_hal_setuptxdesc() - instead, a call to ath_hal_set11nratescenario() is always required. So for now, just do an 11n rate series setup for EDMA beacon frames. This allows my AR9380 to successfully transmit beacon frames. However, CABQ TX and all normal data frame TX and TX completion is still not functional and will require some more significant code churn to make work.
* MFp4:davidxu2012-08-115-24/+38
| | | | | Further decreases unexpected context switches by defering mutex wakeup until internal sleep queue lock is released.
* Add the AR9380 HAL to the TX descriptor debugging, in order to dump alladrian2012-08-111-1/+2
| | | | of the descriptor contents.
* Add the AR9300 HAL ID in to the 11n check routine.adrian2012-08-111-1/+2
| | | | | | | I was having TX hang issues, which I root caused to having the legacy ath_hal_setupxtxdesc() called, rather than the 11n rate scenario setup code. This meant that rate control information wasn't being put into frames, causing the MAC to stall/hang.
* Begin fleshing out the TX FIFO support.adrian2012-08-112-1/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add ATH_TXQ_FIRST() for easy tasting of what's on the list; * Add an "axq_fifo_depth" for easy tracking of how deep the current FIFO is; * Flesh out the handoff (mcast, hw) functions; * Begin fleshing out a TX ISR proc, which tastes the TX status FIFO. The legacy hardware stuffs the TX completion at the end of the final frame descriptor (or final sub-frame when doing aggregate.) So it's feasible to do a per-TXQ drain and process, as the needed info is right there. For EDMA hardware, there's a separate TX completion FIFO. So the TX process routine needs to read the single FIFO and then process the frames in each hardware queue. This makes it difficult to do a per-queue process, as you'll end up with frames in the TX completion FIFO for a different TXQ to the one you've passed to ath_tx_draintxq() or ath_tx_processq(). Testing: I've tested the TX queue and TX completion code in hostap mode on an AR9380. Beacon frames successfully transmit and the completion routine is called. Occasional data frames end up in TXQ 1 and are also successfully completed. However, this requires some changes to the beacon code path as: * The AR9380 beacon configuration API is now in TU/8, rather than TU; * The AR9380 TX API requires the rate control is setup using a call to setup11nratescenario, rather than having the try0 series setup (rate/tries for the first series); so the beacon won't go out. I'll follow this up with commits to the beacon code.
* Some more minor tunings inspired by bde@.mav2012-08-112-25/+31
|
* Add __always_inline to __ieee754_rem_pio2() and __ieee754_rem_pio2f(),dim2012-08-112-2/+2
| | | | | | | since some older versions of gcc refuse to inline these otherwise. Requested by: bde MFC after: 1 week
* Allow idle threads to steal second threads from other cores on systems withmav2012-08-111-6/+0
| | | | | | | | | | | | 8 or more cores to improve utilization. None of my tests on 2xXeon (2x6x2) system shown any slowdown from mentioned "excess thrashing". Same time in pbzip2 test with number of threads more then number of CPUs I see up to 10% speedup with SMT disabled and up 5% with SMT enabled. Thinking about trashing I was trying to limit that stealing within same last level cache, but got only worse results. Present code any way prefers to steal threads from topologically closer cores. Sponsored by: iXsystems, Inc.
* Rename aux.c to auxv.c.ed2012-08-112-1/+1
| | | | | | | | | | | On Windows, AUX is the auxiliary device, usually pointing to COM1. Therefore it is forbidden to create a file named aux.c. To make it a bit easier for Windows users to check out our source code, rename this file to auxv.c. MFC after: 1 month Discussed with: kib Suggested by: Eric van Gyzen <eric vangyzen net>
* Change a few extern inline functions in libm to static inline, sincedim2012-08-116-28/+23
| | | | | | | | | | | they need to refer to static constants, which C99 does not allow for extern inline functions. While here, change a comment in e_rem_pio2f.c to mention the correct number of bits. Reviewed by: bde MFC after: 1 week
* Move the decoding of the swi instruction to the syscall function. With theandrew2012-08-111-7/+4
| | | | | | ARM EABI the syscall value will be moved to a register to ease adding thumb support. When this happens decoding of the instruction will no longer be required.
* Correct the PLLA setting functions and centralize.imp2012-08-115-70/+41
|
* Update comments about setting PLLA and refernce the tables in theimp2012-08-111-6/+15
| | | | datasheet that express the limits.
* Don't use C++ comments.imp2012-08-111-11/+12
|
* tvtohz will print out an error message if a negative value is givendavidxu2012-08-111-9/+13
| | | | | | to it, avoid this problem by detecting timeout earlier. Reported by: pho
* Some minor tunings/cleanups inspired by bde@ after previous commits:mav2012-08-103-45/+73
| | | | | | | | | | - remove extra dynamic variable initializations; - restore (4BSD) and implement (ULE) hogticks variable setting; - make sched_rr_interval() more tolerant to options; - restore (4BSD) and implement (ULE) kern.sched.quantum sysctl, a more user-friendly wrapper for sched_slice; - tune some sysctl descriptions; - make some style fixes.
* Always initialize sc_ekey, because as of r238116 it is always used.pjd2012-08-101-12/+13
| | | | | | | | | | | | | | | | | | | If GELI provider was created on FreeBSD HEAD r238116 or later (but before this change), it is using very weak keys and the data is not protected. The bug was introduced on 4th July 2012. One can verify if its provider was created with weak keys by running: # geli dump <provider> | grep version If the version is 7 and the system didn't include this fix when provider was initialized, then the data has to be backed up, underlying provider overwritten with random data, system upgraded and provider recreated. Reported by: Fabian Keil <fk@fabiankeil.de> Tested by: Fabian Keil <fk@fabiankeil.de> Discussed with: so MFC after: 3 days
* sched_rr_interval() seems always returned period in hz ticks, but samemav2012-08-101-1/+1
| | | | always it was used as rate. Fix use side units to period in hz ticks.
* Style.hselasky2012-08-101-6/+0
| | | | MFC after: 2 weeks
* Remove unused structure field.hselasky2012-08-105-21/+0
| | | | MFC after: 2 weeks
* Take advantage of new UCOM and bus functionality so thathselasky2012-08-1021-42/+520
| | | | | | | | | | | the device_detach() function doesn't block on UCOM device drivers until the TTY handle is closed by the userspace application. This is implemented by a postpone of the softc free where the UCOM structures reside until the TTY references are gone. Discussed with: kib, ed MFC after: 2 weeks
* Switch unit management in UCOM to unrhdr.hselasky2012-08-103-70/+183
| | | | | | | | | | | | | | | | | | | | | | | Extend the callback table of UCOM to include a "ucom_free" function pointer which is called when all refs on a UCOM super structure is gone. Implement various helper functions to handle refcounting and draining on the UCOM super structure. Implement macro which can be used in device drivers to avoid module unload before all pending TTY references are gone. The UCOM API is backwards compatible after this change and device drivers require no changes to function with this change. Only a recompilation of UCOM device drivers is required. The FreeBSD version has been bumped in that regard. Discussed with: kib, ed MFC after: 2 weeks
* Add new device method to free the automaticallyhselasky2012-08-103-4/+26
| | | | | | | | | | | | | | | allocated softc structure which is returned by device_get_softc(). This method can be used to easily implement softc refcounting. This can be desirable when the softc has memory references which are controlled by userspace handles for example. This solves the problem of blocking the caller of device_detach() for a non-deterministic time. Discussed with: kib, ed MFC after: 2 weeks
* Style.hselasky2012-08-101-2/+2
| | | | MFC after: 2 weeks
* Fix spelling.hselasky2012-08-101-1/+1
| | | | MFC after: 2 weeks
OpenPOWER on IntegriCloud