Commit Graph

171424 Commits

Author SHA1 Message Date
jeff
b34673d9c3 - Move ofed modules into the i386 and amd64 specific sections to fix
universe on other architectures.
2011-03-23 08:27:57 +00:00
mckusick
becd8ff499 Add retry code analogous to the block allocation retry code
to avoid running out of inodes.

Reported by: Peter Holm
2011-03-23 05:13:54 +00:00
adrian
7ae3cbd3a0 The AR5416+ chips all have MIB counters (which the AR5416 ANI code assumes)
so there's no need to enable the RX of invalid frames just to do ANI.

The if_ath code and AR5212 ANI code setup the RX filter bits to enable
receiving OFDM/CCK errors if the device doesn't have the hardware
MIB counters. It isn't initialising it for the AR5416+ because all of
those chips have hardware MIB counters.

This fixes the odd (and performance affecting!) situation where if ani
is enabled (via sysctl dev.ath.X.intmit) then suddenly there's be a very
large volume of phy errors - which is good to track, but not what was
intended. Since each PHY error is a received (0 length) frame, it can
significantly tie up the RX side of things.
2011-03-23 03:58:55 +00:00
jeff
0cc004a772 - Correct the vlan filter programming. The device filter is built in
reverse order.
 - Name the cq taskqueues according to whether they handle rx or tx.
 - Default LRO to on.
2011-03-23 02:47:04 +00:00
nwhitehorn
9cfc2d6be3 Allow setting of parameters for file systems (e.g. softupdates), turn on
SUJ by default, and allow creation and mounting of FAT filesystems from
the installer.
2011-03-23 01:26:21 +00:00
adrian
168b5df398 Enable setting the MCS rate bit for ast_tx_rate.
This allows ath_stats to print the MCS rate when TX'ing.
2011-03-22 22:59:09 +00:00
pjd
d7f3432550 Add my copyright.
MFC after:	1 week
2011-03-22 21:19:51 +00:00
pjd
059b3a821c Forgot to commit this as part of r219873.
MFC after:	1 week
2011-03-22 21:11:36 +00:00
np
2807134c93 Fix an error while constructing the table that maps context id -> egress
queue.

MFC after:	1 day
2011-03-22 21:05:56 +00:00
trociny
9a2a9da631 After synchronization is complete we should make primary counters be
equal to secondary counters:

  primary_localcnt = secondary_remotecnt
  primary_remotecnt = secondary_localcnt

Previously it was done wrong and split-brain was observed after
primary had synchronized up-to-date data from secondary.

Approved by:	pjd (mentor)
MFC after:	1 week
2011-03-22 20:27:26 +00:00
trasz
359437c29d Make UFS use PSARC/2010/029 NFSv4 ACL semantics by default, bringing
it in line with ZFSv28.

X-MFC-After:	ZFSv28.
2011-03-22 19:52:29 +00:00
trociny
03d954b2b3 For requests that are sent only to remote component use the
error from remote.
Approved by:	pjd (mentor)
MFC after:	1 week
2011-03-22 19:49:27 +00:00
trasz
eb401e64c1 Move the code around so that libc behaviour does not depend on a variable
that was supposed to be kernel-only.  There should be no functional changes.
2011-03-22 17:44:07 +00:00
trasz
6db2fedb23 Add test for acl_is_trivial_np(3). 2011-03-22 17:26:56 +00:00
marcel
740a8e4e1d Change the load address from offset 0 in region 1 to offset 4G in region 0.
This (almost) gives us the address space back (at the bottom) that we lost
at the top.

Region 0 has traditionally been reserved for IA-32 emulation, which has not
been of great interest. By starting 64-bit processes at the 4G boundary we
at least preserve some of the advantages:
1.  Any invalid pointer cast (from int to pointer and back) will still
    always fail and not only when more than 4GB of memory is in use.
2.  Memory sharing between 64-bit and 32-bit processes is still possibly
    by using addresses < 4G.
2011-03-22 17:19:35 +00:00
marcel
d43623eb14 Branch from contrib/binutils/ld/emulparams/elf64_ia64_fbsd.s so that
we can modify it.
2011-03-22 17:02:33 +00:00
pjd
b5016a737c The proto API is a general purpose API, so don't use 'hast' in structures or
function names. It can now be used outside of HAST.

