Commit Graph

14418 Commits

Author SHA1 Message Date
bouyer 85393c3223 Redo previous in a better way:
allocate a static buffer, which is added at the end of short packets
to pad the buffer to ETHER_MIN_LEN - ETHER_CRC_LEN.
While I'm there fix 2 bugs:
in qeinit(), unload the right dmamap if bus_dmamap_load fails
in qestart, don't dmamap_load the mbuf if its len is 0.
Tested on simh-vax.
2003-01-17 15:45:59 +00:00
fvdl 3c2bd2b431 Add local_ctl_reg field to softc. 2003-01-17 11:17:08 +00:00
itojun c8012d9047 correct the use of m_tag. correct indentation (:set sw=8 ts=8 please,
jonathan)
2003-01-17 08:27:35 +00:00
itojun 40606ab8f2 switch from kame-based m_aux mbuf auxiliary data, to openbsd m_tag
implementation.  it will simplify porting across *bsd (such as kame/altq),
and make us more synchronized.  from Joel Wilsson
2003-01-17 08:11:49 +00:00
gendalia 1f71c142cd Add altima (broadcom) AC101L, phy for 3com 3c905cx-tx on nForce2 MCP-T 2003-01-17 06:23:52 +00:00
gendalia 6672d83048 regenerate to match miidevs, added ac101L phy 2003-01-17 06:21:13 +00:00
gendalia 3f50762f0c Add altima (broadcom) AC101L, phy for 3com 3c905cx-tx on nForce2 MCP-T. 2003-01-17 06:20:07 +00:00
matt f2d6a1d557 Make the DEFPA/DEFEA/DEFTA driver work on big-endian machines such as
powerpc or sparc64.
2003-01-17 02:43:40 +00:00
jonathan 1b7f3ca44b Grr. Fix consistent typo, to match what i actually tested before committing. 2003-01-17 00:24:29 +00:00
jonathan 21cd3a1948 Add register definitions for 5704 internal ASIC revision.
Add cpp definitions for the DMA control register fields needed for
5703/5704 configuration on PCI-X.
Add softc copy of internal"local control" register clobbered by reset.
2003-01-17 00:21:37 +00:00
jonathan a95f2651b7 regen from pcidevs rev 1.497:
Add pcidevs entries for more Broadcom 570x family variants.
2003-01-17 00:19:16 +00:00
jonathan c6f5d9974c Add pcidevs entries for more Broadcom 570x family variants. 2003-01-17 00:17:35 +00:00
jonathan ad77f4e6fb Enable the 5700 DMA bug and producer-pointer fixes, by setting the
quirk on all 5700 revision B devices. (These fixes have not been
tested against NetBSD recently; committing the fix and the enable separately
gives us flexibility about which fixes get pulled into the NetBSD-1.6 branch.)
2003-01-17 00:11:00 +00:00
jonathan 1484718092 Commit accumulated bge fixes:
* Add support for 5704C dual-channel chip with integral copper PHY (tested)
   and 5704S dual-channel SERDES/TBI gbic  (untested).  Add PHY DSP patch
   for 5704.
 * Update PHY DSP-code patch for bcm5401 to match latest Linux driver.

 * Add PHY DSP-code patch for 5703 (untested).

 * Update onchip buffer tunables to recommended values from Linux drivers.

 * Disable MWI access.  This chip family cannot hanlde PCI stalls
   in the middle of an MWI burst. The driver has heuristics to detect PCI
   line size, but under load, some PCI bridges may force stalls which
   the attach-time heruistics do not catch. Some PCI bridges never
   do this, so maybe it should be a  tunable option.

*  bcm5700 rev Bx chips have a race condition, where updating the
   Tx producer pointer goes un-noticed by the chip.  Workaround is to
   write the new producer-pointer value twice.

*  bcm5700 chips rev Bx wedge up if given  DMA descriptors of
   eight bytes or less. Once hit, only reovery is a watchdog timeout/reset.
   If the offending packet is retransmitted, the chip will wedge again...
   Check for teeny fragments in a Tx request, and either fold the
   teeny chunk residue into an adjacent mbuf, or m_dup the entire buffer.
   (NB: quirk not yet enabled; in-place folding tested only on FreeBSD.)

 * Add workaround for revision Bx bcm5700: chip bugs in decoding
   of PCI register writes may leave the hardware in (partial) powersave state,
   such that  writes to "indirect" registers do not work.
   Explicitly force chip into D0 state at attach time.

 * Accessing PHY registers with the bge chip in autopoll mode, when
   link-state is the process of changing, may cause the bge chip to
   assert PCI errors.   Workaround:   when doing miibus register access,
   save autopoll state, disable around access, and restore autopoll state.
   NB: issuing PHY resets may give a window where the problem still occurs.

 * Increase Tx interrupt-coalescing thresholds, to reduce Tx-done interrupts.
