Commit Graph

4525 Commits

Author SHA1 Message Date
skrll 3b6e301485 Fix the handling of ENETRESET in iwi_ioctl.
This fixes PR 32143
2005-11-23 20:35:54 +00:00
skrll d40d6be769 Correct a bpf tap. 2005-11-23 20:08:29 +00:00
riz 752c0a4023 Special-case the Linksys EG1032 cards using PCI subsystem ID; rev. 2 uses
the sk(4) driver, while rev. 3 needs re(4).

Mostly from brad@openbsd.
2005-11-23 18:56:22 +00:00
rpaulo 8708c3d6c2 regen 2005-11-22 22:57:45 +00:00
rpaulo eed63d4b44 Fix entry for TI FlashMedia Controller. 2005-11-22 22:55:30 +00:00
martin 17b12c5ad7 This driver does only access the bus_space_tag via bus_space_* functions,
so there is no need to map it linear. From Garrett D'Amore in
PR kern/32137.
2005-11-21 20:25:15 +00:00
augustss e49945ef23 Print an error message if we cannot located the legacy capability. 2005-11-20 18:44:56 +00:00
augustss d801565e9b Make debug printout a little nicer. 2005-11-20 18:42:43 +00:00
augustss 3fe79ce029 Go through the prescribed process to get ownership of the controller from
BIOS before we start using it.
This seems to fix the problems some people have been experiencing with
keyboards not working.
2005-11-20 14:46:23 +00:00
riz 8b1bf051e2 From FreeBSD (appropriate pieces of revs 1.90 and 1.92):
Only clear the IFF_OACTIVE flag when we have a chance of being able
to queue a packet to the hardware, instead of when the hardware queue
is empty, and fix up handling and prodding of the tx.

These fixes clear up an occasional "sk0: watchdog timeout" from the
on-board ethernet on my Asus A8V motherboard.

OK christos@
2005-11-19 21:45:50 +00:00
rpaulo 4d1d9eb828 regen 2005-11-18 21:58:20 +00:00
rpaulo 7282bf0378 It's really PCI7x21/7x11 Cardbus Controller. 2005-11-18 21:55:13 +00:00
rpaulo a1c9602de5 regen 2005-11-18 21:46:11 +00:00
rpaulo 924d40ef97 Add a bunch of devices:
o Intel 82801FBM ICH6M LPC Interface Bridge
    o Intel 82801FB/FR PCI Express Port #2
    o TI PCIxx21/x515 Cardbus Controller
    o TI PCI7x21/7x11 IEEE 1394 Host Controller
    o TI PCIxx11/21 Integrated FlashMedia Controller
2005-11-18 21:40:14 +00:00
skrll 38d4ca67e5 Resolve conflicts. Changelog to follow. 2005-11-18 16:42:22 +00:00
jonathan de85711ee1 Correct a performance bug from Bill Paul's original FreeBSD bge(4) driver:
Each call to the FreeBSD bge_start() routine the transmit producer
pointer index from the chip mailbox register BGE_MBX_TX_HOST_PROD0_LO.
The local copy of that value is then updated by bge_encap() as
bge_encap() encapsulates packets in the Tx ring. If bge_encap()
succeds in encpuslating one or more packets, bge_start() tells the
chip to start sending the newly-encinitiates writes the new value back
to the chip mailbox register.

However, comparison of the Linux drivers (Broadcom-supplied and
open-source tg3.c) and to the OpenSolaris driver confirms that
register BGE_MBX_TX_HOST_PROD0_LO is write-only to software.
Thus, we can just keep a copy in the softc, and eliminate the
(expensive) PCI register write on each call to bge_start().

