Commit graph

74449 commits

Author SHA1 Message Date
Antoine Brodin
59cdac432f MFC r199193 to stable/8:
- Remove trailing ";" after if statement
  - Remove #if 0 section that was never needed/used
  Reviewed by:	raj@
2009-12-12 12:36:41 +00:00
Antoine Brodin
a329f4db8a MFC r199187 to stable/8:
Remove trailing ";" in struct ieee80211_beacon_offsets declaration
  Found by:	phk's FlexeLint in September
  Reviewed by:	rpaulo@
2009-12-12 12:34:20 +00:00
Antoine Brodin
1488409373 MFC r199186 to stable/8:
Fix off by one in ieee80211_send_action_register
  Found by:	phk's FlexeLint in September
  Reviewed by:	rpaulo@
2009-12-12 12:31:11 +00:00
Alexander Motin
71e7360ed9 MFC r200171, r200182, r200275, r200295, r200359:
Introduce ATA_CAM kernel option, turning ata(4) controller drivers into
cam(4) interface modules. When enabled, this option deprecates all ata(4)
peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers
(ada, cd, ...) and interfaces to be natively used instead.

As side effect of this, ata(4) mode setting code was completely rewritten
to make controller API more strict and permit above change. While doing
this, SATA revision was separated from PATA mode. It allows DMA-incapable
SATA devices to operate and makes hw.ata.(ata|atapi)_dma tunable work again.

Also allow ata(4) controller drivers (except some specific or broken ones)
to handle larger data transfers. Previous constraint of 64K was artificial
and is not really required by PCI ATA BM specification or hardware.

Submitted by:   nwitehorn (powerpc part)
2009-12-12 10:37:31 +00:00
Marcel Moolenaar
5b574e433f MFC rev 199893, 199941, 200200 and 200207:
o   Eliminate MAXCPU.
o   Revamp the PCPU structure.
2009-12-12 05:14:40 +00:00
Marcel Moolenaar
f695ba479e MFC rev 200045:
Include <sys/sysctl.h>, to get the declarations of ostype and
osrelease. Remove the duplicate declarations from this file.
2009-12-12 04:34:22 +00:00
Nathan Whitehorn
a8fb2bf194 MFC r199888:
Add support for interpreting taps on ADB touchpads as a button click.

Submitted by:	Andreas Tobler <andreast-list at fgznet dot ch>
2009-12-12 02:34:00 +00:00
Nathan Whitehorn
b75ed345f8 MFC r200083:
The first argument of dcbz interprets r0 as a literal zero, not the second.
This worked before by accident.
2009-12-12 02:31:16 +00:00
Alexander Motin
cee2de6c2a MFC r200180:
If we panicked with SIM lock held, do not try to flush caches.
Extra lock recursing will not make debugging easier.
2009-12-11 12:53:09 +00:00
Alexander Motin
248e8fd706 MFC r200353:
Limit maximum I/O size, depending on command set supported by device.
It is required to suppot non-LBA48 devices with MAXPHYS above 128K.
Same is done in ada(4).
2009-12-11 12:44:44 +00:00
Fabien Thomas
68d2ef77eb MFC 196739:
Add counters for the i7 architecture which were accidentally left
out of the original commit of i7 support.  These are all the counters
on pages A-32 and A-33 of the _Intel(R) 64 and IA32 Architectures
Software Developer's Manual Vol 3B_, June 2009.  Almost all
of these counters relate to operations on the L2 cache.
2009-12-11 12:36:02 +00:00
Konstantin Belousov
3f6a1b3c17 Regen 2009-12-11 11:07:48 +00:00
Konstantin Belousov
117384a792 MFC r200111:
Add several syscall compat32 entries for acl manipulation.
2009-12-11 11:07:05 +00:00
Marcel Moolenaar
3919e32212 MFC rev 200240:
In exception_save, write-back ar.rnat after switching the backing-store.

PR:		ia64/120315
2009-12-11 01:26:26 +00:00
Alexander Motin
151681ac53 MFC r199846:
Add two Cirrus Logic codec IDs.
Add GPIO setting quirk for Apple MacBookPro5,5.

Submitted by:   ed
2009-12-11 01:06:30 +00:00
Pawel Jakub Dawidek
f142f57c04 MFC r200124,r200126,
r200124:

Avoid using additional variable for storing an error if we are not going
to do anything with it.

r200126:

Fix deadlock when ZVOLs are present and we are replacing dead component or
calling scrub when pool is in a degraded state. It will try to taste ZVOLs,
which will lead to deadlock, as ZVOL will try to acquire the same locks as
replace/scrub is holding already.

We can't simply skip provider based on their GEOM class, because ZVOL can have
providers build on top of it and we need to skip those as well.

We do it by asking for ZFS::iszvol attribute. Any ZVOL-based provider will give
us positive answer and we have to skip those providers.

This way we remove possibility to create ZFS pools on top of ZVOLs, but it is
not very useful anyway.

