summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix kernel panic, when ataahci driver is used on system with increasedmav2009-07-081-1/+1
| | | | | | | | | MAXPHYS. Current ataahci driver memory allocation scheme includes only 64 items in DMA S/G table, and so not guarantied to support transactions with more then 252K data. Approved by: re (kensmith) MFC after: 2 weeks
* Revert revisions 188839 and 188868. Use of the ioctl in geom_dev.cmarcel2009-07-081-4/+1
| | | | | | | | | | | | is invalid because the ioctl happens without prior open. The ioctl got introduced to provide backward compatibility for extended partitions, but it ended up not being used because it didn't work as expected. Since there are no consumers of the ioctl and the implementation is broken, the best fix is to remove the code entirely. Spotted by: phk Approved by: re (kensmith)
* Fix ar5416 and later parts on big-endian platforms: setup the h/w bytesam2009-07-071-15/+14
| | | | | | swizzler using the same technique used everywhere else. Approved by: re (kib)
* Fix AR5416 and later parts when building with AH_DEBUG or similar defined:sam2009-07-062-16/+21
| | | | | | always define OS_REG_UNSWAPPED and use it in ath_hal_reg_{read,write}. Approved by: re (kib)
* The new method of reading the mac address from thejfv2009-07-061-1/+36
| | | | | | | RAR(0) register does not work on this old adapter, provide a local routine that does it the older way. Approved by: re
* - Increase dynamic range of filter coefficients from 28bit to 30bit.ariff2009-07-051-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cause dramatic effect in overall precision and conversion quality by pushing down most aliasing artifacts around -180 dB. Spectrogram analysis/comparison: http://people.freebsd.org/~ariff/z_comparison/z_28vs30/ - Guard against possible 64bit overflow during accumulation process by slightly normalize and saturate sample and coefficient multiplication, possible during extreme 32bit downsampling (eg. 380KHz -> 8KHz) with custom preset that require more than ~7000 taps filter (which is overkill). - Add knobs through FEEDER_RATE_PRESETS to set dynamic range of filter coefficients/accumulator and prefered polynomial interpolator: COEFFICIENT_BIT:X (where 1 <= X <= 30, default: 30) ACCUMULATOR_BIT:X (where 32 <= X <=64, default: 58) INTERPOLATOR:I (where I = ZOH, LINEAR, QUADRATIC, HERMITE, BSPLINE, OPT32X, OPT16X, OPT8X, OPT4X, OPT2X) Approved by: re (kib)
* Revamp 802.11 action frame handling:sam2009-07-052-5/+9
| | | | | | | | | | | | | | o add a new facility for components to register send+recv handlers o ieee80211_send_action and ieee80211_recv_action now use the registered handlers to dispatch operations o rev ieee80211_send_action api to enable passing arbitrary data o rev ieee80211_recv_action api to pass the 802.11 frame header as it may be difficult to locate o update existing IEEE80211_ACTION_CAT_BA and IEEE80211_ACTION_CAT_HT handling o update mwl for api rev Reviewed by: rpaulo Approved by: re (kensmith)
* Mark atanvidia depending on ataahci since rev.188846.mav2009-07-051-0/+1
| | | | Approved by: re (kib)
* acpi_hp.c:rpaulo2009-07-031-95/+114
| | | | | | | | | | | | | | | | | | | | | | | | - sysctl dev.acpi_hp.0.verbose to toggle debug output - A modification so this can deal with different array lengths when reading the CMI BIOS - now it works ok on HP Compaq nx7300 as well. - Change behaviour to query only max_instance-1 CMI BIOS instances, because all HPs seen so far are broken in that respect (or there is a fundamental misunderstanding on my side, possible as well). This way a disturbing ACPI Error Field exceeds Buffer message is avoided. - New bit to set on dev.acpi_hp.0.cmi_detail (0x8) to also query the highest guid instance of CMI bios acpi_hp.4: - Document dev.acpi_hp.0.verbose sysctl in man page - Document new bit for dev.acpi_hp.0.cmi_detail - Add a section to manpage about hardware that has been reported to work ok Submitted by: Michael Gmelin <freebsdusb at bindone.de> Approved by: re (kib) MFC after: 2 weeks
* Use MPT_MAX_LUNS as maximium number of LUNs, not 7, for SAS and FC cases.delphij2009-07-021-1/+4
| | | | | | | | This matches Linux driver behavior. Discussed with: scottl Approved by: re (kensmith) MFC after: 1 month
* Change explicit maximium numbers to the defined macro MPT_MAX_LUNS.delphij2009-07-021-4/+4
| | | | Approved by: re (kensmith)
* Multiqueue RX is not correctly enabled on the new 82599jfv2009-07-011-36/+31
| | | | | | adapter, the SRRCTL register needs to be setup per queue. Approved by: re
* - Add support to atomically set/clear individual bits of a MSR registerstas2009-06-301-2/+18
| | | | | | | | | | | | | | | | | | | via cpuctl(4) driver. Two new CPUCTL_MSRSBIT and CPUCTL_MSRCBIT ioctl(2) calls treat the data field of the argument struct passed as a mask and set/clear bits of the MSR register according to the mask value. - Allow user to perform atomic bitwise AND and OR operaions on MSR registers via cpucontrol(8) utility. Two new operations ("&=" and "|=") have been added. The first one applies bitwise AND operaion between the current contents of the MSR register and the mask, and the second performs bitwise OR. The argument can be optionally prefixed with "~" inversion operator. This allows one to mimic the "clear bit" behavior by using the command like this: cpucontrol -m 0x10&=~0x02 # clear the second bit of TSC MSR Inversion operator support in all modes (assignment, OR, AND). Approved by: re (kib) MFC after: 1 month
* acpi_wmi_if:rpaulo2009-06-303-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Document different semantics for ACPI_WMI_PROVIDES_GUID_STRING_METHOD acpi_wmi.c: - Modify acpi_wmi_provides_guid_string_method to return absolut number of instances known for the given GUID. acpi_hp.c: - sysctl dev.acpi_hp.0.verbose to toggle debug output - A modification so this can deal with different array lengths when reading the CMI BIOS - now it works ok on HP Compaq nx7300 as well. - Change behaviour to query only max_instance-1 CMI BIOS instances, because all HPs seen so far are broken in that respect (or there is a fundamental misunderstanding on my side, possible as well). This way a disturbing ACPI Error Field exceeds Buffer message is avoided. - New bit to set on dev.acpi_hp.0.cmi_detail (0x8) to also query the highest guid instance of CMI bios acpi_hp.4: - Document dev.acpi_hp.0.verbose sysctl in man page - Document new bit for dev.acpi_hp.0.cmi_detail - Add a section to manpage about hardware that has been reported to work ok Submitted by: Michael Gmelin, freebsdusb at bindone.de Approved by: re (kib) MFC after: 2 weeks
* Update to 3.6.2.2 firmware (latest w/o host-based power save support):sam2009-06-295-130/+292
| | | | | | | | | | | o new tx ack queue (not used right now) o proxy-sta related changes (no proxy sta in driver) o explicit dwds ena/dis (needed only with proxy sta) o cleanup BA policy handling o new ampdu aggressive mode support o CFEnd use now controllable Approved by: re (kensmith)
* Type problem when FreeBSD is in a virtualized environment, thejfv2009-06-291-1/+1
| | | | | | | | result was when the RX index wrapped it was converted into some sort of gibberish and written into the RDT register, effectively killing the RX side of the thing :) Approved by: re
* Disable Rx checksum offload until I find more clue why it breaksyongari2009-06-291-0/+8
| | | | | | | | | | under certain environments. However give users chance to override it when he/she surely knows his/her hardware works with Rx checksum offload. Reported by: Ulrich Spoerlein ( uqs <> spoerlein dot net ) MFC after: 1 week Approved by: re (kensmith)
* Don't pick up Giant inside ucom(4).ed2009-06-281-4/+6
| | | | | | | | Giant was only used here to lock down a bit mask of allocated unit numbers. Change the code to use its own mutex. Reviewed by: hselasky Approved by: re (kib)
* Revert a local change that should not have been in the last commit.phk2009-06-281-1/+1
| | | | Approved by: re (kib)
* There are a number of ways an application can check if there arephk2009-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inbound data waiting on a filedescriptor, such as a pipe or a socket, for instance by using select(2), poll(2), kqueue(2), ioctl(FIONREAD) etc. But we have no way of finding out if written data have yet to be disposed of, for instance, transmitted (and ack'ed!) to some remote host, or read by the applicantion at the far end of the pipe. The closest we get, is calling shutdown(2) on a TCP socket in non-blocking mode, but this has the undesirable sideeffect of preventing future communication. Add a complement to FIONREAD, called FIONWRITE, which returns the number of bytes not yet properly disposed of. Implement it for all sockets. Background: A HTTP server will want to time out connections, if no new request arrives within a certain period after the last transmitted response has actually been sent (and ack'ed). For a busy HTTP server, this timeout can be subsecond duration. In order to signal to a load-balancer that the connection is truly dead, TCP_RST will be the preferred method, as this avoids the need for a RTT delay for FIN handshaking, with a client which, surprisingly often, no longer at the remote IP number. If a slow, distant client is being served a response which is big enough to fill the window, but small enough to fit in the socket buffer, the write(2) call will return immediately. If the session timeout is armed at that time, all bytes in the response may not have been transmitted by the time it fires. FIONWRITE allows the timeout to check that no data is outstanding on the connection, before it TCP_RST's it. Input & Idea from: rwatson Approved by: re (kib)
* Add ids of Sitecom USB wlan gadget.phk2009-06-281-0/+1
| | | | Approved by: re (kib)
* Sync to p4thompsa2009-06-2713-23/+82
| | | | | | | | | - Add support for devices that handle set and clear stall in hardware. - Add missing get timestamp function - Add more xfer flags Submitted by: Hans Petter Selasky Approved by: re (kib)
* Use the correct mutex in umidi_open()thompsa2009-06-271-4/+4
| | | | | Submitted by: Hans Petter Selasky Approved by: re (kib)
* Add HAL_RX_FILTER_BSSID support (to disable bssid match):sam2009-06-277-7/+31
| | | | | | | | | | | o add HAL_CAP_BSSIDMATCH to identify parts that have the support for disabling bssid match o honor capability for set/get rx filter o use HAL_CAP_BSSIDMATCH in driver to decide whether to use the bssid match disable or fall back to promisc mode Reviewed by: rpaulo Approved by: re (rwatson)
* - Don't zero data field in case of MSR write operation. Before this changestas2009-06-261-4/+7
| | | | | | | | | | | the value written to MSR register was always 0 regardless of value passed by user. - Use proper data pointer when performing AMD microcode update. Previously, the pointer to user-space data has been provided instead, which is totally incorrect. Approved by: re (kib) MFC after: 1 week
* Add quirks for Actions MP4 player.delphij2009-06-262-0/+8
| | | | | | Submitted by: John Hixson <john ixsystems com> Approved by: re (kib) MFC after: 2 weeks
* Use if_maddr_rlock() instead of IF_ADDR_LOCK() to protect access torwatson2009-06-261-3/+2
| | | | | | | if_multiaddrs in if_cxgb. Approved by: re (kib) MFC after: 6 weeks
* Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/rwatson2009-06-2669-158/+154
| | | | | | | | | | | | | IF_ADDR_UNLOCK() across network device drivers when accessing the per-interface multicast address list, if_multiaddrs. This will allow us to change the locking strategy without affecting our driver programming interface or binary interface. For two wireless drivers, remove unnecessary locking, since they don't actually access the multicast address list. Approved by: re (kib) MFC after: 6 weeks
* Add support for MacBook4,1.rpaulo2009-06-262-46/+143
| | | | | | Submitted by: Christoph Langguth <christoph at rosenkeller.org> MFC after: 2 weeks Approved by: re (kib)
* mvec routines should have no knowledge of the SG engine.np2009-06-253-17/+17
| | | | | Reviewed by: kmacy Approved by: gnn (mentor)
* Fix a LOR between pmc_sx and proctree/allproc when creating a new threadattilio2009-06-252-7/+19
| | | | | | | | for the pmclog. Reported by: Ryan Stone <rstone at sandvine dot com> Tested by: Ryan Stone <rstone at sandvine dot com> Sponsored by: Sandvine Incorporated
* We shouldn't need to drop and reaquire the lock here.rnoland2009-06-251-7/+5
| | | | MFC after: 3 days
* Change the type of uio_resid member of struct uio from int to ssize_t.kib2009-06-254-10/+10
| | | | | | | | Note that this does not actually enable full-range i/o requests for 64 architectures, and is done now to update KBI only. Tested by: pho Reviewed by: jhb, bde (as part of the review of the bigger patch)
* Decided to limit the interrupt bind to multiqueuejfv2009-06-251-2/+4
| | | | config as done in igb.
* Some more cleanups for vblank code on Intel.rnoland2009-06-252-27/+18
| | | | | | | | | The Intel 2d driver calls modeset before reinstalling the handler on a vt switch. This means that vblank status ends up getting cleared after it has been setup. Restore saved values for the pipestat registers rather than just wiping them out. MFC after: 3 days
* Change intr_bind to bus_bind_intr, also limit this tojfv2009-06-251-6/+4
| | | | | multiqueue setup which is not the shipping default for igb (its set to 1).
* Change intr_bind to bus_bind_intr, thanks to John Baldwinjfv2009-06-251-6/+4
| | | | for pointing out this simplification.
* Don't use the preprocessor while inside function-like macromarius2009-06-251-12/+18
| | | | | | | invocations as doing so violates the C specification. This fixes the build with Clang. Submitted by: ed
* Initialize max_vblank_count earlier.rnoland2009-06-252-8/+12
| | | | | | Small cleanup of the error paths while I'm here. MFC after: 3 days
* Keep track of the hardware counter more aggressively while interruptsrnoland2009-06-251-0/+4
| | | | | | | are enabled. This should help to reduce cases where the hardware counter reference jumps by large amounts. MFC after: 3 days
* Fix one use of atomic for refcount missed in last commit.rnoland2009-06-251-1/+1
| | | | MFC after: 3 days
* Additional vblank cleanups.rnoland2009-06-251-26/+29
| | | | | | | | | Use the vbl_lock when maniputlating the refcount. Eventually I want to convert this to use our internal refcount code. Continue to use atomic ops for manipulating vblank count since we access it often just for reading. MFC after: 3 days
* Ensure that we always hold the lock when calling vblank_disable_fn()rnoland2009-06-251-0/+5
| | | | MFC after: 3 days
* updates AMRR statistics with tx complete status that if not the tx rateweongyo2009-06-251-0/+3
| | | | always would be reduced.
* uses ZYD_NOTIF_RETRYSTATUS info to count the number of retries.weongyo2009-06-251-1/+2
|
* Make CPU bind call architecture specific to satisfy LINTjfv2009-06-241-2/+2
|
* need to make intr_bind call architecture specific forjfv2009-06-241-2/+2
| | | | global builds (failing sun4v lint build)
* Various ifmedia related fixes in cxgb(4), including:np2009-06-241-109/+118
| | | | | | | | | - build ifmedia list based on phy->caps, not string comparisons. - rebuild media list when a transceiver change is detected. - return EOPNOTSUPP instead of ENXIO in cxgb_media_status. Approved by: gnn (mentor) MFC after: 2 weeks.
* Fix lint issue.jfv2009-06-241-2/+2
|
* Add a dying flag to prevent races at detach.gallatin2009-06-242-0/+7
| | | | | | | | | | I tried re-ordering ether_ifdetach(), but this created a new race where sometimes, when under heavy receive load (>1Mpps) and running tcpdump, the machine would panic. At panic, the ithread was still in the original (not dead) if_input() path, and was accessing stale BPF data structs. By using a dying flag, I can close the interface prior to if_detach() to be certain the interface cannot send packets up in the middle of ether_ifdetach.
OpenPOWER on IntegriCloud