Dimitry Andric
58ff0f42ba
Remove support for the Intel C Compiler from the build infrastructure.
...
This support has not worked for several years, and is not likely to work
again, unless Intel decides to release a native FreeBSD version of their
compiler. ;)
2011-04-19 18:09:21 +00:00
Marius Strobl
4ef498c23e
Remove a comment which is no longer true since r213878, apart from
...
this driver not using mii(4) in the first place.
Reviewed by: yongari
2011-04-19 17:49:59 +00:00
Alexander Motin
7bcc595738
Fix some English grammar.
2011-04-19 10:57:40 +00:00
Alexander Motin
1f145eafea
According to specification. device should respond to COMRESET with COMINIT
...
in no more then 10ms. If we detected no device presence within that time,
there is no reason to wait longer.
2011-04-19 10:51:19 +00:00
Alexander Motin
6ac0befde2
Properly handle memory allocation errors during error recovery.
2011-04-19 08:01:17 +00:00
Jung-uk Kim
6af444b118
Do not assume PM timer GAS type is I/O or memory. It may be an unsupported
...
type, i. e., a broken table. Also, do not hardcode ACPI timer frequency in
device description.
2011-04-18 23:12:41 +00:00
Matthew D Fleming
8db47cc0d4
Fix a few acpi sysctls that want "IK" formatting to specify CTLTYPE_INT.
...
This got broken after r217586.
Pointy hat: to me
Tested by: David Wolfskill < davit AT catwhisker DOT org >
2011-04-18 19:02:41 +00:00
Alexander Motin
18301f742e
Handle ready timeout during polled operation same as done in mvs(4) before.
2011-04-18 16:00:46 +00:00
Adrian Chadd
3788ebed54
For now, only enable GTT. CST is firing very frequently during local tests;
...
I'll figure out what's going on before re-enabling this as it does add
to the interrupt load.
2011-04-18 14:14:54 +00:00
Adrian Chadd
5594f5c066
Add TX carrier sense timeout statistics.
2011-04-18 14:06:18 +00:00
Adrian Chadd
abc8309448
Bump pad, I'm adding more statistics.
2011-04-18 14:03:37 +00:00
Adrian Chadd
d0a0ebc6c3
Rework the Global TX timeout handling to look more like ath9k.
...
It correctly now sets the AR_IMR BCNMISC register, along with
the GTT register in AR_IMR_S2.
2011-04-18 14:03:05 +00:00
Alexander Motin
3a3d820b3d
- Tune different wait loops to cut some more milliseconds from reset time.
...
- Do not call ahci_start() before device signature received. It is required
by the specification and caused non-fatal reset timeouts on AMD chipsets.
2011-04-18 13:34:31 +00:00
Adrian Chadd
6ad02dbafe
Add global TX timeout handling.
...
The global TX timeout counter increments whenever a frame is ready
to be transmitted and the medium is busy.
2011-04-18 12:15:43 +00:00
Adrian Chadd
d10f1cdc8c
Mark the PHY as inactive before the chip is reset.
...
It's also marked inactive by the initvals, and enabled after
the baseband/PLL has been configured, but before the RF
registers have been programmed.
The origin and reason for this particular change is currently unknown.
Obtained from: Linux ath9k
2011-04-17 13:46:13 +00:00
Bernhard Schmidt
9dd0e40b62
Add some new features:
...
- 6000 series devices need enhanced sensitivity calibration.
- 6000 series devices need a different setting for the shadow reg.
- set the IWN_FLAG_HAS_11N bit if the EEPROM says the device has 11n
support.
Obtained from: OpenBSD
2011-04-16 14:56:13 +00:00
Bernhard Schmidt
552e368d27
Bring over the HAL/OPS changes, instead of two const structs it is now
...
slightly more dynamic.
Obtained from: OpenBSD
2011-04-16 14:51:46 +00:00
Bernhard Schmidt
61a504f68f
Read RX/TX chainmasks directly of the EEPROM. Some chips are known to
...
have the wrong/broken information stored, keep the hardcoded values for
those.
Obtained from: OpenBSD
2011-04-16 14:49:29 +00:00
Bernhard Schmidt
a987f807de
Just a whitespace sync, some more style(9) conform then others.
2011-04-16 14:40:42 +00:00
Bernhard Schmidt
6cc1bb61fa
Sync comments with OpenBSD.
2011-04-16 14:38:57 +00:00
Bernhard Schmidt
80ee921916
Sync debug and error messages with OpenBSD.
2011-04-16 14:38:01 +00:00
Bernhard Schmidt
786b72c5bc
Shuffle code around a bit. Mostly to group functional connected things,
...
others to get the same order as the OpenBSD code.
2011-04-16 14:36:43 +00:00
Adrian Chadd
b39c47d922
Don't do Kite antenna switch selection this way (for now); antenna
...
diversity is done elsewhere now.
2011-04-16 13:47:17 +00:00
Bernhard Schmidt
5fd12c76a8
Rename some stuff in favour of the OpenBSD names:
...
- prefer EDCA over WME
- qid for a TXQ ID
- reg for register values
2011-04-16 13:40:32 +00:00
Bernhard Schmidt
4e61a8e57c
Fix WME/QoS handling:
...
- move the TX queue selection into iwn_tx_data/iwn_tx_data_raw
- extract traffic identifier and use it
- do not expect ACKs for frames marked as such
2011-04-16 13:25:19 +00:00
Bernhard Schmidt
baa8b4ad20
Remove if_ierrors which do not necessarily indicate a RX error, also
...
do account send packets. While here use the IWN_TX_FAIL constant.
2011-04-16 13:12:12 +00:00
Adrian Chadd
52d84465a2
Disable classic-style fast diversity on the AR5416 and later.
...
Antenna diversity on the >= AR5416 is implemented differently than the
AR5212 and previous chips. So for now, and not to confuse things, just
disable it for now.
2011-04-16 12:46:46 +00:00
Bernhard Schmidt
3096855e8c
Instead of hardcoding TX rates and using that to fill the retry table
...
use the neogotiated ni_rates instead.
2011-04-16 12:42:54 +00:00
Adrian Chadd
18a3a3309f
Remove some duplicate code from the AR9285 TX power configuration path.
2011-04-16 11:59:37 +00:00
Bernhard Schmidt
7223fe84f2
Replace RX/TX ring allocation error messages with something more sane
...
and remove those where the caller already prints one.
2011-04-16 11:14:42 +00:00
Bernhard Schmidt
0df53de1c3
Prevent double-free, also use the same error codes as OpenBSD.
2011-04-16 11:11:22 +00:00
Bernhard Schmidt
47c2ecefcc
Add missing bus_dmamap_sync calls as well as remove two duplicate ones.
...
Obtained from: OpenBSD
2011-04-16 10:52:11 +00:00
Bernhard Schmidt
fac0198998
Unify TX/RX ring allocation, finish the descriptior DMA stuff before
...
starting with data.
2011-04-16 10:38:27 +00:00
Bernhard Schmidt
a59641a1a4
Make sure to destroy all DMA tags and maps.
2011-04-16 10:35:02 +00:00
Bernhard Schmidt
1f43fb20f2
Rewrite DMA segment handling to be more inline with the OpenBSD code.
...
Also change the m_len == 0 hack to have less code churn.
2011-04-16 10:32:46 +00:00
Bernhard Schmidt
58e6c20852
scratch_paddr has the same address pre-assigned, use that instead.
2011-04-16 09:39:08 +00:00
Bernhard Schmidt
f75e83846a
In case a new mbuf can't be loaded, reuse the old one.
2011-04-16 09:34:40 +00:00
Bernhard Schmidt
3f01dc2d9d
OpenBSD uses IWN_RBUF_SIZE not MJUMPAGESIZE for the RX path, also replace
...
caddr_t with void * to be in sync.
2011-04-16 08:59:21 +00:00
Bernhard Schmidt
5c222f4bc8
Remove the flags argument of iwn_dma_contig_alloc(), it is always set
...
as BUS_DMA_NOWAIT. While here also set BUS_DMA_COHERENT.
2011-04-16 08:57:17 +00:00
Bernhard Schmidt
65aa0234f0
RSSI related syncs with the OpenBSD code:
...
- read RSSI only for the active chains
- cast RSSI/NF to int8_t before passing it up to radiotap
- remove the htole64() for the timestamp
Obtained from: OpenBSD
2011-04-16 07:32:57 +00:00
Bernhard Schmidt
1eccdf31c1
Pass errors that might happen during state transitions up to net80211.
2011-04-16 07:21:00 +00:00
Bernhard Schmidt
c2c3b03223
Obtain the channel number directly from the laster RXON command, also
...
chan is an uint8_t.
2011-04-16 07:17:03 +00:00
Bernhard Schmidt
f6bb3360b6
fix the order of the prototypes from the previosu commit
2011-04-15 20:40:49 +00:00
Bernhard Schmidt
89a84499e4
The 6005 series devices need additional temperature offset calibration
...
as well as the IWN_GP_DRIVER_CALIB_VER6 bit set.
Obtained from: OpenBSD
2011-04-15 20:35:15 +00:00
Bernhard Schmidt
083e216732
Revert some of local calibration changes in favour of the OpenBSD
...
implementation. This includes the fix required for the 6050 series
devices.
2011-04-15 20:31:02 +00:00
Bernhard Schmidt
518e267e38
remove debug left-overs
2011-04-15 20:19:18 +00:00
Bernhard Schmidt
af2e228dc4
Split up watchdog and calibration callout. This allows us to use different
...
timing on both and to remove some monitor mode specific hacks (which has
no calibration).
2011-04-15 20:17:52 +00:00
Bernhard Schmidt
16b483cb8d
Split out bluetooth coexistence setup.
2011-04-15 17:10:52 +00:00
Bernhard Schmidt
b558f70709
Fixes for firmware handling:
...
- there is a local variable for sc->fw_dma, use that instead
- OpenBSD uses 5*hz to wait for firmware to be loaded
- in case the firmware module contains invalid data, actually release it
2011-04-15 16:59:56 +00:00
Bernhard Schmidt
a7387751dd
Only handle beacon misses while in RUN state and not scanning.
2011-04-15 16:55:45 +00:00