``Make it so''.
2005-11-15 06:05:44 +00:00
skrll 1f381351c3 Don't use DPRINTF for previous. Doh! 2005-11-14 12:07:33 +00:00
skrll 5349e12d67 Dump the error log if we get an IWI_INTR_FATAL_ERROR interrupt. 2005-11-14 11:58:52 +00:00
abs 8380617e54 Regen after adding Radeon 9000 PCI (0x4966) 2005-11-01 22:01:44 +00:00
abs f643837128 Add Radeon 9000 PCI (0x4966) 2005-11-01 22:00:56 +00:00
simonb 1d1300cd80 Only include <sys/systm.h> if _KERNEL is defined. 2005-10-30 23:34:04 +00:00
jmcneill 4b8daa06de Wow, this is clearly wrong (found in esa_set_params):
if (p->channels < 1 && p->channels > 2)
		return EINVAL;
Change the 'and' to an 'or' so the check actually does something.
2005-10-29 17:44:34 +00:00
yamt b9269a5f4f don't reset interface on rx overrun because it makes
the situation worse, if the overrun is merely a symptom of heavy load.
increament if_ierrors instead.  PR/29831.
2005-10-29 13:24:41 +00:00
scw 9877d180a5 Re-arrange a bitfield according to host byte-order. 2005-10-29 12:03:44 +00:00
scw aee1af1ef4 Expunge an extraneous bus_dmamap_sync() call in iwi_frame_intr(). The entire
frame has already been sync'd by iwi_rx_intr().
2005-10-29 11:00:17 +00:00
scw b6845ed55f - Use the DMA map size when calling bus_dmamap_sync(), instead of
blindly assuming MCLBYTES will DTRT.
- Use bus_dmamap_load_mbuf() instead of bus_dmamap_load() where
  appropriate.
- If we have to coalesce a Tx mbuf chain comprised of more than IWI_MAX_NSEG
  segments, allocate a cluster iff the payload won't fit in the header.
2005-10-29 10:48:02 +00:00
skrll 22049753c1 Don't byte swap unnecessarily in iwi_read_prom_word. Fix the user instead. 2005-10-29 08:44:28 +00:00
scw 842139fe29 Support big-endian hosts:
- Always byte-swap data read from EEPROM.
- Byte-swap firmware image when host is big-endian.

In iwi_tx_start():
- Fix descriptor initialisation bogon (only problematic on big-endian hosts).
- Fix bus_dmamap_sync() 'len' parameter..
2005-10-29 08:10:38 +00:00
jmcneill f18dd07571 If the temperature sensors are disabled, enable them rather than giving up. 2005-10-23 14:01:36 +00:00
joerg 35b726a534 Fix a kernel segfault when a RX interrupt can't allocate a new mbuf.
The change adopts the idea of fxp to drop the incoming packet and panic
if the old mbuf cannot be reloaded. Since the bus_dmamap is allocated
during attach, this is not supposed to happen. Since a lot of code moves
anyway, factor out the allocation of RX ring elements, which is shared
between the init path and the RX interrupt path.

XXX A better fix might be to borrow the mbuf from the logic end of the
XXX ring buffer, but that needs more involved driver changes.

Reviewed by dyoung@ and nick@
2005-10-19 20:18:00 +00:00
joerg 397ada6330 Both iwi and ipw need arp. 2005-10-18 17:53:14 +00:00
tls 389883922e From Gilles Roy <groy@qnx.com>: don't increment buffer pointer twice
(once before callback, once *in* callback) for MAC transforms.  How did
this driver ever work at all without this?
2005-10-16 20:26:47 +00:00
tls 240f327f5b HAVE_CRYPTO_LZS, not HAVE_CRYPTO_LSZ (worse, it was inconsistently used) 2005-10-16 00:14:22 +00:00
tls c4b950020a Don't use rnd_extract_data to set up IVs for new sessions; it is very
expensive, and pointless.  As elsewhere in the kernel (and as approved
under FIPS-140-2 by multiple test labs, incidentally) we use arc4 to
generate IVs here; there is no benefit to their being cryptographically
strong so long as there is a sufficient Hamming distance between them.
2005-10-16 00:12:42 +00:00
tls eb5ea4a10b Add support for the hardware random number generator on the Hifn 7811
and 795x.  This was present in the driver before, but disabled due to
problems with the actual randomness of generated numbers on the
ubiquitious 7900-series parts.  The code here is far, far more
conservative than anyone else's driver for this RNG is -- but I
believe that conservatism is called for, because the 79xx RNG
design is missing a number of pieces from Hifn's "reference" 6500
RNG, and thus the numbers it generates must be treated with some
care.

