Commit Graph

2778 Commits

Author SHA1 Message Date
msaitoh
b03baa8ea5 Add Intel 82801E Communications I/O Controller Hub (C-ICH) 2002-07-22 07:47:44 +00:00
uwe
fee27e724f Add definitions of IGS coprocessor registers (not used yet).
Always init chip via I/O space.
Map only I/O registers we actually need.
Automatically detect if we need to do bswapping
Add (untested) code to use automagic bswap on CyberPro.
Report video memory amount.
Report if/how bswapping is done.
2002-07-21 02:56:35 +00:00
mjl
395027b4be Correct obviously switched args to memset() 2002-07-18 02:07:13 +00:00
bouyer
a07c492369 Add missing BUS_DMA_NOWAIT to bus_dmamap_load_mbuf() calls. Should fix
port-alpha/17615.
2002-07-16 20:20:01 +00:00
drochner
8badbffa2f recognize a SMC9432BTX from PCI subsys id and tell the bus independant
backend that it bas a BNC port (just like the SMC9432BTX1)
2002-07-15 17:23:06 +00:00
thorpej
4616eedacf Document exactly what the problem with TCP/UDP checksum offloading is. 2002-07-14 01:34:00 +00:00
thorpej
bc09351189 And thus spake the manual...
When initializing a TCP/IP context descriptor, even if a checksum
offload feature is not going to be used, the IPCSS and TUCSS fields
must be initialized.
2002-07-14 01:12:28 +00:00
thorpej
209a807d3d Correct the description of two bits in the TCP context descriptor. 2002-07-14 00:56:22 +00:00
thorpej
7ba40961d6 Add a BGE_QUIRK_CSUM_BROKEN quirk, and give it to BCM5700 B0, rather
than testing for the revision all over the driver.  If the chip has
broken checksums, then don't advertise the capability to the stack.
2002-07-13 22:48:40 +00:00
thorpej
0ff52204b9 Give BCM5700 Ax and Bx revs the BGE_QUIRK_LINK_STATE_BROKEN quirk,
and test for that, rather than checking revision where the quirk is
handled.
2002-07-13 22:31:18 +00:00
thorpej
dcebb2bf0d Add a lookup table with ASIC revision, name, and any quirks. Print
ASIC revision at attach time.  Add BCM5703 revisions.
2002-07-13 22:21:20 +00:00
thorpej
7d85789f0a Move the BCM5401 DSP patch out of the bge driver and into
the brgphy driver; all users of the BCM5400 and BCM5401 need
the DSP patch and the sledgehammer-reset-at-media-set-time.

Also add a DSP patch for the BCM5411 gleaned from Apple's
GMAC driver for Darwin.

Tested with a 3Com 3c996-T (BCM5700 + BCM5401).
2002-07-13 01:23:27 +00:00
enami
f216ec52a0 Match Altima AC1001. 2002-07-12 22:29:14 +00:00
enami
2bb480867f Regen. 2002-07-12 22:27:55 +00:00
enami
d5138d122f Add product id of Altima AC1001. 2002-07-12 22:26:32 +00:00
thorpej
37422dde7e Add 64-bit quirk for the Accton EN1407-T/Planex GN-1000TE. IDs provided
by SAITOH Masanobu <msaitoh@netbsd.org>.
2002-07-11 18:07:56 +00:00
christos
bdd3768afd Add missing messages from FreeBSD's driver. Re-organize a bit how the
message is formatted and printed.
2002-07-10 15:37:30 +00:00
matt
e8598c806f Match Apple GMAC id #3. 2002-07-09 23:57:59 +00:00
matt
f695a73e85 Regen. 2002-07-09 23:50:29 +00:00
matt
f3076f3bd7 Add Apple Xserve PCI devices (more UniNorth) stuff. 2002-07-09 23:47:45 +00:00
thorpej
baecca774e * Shuffle the TODO list a bit.
* Fix outbound IPv4 header checksums (missing add of an offset).
* When enabling Rx TCP/UDP checksum offload, make sure that IPv4
  header checksum Rx offload is enabled on the chip, as well.