I believe deadlock is still possible in some very complex situations like when
we have MD provider on top of UFS file on top of ZVOL. When we try to replace
dead component in the pool mentioned ZVOL is based on, there might be a
deadlock when ZFS will try to taste MD provider. There is no easy way to detect
that, but it isn't very common.

r200125,r200158:

Fix order of looking for providers.

Before r200125 the order of looking for providers was wrong. It was:
1. Find provider by name.
2. Find provider by guid.
3. Find provider by name and guid.

Where it should have been:
1. Find provider by name and guid.
2. Find provider by guid.
3. Find provider by name.
2009-12-10 18:38:40 +00:00
Marcel Moolenaar
d87439e7b6 MFC rev 200230:
Add support for the NetMos NM9865 family of Serial/Parallel ports.
2009-12-10 05:45:40 +00:00
Andrew Thompson
c9e072d090 MFC r199677
add support for MIDI devices without audio control stream.

Submitted by:	Hans Petter Selasky
2009-12-09 23:12:52 +00:00
Andrew Thompson
e4f658cee0 MFC r199576
remove volume alignment (was previously not correctly implemented)
2009-12-09 23:12:14 +00:00
Andrew Thompson
9d294893a4 MFC r199060
Improve support for High-speed USB audio devices.
 - fix issues regarding the mixer, where the interface number was not set in
   time.
 - fix wrong use of resolution parameter.

Submitted by:	Hans Petter Selasky
2009-12-09 23:11:27 +00:00
Andrew Thompson
40e55da3d1 MFC r196487
Remove redundant Giant reference. Giant will be dropped
 automatically when the mutex argument is NULL.
2009-12-09 23:10:32 +00:00
Andrew Thompson
c1b5138fc1 MFC r199816
Remove overuse of exclamation marks in kernel printfs, there mere fact a
 message has been printed is enough to get someones attention. Also remove the
 line number for DPRINTF/DPRINTFN, it already prints the funtion name and a
 unique message.
2009-12-09 22:42:40 +00:00
Andrew Thompson
fd29c5e00e MFC r199814
Disable interrupts after doing early takeover of the usb controller in case usb
 isnt actually compiled in (or kldloaded) as the controller could cause spurious
 interrupts.
2009-12-09 22:41:50 +00:00
Andrew Thompson
044745556c MFC r199718
Actually disable interrupts in ehci_detach().
2009-12-09 22:41:11 +00:00
Andrew Thompson
0ae254cb36 MFC r199676
Correct register access for USB device side operation on the musb controller.

Submitted by:	Hans Petter Selasky
2009-12-09 22:40:27 +00:00
Andrew Thompson
c7838bf992 MFC r199675
Provide tunables for some of the usb sysctls that affect boot behaviour.

Submitted by:	Andriy Gapon
2009-12-09 22:39:09 +00:00
Andrew Thompson
4cd01f7750 MFC r199673
Initialise variable before use.

Submitted by:	Hans Petter Selasky
2009-12-09 22:38:02 +00:00
Andrew Thompson
b7167d5d0d MFC r199672
Improve High Speed slot allocation mechanism by moving the computation to the
 endpoint rather than per xfer and provide functions around get/free of resources.

Submitted by:	Hans Petter Selasky
2009-12-09 22:37:06 +00:00
Andrew Thompson
62460f64ff MFC r199062
Correct Olympus quirk.

Submitted by:	Pavel Gubin
2009-12-09 22:36:16 +00:00
Andrew Thompson
2785d01590 MFC r199061
Add missing mtx_destroy().

Submitted by:	Sebastian Huber
2009-12-09 22:35:08 +00:00
Andrew Thompson
1250e0e321 MFC r199059
improve support for high speed isochronous endpoints which does not run 1:1,
 but needs intervalling 1:2, 1:4 or 1:8

Submitted by:	Hans Petter Selasky
2009-12-09 22:34:11 +00:00
Andrew Thompson
653a3d45c4 MFC r199057
ehci_init() will do reset and set the usbrev flag.  Fix problem where
 ehci_reset() was called before ehci_init().

PR:		usb/140242
Submitted by:	Sebastian Huber
2009-12-09 22:33:22 +00:00
Andrew Thompson
2265c34554 MFC r198776
- Add usb_fill_bulk_urb() and usb_bulk_msg() linux compat functions [1]
 - Don't write actual length if the actual length pointer is NULL [2]
 - correct Linux Compatibility error codes for short isochronous IN transfers
   and make status field signed.

Submitted by:	Leunam Elebek [1], Manuel Gebele [2]
2009-12-09 22:32:36 +00:00
Andrew Thompson
975199a5ac MFC r198774
Check unit number and provide string name for consdev.

Submitted by:	HPS
2009-12-09 22:31:45 +00:00
Andrew Thompson
c39d541d9f MFC r197761,r198194,r198862
updates device entries supported with the product name not magic numbers
 and sorts entries.  WUSB54GCV2 is added.

 overhauls urtw(4) for supporting RTL8187B devices properly that there
 was major changes to initialize RF chipset and set H/W registers and
 removed a lot of magic numbers on code.
