Commit Graph

2739 Commits

Author SHA1 Message Date
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
fvdl
50ade28e9b Rearrange alignment code a bit. 2002-06-28 18:39:45 +00:00
thorpej
6abec8e2a2 Increase previously added delays from 2us to 10us. 2002-06-28 01:10:06 +00:00
thorpej
90bf67b885 * Only set the jumbo frame capability if we are able to allocate
jumbo frame buffers.
* Garbage-collect some stuff we don't need.
* Fix timeout detection in the firmware handshake.
2002-06-28 00:55:20 +00:00
thorpej
7778c16e7c Use a table to match BCM570x products. 2002-06-27 23:56:20 +00:00
thorpej
b7af161065 Don't call m_aux_find() in the inner loop when creating the Tx
descriptor list.  Instead, call it once and remember the result,
and only call it looking for VLAN tags if VLANs are configured
on the interface.
2002-06-27 23:21:34 +00:00
thorpej
68be8ecae4 Put some delay in the loops that poll for MII transaction
completion.  Without this, reading the PHY can hang the bus
on a sufficiently fast CPU.
2002-06-27 22:31:30 +00:00
fvdl
8a454b46d0 Disable TCP/UDP checksums on the receive side again. 2002-06-27 22:10:11 +00:00
drochner
3825b247fb Only allow the bus_dmamem_alloc() code to sleep if no physically contigous
pages are insisted in.
Atm, the pglistalloc code does the same automatically, but this might change.
2002-06-27 18:37:10 +00:00
pooka
48e1ffa97b regen 2002-06-27 09:52:53 +00:00
pooka
107e651a5f two AVM isdn interfaces 2002-06-27 09:50:06 +00:00
junyoung
75cfc612c3 Whitespace KNF. 2002-06-27 06:44:17 +00:00
junyoung
754342aeb8 - Work around a hardware bug that loaded fonts don't work, which is
found on many (all?) of PCI-based ATI graphics cards. It is fully optional
  and can be enabled by adding `options VGA_CONSOLE_ATI_BROKEN_FONTSEL'
  to config file.
- Temporarily remove `quirk' mechanism. Similar code already exists
  in pci_quirks.c.
2002-06-27 06:26:51 +00:00
briggs
bea68a808c Change a 'continue' to a 'break' in switch configuring 64-bit devices.
Add a little more debugging code.
2002-06-27 00:59:21 +00:00
cjs
6f2291b427 Match newer NetGear GA302T cards. 2002-06-26 10:48:18 +00:00
cjs
f4ba5fb7fc Regenerate. 2002-06-26 10:09:16 +00:00
cjs
c3d906554c Add Altima AC9100 Gigabit Ethernet ID. This may not be the correct name.
However, it's the chip on the NetGear GA302T card.
2002-06-26 10:03:58 +00:00
cjs
79a06f07ff Regenerate. 2002-06-26 09:42:44 +00:00
cjs
0ef3b7e33b Add a couple more TI IEEE 1394 host controllers. 2002-06-26 09:33:50 +00:00
drochner
f9d6718ab9 allow to overwrite the builtin VGA font if necessary,
make the number of available font slots variable,
set up a "quirk" mechanism to tell the generic vga code about crippled
VGA adapters which ignore the "fontsel" TS register,
initiate the quirk table with an ATI chip which happened to be on a board
I tested with.
Afaik quite a number of ATI chips suffers from the "loaded fonts don't
work" problem - these should be added.
Bad side effect of my change: The builtin font will be kicked out
always if a VGA_CONSOLE_SCREENTYPE is specified which needs a loaded
font. In early console initialization, we don't know much about the
graphics card, so we have to assume the worst (ie ATI:-).
2002-06-25 21:07:42 +00:00
bouyer
b2533a4c3e Typo fix 2002-06-24 16:55:17 +00:00
fvdl
dd96b79d02 According to the Linux driver from Broadcom, only the 5700 B0 revision had
rx checksum problems. So only disable rx checksum for that revision.
2002-06-24 01:23:11 +00:00
fvdl
4f75cebd06 Add a few revision definitions. 2002-06-24 01:21:39 +00:00
fvdl
34e950c569 Add files for bge at pci attachment. 2002-06-23 20:36:26 +00:00
fvdl
b04a6fd69c Driver for Broadcom 570x / Altima AC 1000 gigabit ethernet cards.
Written by Bill Paul for FreeBSD. This port started out with the
port done to OpenBSD by nate@openbsd.org, but ended up looking much
more like the port of the ti driver done by drochner@netbsd.org
(they are similar in structure).
2002-06-22 14:42:07 +00:00
fvdl
5ae59ad64f Regenerate. 2002-06-22 14:34:49 +00:00
fvdl
1ebb22d9a9 Add Altima PCI Ids. 2002-06-22 14:33:54 +00:00
cjs
36a14b7037 Regenerate. 2002-06-22 08:09:07 +00:00
cjs
f9218e5010 Match PCI IDs of new PRO/100 chips. 2002-06-22 08:09:06 +00:00
cjs
8cf88171bf For new Intel network controllers, update descriptions and fix numbering. 2002-06-22 07:59:09 +00:00
cjs
b24b9d00d6 Add new Intel Ethernet cards. 2002-06-22 07:40:59 +00:00
thorpej
f7fc307366 Regenerate: Add product ID for Intel 82452KX/GX PCI-Host bridge. 2002-06-21 15:56:44 +00:00
thorpej
794412d052 Add product ID for Intel 82452KX/GX PCI-Host bridge.
PR 17353, from MOCHIDA Shuji.
2002-06-21 15:55:52 +00:00
itojun
92cb1aaac7 more proper fix to ex_disable. 2002-06-20 23:47:25 +00:00
itojun
8b835b91d2 make it compile (ex_disable).
not sure if it is 100% right.
2002-06-20 23:38:47 +00:00
itojun
6dc6d89865 minor KNF 2002-06-20 23:02:06 +00:00
thorpej
cba89d9d80 If the chip supports ACPI power management:
* Go to D3 if IFF_UP == 0.
* Go to D0 if IFF_UP == 1.

Saves battery life on my T21, mmm.
2002-06-20 20:17:04 +00:00
tshiozak
fe6f56bfb7 add support for the per-device power management capability.
int pci_set_powerstate(pci_chipset_tag_t pc, pcitag_t tag, int newstate)
	set power state of the device to newstate.
int pci_get_powerstate(pci_chipset_tag_t pc, pcitag_t tag)
	get current power state of the device.

In the future, these functions will be used for ACPI support.
2002-06-18 13:18:37 +00:00
jdolecek
1d64dfa199 regen:
add VIA Technologies VT8653 and VT8633 entries
move VT82C686A_MC97 entry to where it numerically belongs
2002-06-17 14:08:25 +00:00
jdolecek
8a8c3e3040 add VIA Technologies VT8653 and VT8633 entries
move VT82C686A_MC97 entry to where it numerically belongs
2002-06-17 14:07:14 +00:00