2002-07-09 21:05:03 +00:00
thorpej
77ef1df52c Don't use internal names to identify chips. Add types for the
i82540, i82545, and i82546 (but don't match them yet).
2002-07-09 19:47:46 +00:00
thorpej
511c4a1947 Regen:
Clean up Intel i8254x product names, and add i82540, i82545, and i82546
product IDs.
2002-07-09 19:43:57 +00:00
thorpej
e62cf5409d Clean up Intel i8254x product names, and add i82540, i82545, and i82546
product IDs.
2002-07-09 19:43:03 +00:00
thorpej
297ae331d6 Make a few performance tweaks:
* Bump the number of Rx descriptors from 128 to 256.
* Don't use a sliding Tx interrupt window.  Instead, just do reap-behind
  when we have <= 1/8 of our available descriptors in wm_start().
* Don't use Tx Queue Empty interrupts, and always set the Tx Interrupt
  Delay bit in the Tx descriptor.
* In wm_intr(), always call wm_rxintr() and wm_txintr(), regardless of
  their respective ISR bits being set.  We're here, might as well do some
  work.
* Adjust the Tx and Rx interrupt delay timer values.  New values from
  Intel's driver for FreeBSD via Allen Briggs.

With these changes, NetBSD can sustain > 900Mb/s userland to userland
*without* using TCP checksum offload using Intel PRO/1000 XT cards.
2002-07-09 14:52:37 +00:00
drochner
32f7789dd7 there is at least one VGA chip (Silicon Motion Lynx EM+) where fast scrolling
by moving the display offset pointer doesn't work
2002-07-08 19:48:37 +00:00
augustss
c1367622d6 Regen. 2002-07-07 19:49:09 +00:00
augustss
5fba395c90 Add some Sandburst products. 2002-07-07 19:48:41 +00:00
enami
c7d782764a Add an entry for Avlab Technology, Inc. Low Profile PCI 4 Serial (in Japan,
sold by Kuroutoshikou as SERIAL4P-LPPCI.)
2002-07-05 14:10:32 +00:00
enami
76899eae10 Regen. 2002-07-05 14:03:33 +00:00
enami
d2235ed345 Add vendor id of Avlab technology, Inc. and product id of Low Profile PCI
4 Serial (but not used actually).
2002-07-05 13:59:14 +00:00
thorpej
6a5e35f6cc Return 0, not NULL, when we mean 0. 2002-07-05 00:16:26 +00:00
rjs
048edd40f2 Regenerate. 2002-07-04 21:00:32 +00:00
rjs
e97486826e Add Peak System Technik CAN Controller. 2002-07-04 20:51:35 +00:00
junyoung
3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +00:00
gson
63dd492c1a Mask MCCB interrupts since they are not currently handled
and it is not clear how they should be handled.  Fixes
kern/17071.
2002-07-04 02:20:22 +00:00
msaitoh
37c7dda3e2 regen 2002-07-03 16:51:36 +00:00
msaitoh
e8a90d330f add ServerWorks CMIC LE, CMIC SL and CIOB-X2 2002-07-03 16:51:02 +00:00
drochner
8ae04c4b2c consider all ATI cards broken wrt font handling, as suggested by
Bang Jun-Young <junyoung@mogua.com>, but do it in way which allows
single cards to be declared O.K. in case we find one
2002-07-02 18:17:30 +00:00
thorpej
7ff40c446d Fix multicast filter programming. 2002-07-01 22:42:47 +00:00
thorpej
2555837833 Also save/restore the PCI_INTERRUPT_REG. 2002-07-01 16:15:35 +00:00
thorpej
8eb0145183 Add a table of known-64-bit DP83820-based cards. Use this table
to enable 64-bit data transfers on 64-bit cards when plugged into
a 64-bit slot.  Right know the Asante GigaNIX is listed in that
table.

Sigh, there is an EEPROM bit that can be used to detect 64-bit vs
32-bit cards.  Unfortunately, at least 2 vendors of 32-bit cards
fail to clear the "DATA64_EN" bit in the EEPROM, which causes the
card to lose badly, because it still manages to detect that it's
plugged into a 64-bit PCI slot.  Yay, stupid hardware vendors.
2002-06-30 20:36:06 +00:00
thorpej
145fa4de8a Load configuration data from the EEPROM on the DP83820 differently: rather
than grovel the EEPROM directly, initiate an "EEPROM load" in the PCI
test register, and fetch the values from the CFG register.
2002-06-30 20:04:43 +00:00
thorpej
b77065a9a2 Update the TODO list: We have some Tx interrupt mitigation now, so
we need to do Rx interrupt mitigation next.
2002-06-30 19:13:46 +00:00
thorpej
c9983ba67f Be more aggressive in giving descriptors to the chip in the transmit
path: Instead of waiting for the if_snd queue to be drained before
giving ownership of the frist descriptor to the chip, do it after
sync'ing all the descriptors for a single packet.
2002-06-30 19:11:40 +00:00
thorpej
6caa2f6db1 Implement a sliding interrupt delay window for Tx interrupts. 2002-06-30 18:52:21 +00:00
thorpej
0f2cbd0361 * Give symbolic names to the CFG bits in the EEPROM.
* Get CFG_M64ADDR, CFG_T64ADDR, and CFG_DATA64_EN from the EEPROM.
  Note, we still disable CFG_M64ADDR and CFG_T64ADDR later (XXX need
  PCI bus capability flags for these).
* Print a message if we're in a 64-bit slot and 64-bit data is
  disabled in the EEPROM.  Make sure CFG_DATA64_EN is disabled if
  we're not in a 64-bit slot.
2002-06-30 18:04:12 +00:00
drochner
9b3975fd12 clean up font handling:
-treat the builtin font like any other font at runtime
-for that, copy it to malloc()'d memory during attach()
-in early console initialization, if we have to consider a broken card
 (VGA_CONSOLE_ATI_BROKEN_FONTSEL), copy the builtin font to another
 location in font ram; the attach() code will do the rest
put the "quirk" code into effect again
2002-06-28 22:24:11 +00:00
thorpej
969b2f1817 Fix a comment. 2002-06-28 18:46:46 +00:00
thorpej
9066ce1621 When stopping the various functional blocks of the chip, clear the
bit and then read it back in a loop (with appropriate delays) waiting
for it to read back clear.

This fixes a problem where the bus would hang when bringing down
the interface or changing interface flags on a system with a
sufficiently fast CPU (e.g. 2GHz P4 Xeon).
2002-06-28 18:44:45 +00:00