2009-12-09 22:10:45 +00:00
Nathan Whitehorn
c15901d48b MFC r199949:
Add atp(4) to powerpc GENERIC. Most late-generation Apple PowerPC laptops
have trackpads that do not work at all without this driver.
2009-12-09 21:58:39 +00:00
Nathan Whitehorn
a4ca386425 MFC r199169:
Reduce probe priority of USB input devices to BUS_PROBE_GENERIC from
BUS_PROBE_SPECIFIC. This allows device-specific drivers like atp to
attach reliably.
2009-12-09 21:56:55 +00:00
Andrew Thompson
310ce38f75 MFC r199086,199151,199680,199948,200241
Driver for the Apple Touchpad present on MacBook (non-Pro & Pro).

Submitted by:	Rohit Grover <rgrover1 at gmail.com>
2009-12-09 21:47:42 +00:00
Alexander Motin
26952f96e5 MFC r200121:
Do not ignore device interrupt if bus mastering is still active. It is
normal in case of media read error and some ATAPI cases, when transfer size
is unknown beforehand. PCI ATA BM specification tells that in case of such
underrun driver should just manually stop DMA engine. DMA engine should
same time guarantie that all bus mastering transfers completed at the moment
of driver reads interrupt flag asserted.
This change fixes interrupt storms and command timeouts in many cases.

PR:             kern/103602, sparc64/121539, kern/133122, kern/139654
2009-12-09 17:20:10 +00:00
Alexander Motin
3ca1ec74ed MFC r200117:
On Soft Reset, read device signature from FIS receive area, instead of
PxSIG register. It works better for NVidia chipsets. ahci(4) does the same.

PR:             kern/140472, i386/138668
2009-12-09 17:11:09 +00:00
Alexander Motin
67c3bd2681 MFC r200223:
Explicitly acknowledge MSI completion, as required by SiI3124 datasheet.
It makes MSI working there. Later (and cheaper) PCIe chips (3132/3531)
still randomly crashing system in few seconds of high MSI rates, generating
something inaporopriate, like NMI or "Fatal trap 30".
2009-12-09 13:32:49 +00:00
Alexander Motin
0d8f2099fa MFC r200217:
SiI3124 has no SNotification register. Handle Asynchronous Notifications
there without it as good as possible.
2009-12-09 13:30:11 +00:00
Alexander Motin
240d980d7c MFC r200196:
Add Asynchronous Notification support for controllers without SNTF
capability by snooping SDB FIS receive area. It should be even faster
then regular way, but less reliable.
2009-12-09 13:27:06 +00:00
Alexander Motin
417f972601 MFC r200086:
Change 'load' balancing mode algorithm:
- Instead of measuring last request execution time for each drive and
choosing one with smallest time, use averaged number of requests, running
on each drive. This information is more accurate and timely. It allows to
distribute load between drives in more even and predictable way.
- For each drive track offset of the last submitted request. If new request
offset matches previous one or close for some drive, prefer that drive.
It allows to significantly speedup simultaneous sequential reads.

PR:             kern/113885
2009-12-08 23:23:45 +00:00
Alexander Motin
e99e819fed MFC r196879:
Add support for changing providers priority.
2009-12-08 23:15:48 +00:00
Rick Macklem
6d54ecd38f MFC: r199715
Modify the experimental nfs server so that it falls back to
using VOP_LOOKUP() when VFS_VGET() returns EOPNOTSUPP in the
ReaddirPlus RPC. This patch is based upon one by pjd@ for the
regular nfs server which has not yet been committed. It is needed
when a ZFS volume is exported and ReaddirPlus (which almost
always happens for NFSv4) is performed by a client. The patch
also simplifies vnode lock handling somewhat.

Tested by:	gerrit at pmp.uni-hannover.de
2009-12-08 22:41:37 +00:00
Rick Macklem
52b239b029 MFC: r199616
Patch the experimental NFS server is a manner analagous to
r197525, so that the creation verifier is handled correctly
in va_atime for 64bit architectures. There were two problems.
One was that the code incorrectly assumed that
sizeof (struct timespec) == 8 and the other was that the tv_sec
field needs to be assigned from a signed 32bit integer, so that
sign extension occurs on 64bit architectures. This is required
for correct operation when exporting ZFS volumes.

Tested by:	gerrit at pmp.uni-hannover.de
Reviewed by:	pjd
2009-12-08 22:28:55 +00:00
Fabien Thomas
f8abda828b MFC 198464:
Inform hwpmc(4) of a thread's impending demise prior to invoking sched_throw().
2009-12-08 18:23:52 +00:00
Andriy Gapon
2cd46f059b MFC r199968: x86 cpu features: add MOVBE reporting and flag 2009-12-08 15:27:06 +00:00
Andriy Gapon
3ed91d6a6d MFC r199184: reflect that pg_ps_enabled is a tunable 2009-12-08 15:21:39 +00:00