2003-01-17 00:02:56 +00:00
jonathan 1556fd569d Update first 16-bit word of 5401 DSP patch to match latest Linux drivers.
Add comment  saying what the magic values do: disable tap power management.
2003-01-16 20:02:05 +00:00
jonathan 0ecaf20a9d regen machine-generated files from miidevs rev 1.44 (bcm5704 phy) 2003-01-16 18:46:08 +00:00
jonathan 4b1bc17628 Add PHY entry for bcm5704c (copper) integral phy to miidevs.
Add 5704 phy and dsp patch, and untestsed dsp patch for 5703, to brgphy.c.
2003-01-16 18:43:40 +00:00
kanaoka ebd3830c6f Add support for SMC 8041TX 10/100 Ether PC Card. 2003-01-16 15:21:20 +00:00
kanaoka c3ce5c6811 Regen. Add SMC 8041TX 10/100 Ether PC Card. 2003-01-16 15:20:18 +00:00
kanaoka 424cccc1e5 Add SMC 8041TX 10/100 Ether PC Card. 2003-01-16 15:18:44 +00:00
gendalia 6fc88ea9a4 Add support for 3com 3c905CX-TX found on nForce2 MCP-T. 2003-01-16 01:02:06 +00:00
gendalia e203560afd add support for nForce2 MCP-T 2003-01-16 01:00:06 +00:00
gendalia 53ab5df4af regen after pcidevs is committed so the correct version number is embedded.
Thanks to wiz.
2003-01-16 00:45:57 +00:00
gendalia 4ae8b800fb Add 3com 3c905CX-TX and Nvidia nForce2 MCP-T ac-97, on the ASUS A7N8X Deluxe
motherboard, Chipset: NVIDIA nForce2 MCP-T
2003-01-16 00:32:46 +00:00
bouyer 2d7b577657 When padding to URL_MIN_FRAME_LEN, memset the extra buffer space used. 2003-01-15 22:40:34 +00:00
bouyer 93ac594a91 Add a #error message asking to fix frame padding (this driver doesn't
compile anyway).
2003-01-15 22:38:59 +00:00
bouyer 194fbd836f Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN-ETHER_CRC_LEN 2003-01-15 22:35:47 +00:00
bouyer bcae687139 Zero out the NIC memory when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN
sc->write_mbuf now return len of buffer, including padding.
Tested with a PCI ne2000.
2003-01-15 22:20:03 +00:00
bouyer fddee95ba4 Ragge said this chip should autopad, so just remove the check. 2003-01-15 22:12:31 +00:00
bouyer 65856947c5 Zero out the extra space stolen from mbuf to pad packet to ETHER_MIN_LEN
XXX should it be ETHER_MIN_LEN - ETHER_CRC_LEN ?
XXX2 we assume there are enouth space in the mbuf for the padding bytes.
     But other places in the code assumes this already.
2003-01-15 22:10:25 +00:00
bouyer 0a5eae1855 ragge said this chip should autopad, so just remove the check for len. 2003-01-15 22:08:08 +00:00
bouyer 8951e08c3c Hum, ragge said this chip should autopad, so just remove the check. 2003-01-15 22:05:38 +00:00
bouyer 847cb1fa0d Zero out the buffer when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN 2003-01-15 22:01:57 +00:00
bouyer ba7f2ad41b Zero out the NIC memory when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN 2003-01-15 22:00:43 +00:00
bouyer 4199421246 zero out the remaining of last mbuf when padding the packet to ETHER_MIN_LEN
XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
XXX2 we assume there is enouth room in the last mbuf. The code already assumes
     this in other places.
2003-01-15 21:59:02 +00:00
bouyer fb3e100370 Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN
XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
2003-01-15 21:56:06 +00:00
bouyer ab00572d4a Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN-ETHER_CRC_LEN 2003-01-15 21:53:18 +00:00
bouyer 84c7763ec2 Use a properly zeroed buffer to pad the packet to ETHER_MIN_LEN
XXX should it be ETHER_MIN_LEN - ETHER_CRC_LEN ?
2003-01-15 21:51:47 +00:00
martin c7d20c39f9 Fix typo - make it compile with DIAGNOSTIC. 2003-01-15 21:38:22 +00:00
augustss 16d56c01d2 Regen. 2003-01-15 13:36:23 +00:00
augustss 61f5ebcc50 Add Epson Perfection 2400. From kern/19856, Rob Quinn. 2003-01-15 13:35:55 +00:00
kent f22fb7c9b8 Fixed a problem that /dev/sound can not be opened in some cases.
auich_set_rate() modified audio_params::sample_rate to actual
sample rate though auich_set_params() rejected sample rates
other than some specific rates.  For example, setting 8000Hz
with auich_set_params() modified sample_rate to 7998Hz in the
case of overclocked AC97 codec, and calling auich_set_params()
again returned with EINVAL because sample_rate was 7998Hz and
auich_set_params() rejected 7998Hz.

For now, auich_set_params() never modify audio_params::sample_rate.
2003-01-15 04:49:35 +00:00
wiz 0bd71f2dbc Recognise tuner on WinTV-GO-FM. From PR 19844 by Wolfgang S. Rupprecht. 2003-01-14 11:09:40 +00:00
mrg b45e7ba10d add detach support 2003-01-14 02:23:29 +00:00
tron a7bc8e6057 Add support for Epson Perfection 1260. 2003-01-13 21:51:30 +00:00
briggs 5d3fcb5487 Add dmover to the list of SUBDIRs. 2003-01-13 19:49:59 +00:00
tron ced7282b45 Regen from "usbdevs". 2003-01-13 17:26:33 +00:00
tron 341e2f7441 Add Epson Perfection 1260 scanner. 2003-01-13 17:25:20 +00:00
bouyer 4ceef3ad68 For short (< ETHER_MIN_LEN) packets, supply a zero'd buffer for the extra
bytes to make sure the chip won't send random data.
2003-01-13 17:00:18 +00:00
mrg 090790c7a7 pull across the quirk table from the wss@pnpbios driver and use it identically.
now wss@acpi works on my dell inspiron 3500.
2003-01-13 13:01:15 +00:00