MFC after:	1 week
2011-03-22 16:21:11 +00:00
adrian
8b14a81753 Clean up setting the short preamble bit in the rate - this way it
is very obvious (and cleanly so) that it occurs for non-11n rates.
2011-03-22 13:39:00 +00:00
adrian
bf0192385b Flip this over to be a configurable option for people who wish to play with it.
It's still not ready for prime-time - there's some TX niggles with these 11n
cards that I'm still trying to wrap my head around, and AMPDU-TX is just not
implemented so things will come to a crashing halt if you're not careful.
2011-03-22 13:35:56 +00:00
adrian
3533e9348f This isn't actually needed any longer, A-MPDU frames work fine if only tagged for 11n nodes. 2011-03-22 13:20:11 +00:00
jhb
3929fadffc Rename pci_find_extcap() to pci_find_cap(). PCI now uses the term
"extended capabilities" to refer to the new set of capability structures
starting at offset 0x100 in config space for PCI-express devices.  For now
both function names will still work.  I will merge this to older branches
to ease driver portability, but 9.0 will ship with a new pci_find_extcap()
function that locates extended capabilities instead.

Reviewed by:	imp
MFC after:	1 week
2011-03-22 12:05:49 +00:00
pjd
f29604a547 White space cleanups.
MFC after:	1 week
2011-03-22 10:39:34 +00:00
adrian
06d8daf5f3 Bring over an XPA (external power amplifer) bias fix for the AR9160.
This fix modifies the const addac initval array, rather than modifying
a local copy. It means that running >1 AR9160 on a board may prove to
be unpredictable.

The AR5416 init path also does something similar, so supporting
>1 AR5416 of different revisions could cause problems.