Support for the 7811 RNG (which is a full-fledged 6500 type
generator) is pretty much the same here as in other variants of
this driver, except that it uses Hifn's "worst case" estimate of
actual entropy per output bit, so it will accumulate bits much
more slowly.  The 7811 support is untested.
2005-10-15 08:58:15 +00:00
tls 15cb9441e1 From OpenBSD hifn7751.c revision 1.149: enable the command-wait interrupt
even if there's only one request in the queue.  Sometimes we seem to miss
multiple interrupts, and command-wait saves us.
2005-10-15 04:31:20 +00:00
jdolecek 16ceb2f222 put back joystick enabling code, lost in Audigy support merge 2005-10-11 19:36:48 +00:00
skrll 69c3b1813e Use the new scan command for monitor mode as well. 2005-10-08 06:19:46 +00:00
jonathan 0f632be919 Regen with PCI ids for Intel pro/1000 PT pci-e gigabit ethernet. 2005-10-05 00:46:00 +00:00
jonathan 14da49c8be Add PCI ids for Intel Pro/1000 PT PCI-Express gigabit ethernet controllers:
82571EB 2-port, 82572EI single-port, both in copper, fibre, and SERDES versions,
and 82573 embedded chip.
2005-10-05 00:43:58 +00:00
macallan 91cf1be5bf Build mach64_get_mode only on SPARC and PowerPC to shut up a compiler warning. 2005-10-03 11:22:06 +00:00
macallan 22da510a75 Cleanup, remove some duplicate code, behave better with more than one instance present. ( for machfb.c 1.34+ ) 2005-10-03 10:26:24 +00:00
jdolecek 3d31948771 VGE_FIXUP_RX is not needed on amd64, disable it for all non-strict
alignment architectures

fix ETHER_ALIGN to 2 (same value as on FreeBSD) - appears VGE_FIXUP_RX
code cuts part of packet otherwise; also add comment about it's purpose

PR: 31323 by Murata Shuuichirou
2005-10-01 22:30:09 +00:00
macallan d15fb24907 Cleanup, remove some duplicate code, behave better with more than one instance
present.
2005-10-01 19:01:01 +00:00
skrll 0063b53d7b Improve interrupt handling:
- don't disable/enable as we're already at splnet()
	- ack the interrupts early

Fixes my "lost interrupt" problem.

Thanks to dyoung and scw for the suggestions.
2005-09-29 19:57:36 +00:00
skrll c9b506e88e Fix the endianness of the scan command.
All the channels get the right scan type/dwelltime now.
2005-09-29 19:45:57 +00:00
kent 50e11da459 * shorten *_init_dacgroup() functions
* add a hook point for widget initialization and implement for ALC882
2005-09-29 04:14:03 +00:00
kent 4443bcd69a add codec-specific code for ALC260, ALC880, ALC882,
and STAC9221 to detect DAC/ADC cominations.
2005-09-28 14:26:19 +00:00
kent 6e455dd565 split azalia.c into three files.
* azalia_codec.c: code for specific codecs
  * azalia.c: other code
  * azalia.h: common definitions
2005-09-28 13:06:49 +00:00
kent 70c1989a17 * azalia_attach_intr()
ignore errors of codec initializations if at least one
codec is initialized successfully

* azalia_alloc_dmamem()
  fail if the HDA controller does not support 64 bit addressing
and buf_dmamap_* allocate a 64 bit address.

Pointed out by Brett Lymn
2005-09-26 17:30:04 +00:00