The later fix will be to create a private copy of the Addac data
for the AR5416, AR9160 (and AR9100 when it's merged in) and then
modify that as needed.

Obtained From:	Linux ath9k
2011-03-22 10:29:36 +00:00
adrian
0bc8dc6ea4 Fix OFDM ANI statistics gathering for the AR5416 and later chips.
I found this when trying to figure out why the RX PHY error count
didn't match the OFDM error count ANI was using. It turns out
there was two problems:

* What this commit addresses - using the wrong mask for OFDM errors,
  and
* The RX filter is set incorrectly after a channel scan (at least)
  even if interference mitigation is enabled by default.

ANI is still disabled by default for the AR5416 and later chips.
2011-03-22 07:19:49 +00:00
adrian
9d9da16337 Set the "right" CCA register.
Obtained From:	ath9k
2011-03-22 05:47:48 +00:00
jeff
23a89cee70 - Don't use a separate set of rx queues for UDP, hash them into the same
set as TCP.
 - Eliminate the fully linear non-scatter/gather rx path, there is no
   harm in using arrays of clusters for both TCP and UDP.
 - Implement support for enabling/disabling per-vlan priority pause and
   queues via sysctl.
2011-03-22 04:50:47 +00:00
glebius
fc23a5373d Give better URL to the list of available CVSup mirrors. 2011-03-22 04:31:35 +00:00
nwhitehorn
b4e106ba7b Update release(7) and build(7) to reflect new release infrastructure for
the new installer.
2011-03-22 01:21:51 +00:00
nwhitehorn
7e04216c28 Use labels to find release media instead of hard-coded device paths. This
makes booting more reliable (and working at all on USB sticks). While here,
move responsibility for setting up fstab into the various platform mk-*.sh
scripts.

Suggested by:	many
2011-03-22 01:14:53 +00:00
adrian
57d3996c32 Break out the RF mode setup into ar5416SetRfMode(), mirroring what ath9k does. 2011-03-22 00:52:44 +00:00
adrian
2a5d8fbd5e Do a bit of spring cleaning in the board setup code, just to
bring it in line with the rest of the register initialisation.

I've verified that the 2/5ghz board values written to the
chip match what was previously written.
2011-03-22 00:43:58 +00:00
adrian
ce1da40e3d Bring over a few queue changes from ath9k:
* add pspoll/uapsd queue setup defaults;
* enable the exponential backoff window rather than the random
  backoff window when doing TX contention management.
2011-03-22 00:14:17 +00:00
adrian
f7f4efa2a0 Even though it's very unlikely the misc mode register setting at -attach-
would be a problem, make sure it isn't overwritten by whatever is in
there at cold reset.

This brings the > ar5416 init path treatment of AR_MISC_MODE.
2011-03-22 00:12:26 +00:00
adrian
e204f119d9 Remove the merlin delay workaround here, it isn't appropriate for
the analog bank writes as Merlin never does them.
2011-03-22 00:11:04 +00:00
gjb
0d69b2025b s/buffer/buf as is used in the code.
Submitted by:	arundel (via doc@)
MFC after:	3 days
2011-03-21 23:59:20 +00:00
jeff
7b5fc65169 - For now, disable ofed module build unless MK_OFED is set. 2011-03-21 21:35:19 +00:00
hselasky
abf0d7021c - Do not output the trailing newline to the HID
report descriptor information, sysctl utility
  will show it for us.
- Modify sysctl node description to make it more
  understanable.

Found by:	Alexander Best <arundel@freebsd.org>
Submitted by:	Eygene Ryabinkin <rea@freebsd.org>
MFC after:	14 days
Approved by:	thompsa (mentor)
2011-03-21 21:34:12 +00:00
pjd
b84a0251e3 When dropping privileges prefer capsicum over chroot+setgid+setuid.
We can use capsicum for secondary worker processes and hastctl.
When working as primary we drop privileges using chroot+setgid+setuid
still as we need to send ioctl(2)s to ggate device, for which capsicum
doesn't allow (yet).

X-MFC after:	capsicum is merged to stable/8
2011-03-21 21:31:50 +00:00
kib
3591d152b2 Allow the ofed modules to be compiled on i386.
Reviewed by:	jeff
2011-03-21 21:16:40 +00:00
hselasky
9fa2bf8aee - Bugfix: Fix a EHCI hardware race, where the hardware computed data toggle
value is updated after that we read it in the queue-head. This patch can
fix problems with BULK timeouts. The issue was found on a Nvidia chipset.

MFC after:	14 days
Approved by:	thompsa (mentor)
2011-03-21 21:16:25 +00:00
pjd
a444cd5681 Initialize localcnt on first write. This fixes assertion when we create
resource, set role to primary, do no writes, then sent it to secondary
and accept connection from primary.

MFC after:	1 week
2011-03-21 21:16:12 +00:00
pjd
a53d08470e Fix typo.
MFC after:	1 week
2011-03-21 21:14:07 +00:00
marcel
cd817c0d10 Fix switching to physical mode as part of calling into EFI runtime
services or PAL procedures. The new implementation is based on
specific functions that are known to be called in certain scenarios
only. This in particular fixes the PAL call to obtain information
about translation registers. In general, the new implementation does
not bank on virtual addresses being direct-mapped and will work when
the kernel uses PBVM.

When new scenarios need to be supported, new functions are added if
the existing functions cannot be changed to handle the new scenario.
If a single generic implementation is possible, it will become clear
in due time.

While here, change bootinfo to a pointer type in anticipation of
future development.
2011-03-21 18:20:53 +00:00
adrian
8a3060a483 Back that commit out - something's broken, and I need to figure out
what/why.
2011-03-21 17:44:52 +00:00
adrian
4f9afc394f This CLKDRV workaround should only be for AR5416 v2.0/2.1;
the check was too strict and enabled it for all non AR5416-v2.2
chipsets - including later ones.
2011-03-21 17:12:03 +00:00
pjd
8270eb5240 Before handling any events on descriptors check signals so we can update
our info about worker processes if any of them was terminated in the meantime.

This fixes the problem with 'hastctl status' running from a hook called on
split-brain:
1. Secondary calls a hooks and terminates.
2. Hook asks for resource status via 'hastctl status'.
3. The main hastd handles the status request by sending it to the secondary
   worker who is already dead, but because signals weren't checked yet he
   doesn't know that and we get EPIPE.

MFC after:	1 week
2011-03-21 15:29:20 +00:00
gjb
7bae0e7098 Bump date from previous commit. 2011-03-21 15:17:02 +00:00
pjd
2b67f741a9 Remove stale comment. Yes, it is valid to set role back to init.
MFC after:	1 week
2011-03-21 15:08:10 +00:00
pjd
d3221d1a45 Increase debug level of "Checking hooks." message.
MFC after:	1 week
2011-03-21 14:53:27 +00:00
pjd
6ddd70cb46 Be pedantic and free nvout before exiting.
MFC after:	1 week
2011-03-21 14:51:16 +00:00