Commit Graph

2918 Commits

Author SHA1 Message Date
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
mjacob
f76122c26b Make all 23XX cards 'touched'. We seem to, too often, hang when trying
to run ABOUT FIRMWARE at the first isp_reset call. We *do* check for
the registers being set with values which would tell us if there's
firmware running or not- but this seems to not always work. It's not
essential, so move on.
2002-06-15 00:11:36 +00:00
thorpej
05c37016cb Map the device's memory space with BUS_SPACE_MAP_LINEAR, since we
need to be able to access it as such.

Fixes kern/17114.
2002-06-14 15:15:23 +00:00
someya
f4076c7aff Make the yds driver work on big-endian systems. 2002-06-10 16:58:57 +00:00
cjs
a8056945a4 Recognise the VT8233A ATA100 controller and use Ultra-DMA mode 5 with it. 2002-06-10 08:41:11 +00:00
cjs
d4dfe8676c Regenerate. 2002-06-10 08:38:27 +00:00
cjs
405914fc9b Add Viatech VT8233A PCI-ISA Bridge. 2002-06-10 08:30:29 +00:00
taca
3fff4029d4 Add support for VIA Technologies's VT8231 IDE Controller to ATA/100. 2002-06-09 16:52:26 +00:00
taca
800e08ba3b Regen. 2002-06-09 16:51:32 +00:00
taca
5a33c71fcc Add VIA Technologies's VT8231 IDE Controller. 2002-06-09 16:50:51 +00:00
bouyer
8305da0e8f Ops, use the proper setup_channel() function for promise adapters.
Using pdc202xx_setup_channel() for PDC20268 and newer is wrong, and will
cause trap trying to read from a non-existent register on some arches
(e.g. macppc).
pointed out by Makoto Fujiwara on port-macppc.
2002-06-08 17:54:59 +00:00
yamt
310e66f3c9 make an auto const variable static. 2002-06-08 17:10:02 +00:00
bouyer
10f940facc STE_CarrierSenseErrors is 8bit wide, not 16bit.
Reenable statistics interrupts, reading it as 16bit caused it to not be cleared,and thus the eventual interrupt to not be cleared (and this caused an
infinite loop in interrupt routine).
While I'm there count STE_CarrierSenseErrors as oerror (this is incremented
each time we try to send a packet and the link is down).
2002-06-05 16:27:29 +00:00
bouyer
aad58d87e1 Rework transmit underrun logic:
- when a transmit underrun occurs, only reset the transmit logic. This prevents
  the link from going down at the MII level (the same logic can probably
  be used for other transmit errors)
- set the urgent threshold to half the start threshold. From experiments
  this helps a bit decreasing the number of underruns

Now that underruns don't cause the interface to stop for several seconds,
make back out the default transmit threshold to 128.
2002-06-05 15:24:31 +00:00
fvdl
96858fc8b7 AMD 8111 DMA support. 2002-06-04 08:58:20 +00:00
fvdl
b76668d455 Regen. 2002-06-04 08:57:48 +00:00
fvdl
c094984a55 Add AMD 8111 IDE id. 2002-06-04 08:53:47 +00:00
briggs
ea51e618d6 Regen. for MPC8245 host bridge. 2002-06-03 19:53:37 +00:00
briggs
9e338db415 Add Motorola's MPC8245 (Kahlua II) host bridge. 2002-06-03 19:52:18 +00:00
seb
2c69553625 Support Titan PCI-800L, a 8 serial puc card, from PR 17140.
Reviewed/approved by veego@ and martin@.
2002-06-02 18:43:27 +00:00
seb
c5ad00acc6 regen for Titan PCI-800L. 2002-06-02 18:37:25 +00:00
jmcneill
419bcc2917 Fix the mixer controls to work a bit better. 2002-06-02 18:33:06 +00:00
seb
491c3ef8b6 Add product Titan PCI-800L aka VSCom PCI-800L, a 8 serial puc card, from PR
17140.
Reviewed/approved by veego@ and martin@.
2002-06-02 18:32:11 +00:00
enami
461e42e9ef Collect random number from AMD 768MPX power management controller. 2002-06-02 02:44:27 +00:00
lukem
06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
bouyer
10813a14bc Remove the "set south-bridge's enable bit" code. It doens't seems to make
any difference for rev 0xc3 controllers, and hang on 0xc4 controllers.
Fixes kern/16954
2002-06-01 18:07:42 +00:00
bouyer
dc66b51bca When the chip gets a transmit underrun, the driver resets the chip, which
cause the link to go down for several seconds on my Dlink DFE580-TX (quad-port
DL1002). This behavior is unacceptable, especially as the driver usually
gets several underrun at once, causing the link to be almost unaviable
for several 10s of seconds.
Bump the default transmit threshold to 1504 bytes to avoid transmit underrun.
2002-06-01 17:24:38 +00:00
bouyer
208589bfca On a Dlink DFE580-TX (DL-1002), attempting to transmit packets while the link
is down cause the chip to create an IE_UpdateStats condition which can't be
cleared, causing the driver to enter an interrupt loop.
Workaround: mask IE_UpdateStats
2002-06-01 17:20:13 +00:00
simonb
42669ab3a4 Add "__attribute__((__unused__))" to hpt374_pio, hpt374_dma and hpt374_udma. 2002-06-01 12:47:20 +00:00
thorpej
dd82a277b7 * Add __unused___ to lmc_system_errors, since it is not used by
everything which includes if_lmcvar.h.
* #if 0 lmc_status_bits, since it's not used by anything.
2002-05-31 17:53:03 +00:00
mycroft
5ca56020c7 Patch the CLKRUN enable bit on ToPIC chips. 2002-05-31 13:34:03 +00:00
augustss
22023c8988 Some casts in printf(). 2002-05-31 10:54:34 +00:00
haya
a7937db203 Add comment. 2002-05-31 09:54:52 +00:00
someya
153f04daa9 Fix playback problem on SiS7018.
- mute the volume for interrupt channel
 - add some improvements for device initialization

but recording does not work properly.

Reported and tested by Jan Wagner <waja@cyconet.org>. Thanks.
2002-05-30 17:04:13 +00:00
drochner
34c0afbf8d implement a check whether a BAR is present at all at a given configuration
space address and use it where the mappings of the VGA card are registered
before descenting too deep into "memory" type specific code
(pci_mem_find() gets noisy if it doesn't like the register)
2002-05-30 12:06:43 +00:00
bouyer
ec89a92254 When testing for a void region, use PCI_MAPREG_MEM_SIZE() for 32bit memaddr.
If the 32bit mask read is 0, wmask will be 0xffffffff00000000, and
PCI_MAPREG_MEM64_SIZE() won't make this 0.
2002-05-29 14:57:36 +00:00
tron
e10511905f Set initial transmit drain threshold to 1504 to avoid the problem
described in PR kern/16070. Change approved by Jason Thorpe.

XXX We'll should try to find a better adaptive scheme for the next
    NetBSD release.
2002-05-28 20:20:49 +00:00
christos
c5e4481063 regen 2002-05-28 17:46:24 +00:00
christos
6ce1fe0564 add action tec 2002-05-28 17:46:10 +00:00
tron
30e983a763 Regen from "pcidevs". 2002-05-28 17:08:57 +00:00
tron
e3e9ac1e64 Add entries for Intel i850 and i860 chipsets. 2002-05-28 17:08:19 +00:00
drochner
9936deaa92 regen 2002-05-27 08:52:36 +00:00
drochner
67d163e234 add one more of our own products 2002-05-27 08:52:13 +00:00
ichiro
fdb6b41ec7 regen 2002-05-25 07:32:25 +00:00
ichiro
407f8f5b2c add 21555 Non-Transparent PCI-PCI Bridge 2002-05-25 07:28:15 +00:00
christos
7db182d94d NBPG is not constant on the sparc, so don't use CPP tricks. 2002-05-24 18:10:06 +00:00
christos
0c5fed7eec Deal with the NBPG problem in a better way. 2002-05-24 15:58:06 +00:00
lukem
36bbd51aa2 Support NetMos NM9845 Quad UART and 1284 Printer port.
All 4 serial ports and parallel port seem to work.
2002-05-24 12:07:46 +00:00
lukem
863d1b7956 regen for NetMos Quad UART and 1284 Printer port 2002-05-24 11:54:22 +00:00
lukem
ed8833bc78 add NetMos Quad UART and 1284 Printer port 2002-05-24 11:50:20 +00:00
wiz
f7d76b1062 bcmp -> memcmp. 2002-05-22 16:03:14 +00:00
matt
077fee836c Add code to distinguish between apple and sun gem cores. 2002-05-21 19:58:24 +00:00
martin
2fe85a6623 Uniformly pass a "struct isdn_l3_driver *" through layer 2, so we
do not have to search for that driver later while we already knew it
at layer 1.
2002-05-21 10:31:10 +00:00
bouyer
953ad0720e Add support for HPT374. Submited by Matthew Rezny in kern/16897, with
minor adjustements by me.
2002-05-19 17:40:46 +00:00
bouyer
5cf2b73fb8 Regen: add HPT372 and 74 PCI IDE controllers. 2002-05-19 16:02:44 +00:00
bouyer
503b19427a Add HPT372 and 74 PCI IDE controllers. 2002-05-19 16:00:19 +00:00
sommerfeld
404be58a8d Regen 2002-05-19 00:19:22 +00:00
sommerfeld
889b8b80d2 Some E7500 device ids 2002-05-19 00:17:34 +00:00
sommerfeld
d7135de9ea Regen 2002-05-19 00:01:29 +00:00
sommerfeld
11aa3c6a28 Fortunately for us, all interrupt controllers are not 8259's 2002-05-19 00:01:09 +00:00
sommerfeld
60cfb93a0f Some P64H2 device ids 2002-05-18 23:58:00 +00:00
sommerfeld
ce6cc5672c Add "pa_rawintrpin" containing unswizzled interrupt pin to pci_attach_args. 2002-05-18 21:40:41 +00:00
ad
d7e512df18 - Use write barriers.
- NBPG -> PAGE_SIZE.
2002-05-18 20:59:20 +00:00
sommerfeld
314ef13c23 In pci_probe_device(), correct test for whether the device is behind a
pci-pci bridge (and thus needs its interrupts "swizzled").

Formerly, pci_probe_device() assumed pci busses other than bus zero
were bridged; however, much recent x86 hardware supports multiple
primary pci busses differently -- there is a system-wide bus numbering
scheme.  Now, we instead look at the (newly introduced) sc_bridgetag
value in the parent bus to figure out if there's a ppb or equivalent
in the way.

This fixed at least one case where the i386 MP branch gets interrupt
mapping wrong.
2002-05-18 18:14:11 +00:00
matt
77820698c6 Add lfmiop (LSILogic Fusion-MPT I/O Processor) placeholders for
driver to added latter.
2002-05-18 07:23:04 +00:00
matt
cad72c184d Regen. 2002-05-18 07:19:41 +00:00
matt
01b871fa50 Add SYMBIOS FC9[12]9 and 1030R 2002-05-18 07:19:16 +00:00
mjacob
c3514c8f6d Slight touchup on last change- make sure HBA_BOTCH is set (just in case
somebody at a different level does the wrong thing) on ENOMEM/EAGAIN returns
from loading DMA.
2002-05-17 19:05:08 +00:00
thorpej
86b4df33e7 Make sure pa.pa_bus is initialized. (Thanks, uwe!) 2002-05-16 01:03:05 +00:00
thorpej
204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej
dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
thorpej
40116f53dd Put back __PCI_BUS_DEVORDER for now. 2002-05-15 18:39:47 +00:00
thorpej
7c86eb62bc Split the code that enumerates the PCI bus and that actually probes
for a device into two functions:

* pci_probe_device() actually probes/attaches the device specified
  by the provide pcitag_t.

* pci_enumerate_bus() enumerates the bus, and calls pci_probe_device()
  for each device on the bus.  A pci_enumerate_bus_generic() is provided
  which implements the old method of doing this: If something found at
  dev0/func0, determine number of functions and probe each one.

  Machine-dependent code will be able to specify the bus enumeration
  routine in the future.
2002-05-15 18:13:00 +00:00
augustss
b058cf77d2 Adapt to new bridge name. 2002-05-15 14:15:17 +00:00
augustss
437ddd4f05 Regen. 2002-05-15 14:14:57 +00:00
augustss
5919cbff85 Give a more suitable name to the DEC 21554 bridge. 2002-05-15 14:14:34 +00:00
simonb
ee3ab87335 Print some error messages when the codec fails to initialise (some errors
were already reported, others weren't).
Sprinkle some KNF around.
2002-05-15 09:55:45 +00:00
augustss
14389c7b50 Regen. 2002-05-14 12:05:35 +00:00
augustss
72d8d32c1d Add a Heuricon host bridge. 2002-05-14 12:05:13 +00:00
hannken
616dac6232 Add support for NetMos NM9805 1284 Printer port.
Tested by David Kwok <dkwok@iware.com.au>.
2002-05-13 09:19:57 +00:00
matt
403b0fdb73 If a dma map can't be loaded due to resource shortage, make we report that
as a resource shortage instead of a driver stuffup.
2002-05-12 16:51:06 +00:00
matt
48d39d805c Print out interrupt we attached to. 2002-05-09 20:20:18 +00:00
thorpej
3e669d3bca * Increase the number of Tx job queue entries from 32 to 64.
* Garbage-collect some unused stuff.
* Make the Tx window slide along the Tx job queue space, not the
  Tx descriptor space.  We are more likely to run low on DMA maps
  than we are hardware descriptors.
2002-05-09 01:00:12 +00:00
matt
983a0a0749 LMC_CTL_LEN1 and LMC_CTL_LEN2 extracted each other's fields. Stop doing
that.
2002-05-09 00:58:45 +00:00
thorpej
3ce23a4ac6 * Instrument the number of times we force a Tx interrupt.
* When forcing an interrupt, make sure that interrupt-delay-enable is
  cleared (necessary with last change to make sure it's set for all
  descriptors).
* Crank up the Transmit Interrupt Delay Value to 1024 * 1.024 msec.  We
  really want these to be deferred.
2002-05-09 00:41:06 +00:00
thorpej
88f6c3663b Don't set WTX_TCPIP_CMD_TCP or WTX_TCPIP_CMD_IP in the TCP/IP context
descriptor.  Those are apparently only valid if using the Cordova's
"segmentation offload" feature.
2002-05-08 21:43:10 +00:00
thorpej
d680cf3220 * Make sure the interrupt-delay bit gets set on ALL descriptors,
except for the one we want to force a Tx interrupt.
* Tweak the Tx descriptor accounting a little.
2002-05-08 21:22:20 +00:00
thorpej
3992641218 Implement a cache for the outbound IP/TCP/UDP checksum offload
context.
2002-05-08 19:00:27 +00:00
thorpej
935179d022 * Account for the descriptor consumed by the Tx checksum offload
context setup.
* Implement Matt Thomas's sliding Tx interrupt window algorithm,
  forcing an interrupt when the Tx desc list is 2/3 consumed.
* Use the Report Packet Sent interrupt, rather than Report Status,
  since we use the Tx descriptor to count Tx errors.
2002-05-08 17:53:28 +00:00
bouyer
3dc7dba078 It seems that the 1010-33 has a bug: it sometimes generate spurious SCSI gross
errors for narrow transfers after a reselect. FreeBSD sym driver has a comment
about this, but their workaround (disable SCSI gross error reports) doesn't
work for me. Instead dissallow disconnect if the target is not wide
(FreeBSD doens't allow disconnect until the target has been fully probed, which
is why they may not have noticed my problem).
2002-05-04 18:11:06 +00:00
nathanw
f9de3e788b Make pci_conf_print() dump the device-dependent header in userspace, too. 2002-05-03 16:08:36 +00:00
drochner
3c9ad6abb6 make the LEDs work with both channels active, some cleanup and
simplification
2002-05-03 14:12:59 +00:00
augustss
dd51b8be28 Regen. 2002-05-03 12:46:41 +00:00
augustss
a7586eb6dc Add Sandburst. 2002-05-03 12:46:11 +00:00
thorpej
a487a4b57a Bump the number of Tx DMA segments from 8 to 16 (the zero-copy socket
code sometimes sees more than 8).
2002-05-03 00:18:31 +00:00
thorpej
317ab784d9 Bump the number of Tx DMA segments from 8 to 16 (the zero-copy socket
code sometimes sees more than 8).
2002-05-03 00:07:02 +00:00
thorpej
84fbb01984 Fix a comment. 2002-05-02 16:34:47 +00:00
thorpej
c115365b50 * Deal with errata on the i82542 and i82543 chips: The size of the
transmit and receive descriptor rings is limited to 256 descriptors.
  So, set the if_snd queue length to 256 to let the upper layers queue
  lots of packets, and let the driver handle up to 32 of them at a time.
  (We should probably make this change to most Ethernet drivers, since
  it actually saves some resources.)
* Increase the number of Tx DMA segments from 8 to 16.
* Clean up the way we count "how many times did I get a packet with N
  DMA segments".
* Add a missing htole32() in wm_tx_cksum().
* Don't set both RS and RPS in the last Tx descriptor of a packet; just
  use RS.
* Add some more information to the watchdog message.
2002-05-02 16:33:27 +00:00
thorpej
b094ff415f Change the semantics of mbuf external storage "ext_free" routines
so that they're more useful for arbitrary types of external storage:

* Add an "mbuf *" argument to (*ext_free)().  If non-NULL, (*ext_free)()
  is expected to free the mbuf itself.  This allows (*ext_free)() to use
  the mbuf for bookkeeping (e.g. deferring the work to a helper thread).
  If the "mbuf *" argument is NULL, we are assumed to be in a context
  which is safe for performing the destructor operation *now*.
* Adjust MEXTREMOVE() and MFREE() routines for above change.
* Update "ade" and "ti" drivers for new semantics.
2002-05-02 16:22:43 +00:00
nonaka
d58ba5a7b5 Regen. (Added two IBM devices.) 2002-04-29 18:21:32 +00:00
nonaka
1a570698f4 Added two IBM devices. 2002-04-29 18:18:29 +00:00
mjacob
85fc807bc1 suggestion from Jason: have (in non-verbose boot case) card type printed out
on same line as attachment line.
2002-04-28 21:32:14 +00:00
thorpej
fe11f8da0b Use MEXTADD() rather than open-coding it. 2002-04-28 01:00:26 +00:00
thorpej
2ddda24f28 53c1010 chips are ultra3, not ultra2. 2002-04-26 19:44:52 +00:00
ad
9a25612703 Regen. 2002-04-26 14:21:28 +00:00
ad
fda5e53ba0 Oops, add more IDs used by aac_pci.c. 2002-04-26 14:20:59 +00:00
ad
77e08f053a Add a driver for Adaptec FSA RAID controllers, as often found in Dell
servers. Based on the FreeBSD/OpenBSD versions.
2002-04-26 02:05:07 +00:00
kleink
22e2d71a5f Add a joystick attachment to the ESS Solo-1 driver. 2002-04-25 00:52:21 +00:00
ad
b9e7e28ff4 Match anything with PCI_VENDOR_VORTEX, then use a heuristic to determine the
board's interface, and list only exceptions in icp_pci_ident[].
2002-04-24 15:08:48 +00:00
aymeric
e4f7fab661 OPTi changes:
o keep WDC_CAPABILITY_DATA32 regardless of the version of the chip.
o correct typo to disable DMA correctly
2002-04-24 13:49:34 +00:00
bouyer
cd3578d7ef More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
bouyer
c7454ad973 - factor out parts of (e)siop_attach() to siop_common_attach()
- Add support for DT transfers (aka Ultra/160) in esiop

Note that DT transfers are not enabled for 53c1010-33 rev 0 yet; if I trust
FreeBSD it has a bug which prevent them to do DT properly.
From the same source there may be issues with some revs of 53c1010-66.
2002-04-23 17:33:27 +00:00
bouyer
cf06149dac Enable software LED control based on LED0 feature, not #define.
For now, set the LED0 feature if SIOP_SYMLED is defined in siop_pci_common.c.
From Jason R Thorpe.
2002-04-23 10:38:37 +00:00
bouyer
71103278cf Set SF_CHIP_LEDC for chips that support it. Based on patch sent in private
mail by Jason R Thorpe.
2002-04-23 10:11:39 +00:00
ad
9a09578e25 Add a driver for ICP-Vortex GDT and Intel Storage RAID controllers. Parts
taken from OpenBSD. Test hardware kindly provided by Intel. This still needs
management bits, and doesn't support older controllers, but that shouldn't
be hard to fix.
2002-04-22 21:05:19 +00:00
bouyer
458fca4e6a Add esiop at pci. 2002-04-22 15:45:19 +00:00
augustss
7f7ab48604 Rename the audio "bus" attribute audiobus to avoid confusion with audio
device.
2002-04-22 09:41:19 +00:00
bouyer
8cfc41f9ed First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
2002-04-21 22:52:05 +00:00
bouyer
97fe8b91c5 Move a few things around, so that ic/siop_common.c and pci/siop_pci_common.c
can be compiled without including siopvar.h.
2002-04-20 00:15:54 +00:00
drochner
9c80231f6b check interrupt status of the PCI interface chip (if possible)
before calling the (slow) isic handler
being here, remove #ifdefs for FreeBSD and old version support
and add RCS ID tags
2002-04-19 10:55:46 +00:00
thorpej
c685b2c67a Regen: Added Symbios 53c875A product ID. 2002-04-18 20:36:30 +00:00
thorpej
cdd30a00ba Add Symbios 53c875A product ID. 2002-04-18 20:35:39 +00:00
tshiozak
eb4e540b0e add PCI/USB vendor ID for Kurusugawa Electronics, Inc.
PCI-ID: 0x6809, USB-ID: 0x0b7e.
2002-04-18 17:40:56 +00:00
martin
379eadc41a Duh, 0 bits enable interrupts in the IPAC!
So to disable them all better use 0xff instead of 0x00 as mask. Noted
by Matthias Drochner.

Move some initialization unrelated to interrupts back to its place at
attach time.
2002-04-18 15:32:30 +00:00
martin
32b8af4ca2 Be carefull not to cause interrupts while /dev/isdn is not open.
Make the LEDs work.
2002-04-17 17:35:29 +00:00
wiz
2228f81f19 Fix two typos in comments. kern/16386 by Sean Davis. 2002-04-17 09:16:27 +00:00
mycroft
88e968078c Remove TLP_MATCH_* options. 2002-04-17 02:19:13 +00:00
drochner
e5abb78d1a regen 2002-04-16 10:08:58 +00:00
drochner
276fd6a576 add some C&T VGA chip 2002-04-16 10:08:34 +00:00
mycroft
0a948745d1 Regen. 2002-04-15 14:44:30 +00:00
mycroft
9d7578b25c Use chip numbers for most of the new Adaptec IDs, not board numbers. 2002-04-15 14:43:42 +00:00
ad
e200da16d8 Regen. 2002-04-15 11:12:46 +00:00
ad
aad41f43b6 Add a bunch of Adaptec, Dell and HP products. From OpenBSD. 2002-04-15 11:12:25 +00:00
simonb
f938ee8df6 Fix a couple of tyops. 2002-04-15 04:13:25 +00:00
bouyer
fda8de6495 bus_space_unmap() ctl_baseioh instead of ctl_ioh for the native case.
Pointed out by enami, and should fix kern/16307.
2002-04-14 16:55:08 +00:00
martin
e4998611e9 Fix copyright notice. 2002-04-14 12:24:26 +00:00
martin
0cdadad2cd Defer initialization of the ISAC chip until we enable interrupts - it gets
into a strange failure mode if we do it with disabled interrupt. When
(re-)enabling interrupts reset transmitter and receiver and clear any
pending state.
2002-04-13 10:28:36 +00:00
mycroft
3b38c02e34 Add support for the ServerWorks OSB4 and CSB5 chipsets.
Note:  The code is written a little more cruftily than it should be.  It's also
only tested on the OSB4.  I'm not sure it even makes sense to have support for
`native' mode, but I put it in just in case.
2002-04-12 18:02:04 +00:00
hannken
6991df9968 Add config for the SUNIX line of pci serial/parallel cards.
Approved by: Jason R. Thorpe <thorpej@wasabisystems.com>
2002-04-11 13:53:56 +00:00
augustss
3f41adf3be When the DAC claims to support variable rate it doesn't seem to
always do this, so do some extra chechs and fall back on fixed rate.
2002-04-11 10:54:23 +00:00
martin
f12d3f51e7 Remove some redundant tries to disable interupts. We already avoided enabling
them.
Fix a stupid typo when enabling/disabling interrupts: we clear pending
interrupts when enabling, not disbling isac interrupts.
2002-04-10 23:51:06 +00:00
martin
58502ab93e Combine sc_enabled and sc_dying into one field sc_intr_valid, they are used
for the same purpose (ignoring invalid interrupts).

For cards that are not able to stop all interrupts (or we don't know a way
to do that in software, at least) run the clearirq callback even when
ignoring an interrupt because we are not enabled. Otherwise the card would
stop interrupting.

Reserve a driver specific callout handle and an int value in the generic
isic_softc to allow card drivers to implement fancy blinkenlights.
2002-04-08 12:20:49 +00:00
martin
d3630a1e0f Ooops, forgot to adopt this to the previous change of isic_isac_intr. 2002-04-06 22:26:38 +00:00
thorpej
f92912592f Reenable DMA on the Symphony/Winbond chips. The lossage I saw was
due to a broken pmap_extract() on ARM.
2002-04-05 22:16:28 +00:00
mycroft
aa29eff103 Regen. 2002-04-05 20:38:31 +00:00
mycroft
c1928e026d Update some ServerWorks and VIA IDs. Add the ServerWorks CSB5 southbridge and
the Apollo ProMedia 133 chipset.
2002-04-05 20:37:45 +00:00
bouyer
e5727031fb Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers
to convert xs->timeout to callout() parameter.
2002-04-05 18:27:45 +00:00
mjacob
1ed2e354da Fix:
...trm.c:578: warning: too many arguments for format

problem.
2002-04-05 03:13:48 +00:00
thorpej
d69bb1b3d9 Hm, Symphony/Winbond support doens't seem to work quite right
yet; disable it for now.
2002-04-04 23:47:39 +00:00
thorpej
769ca97e2b Address Intel 82801BA/82801BAM Specification Update, Errata #30:
The ICH on-board Ethernet and some i82559 chips have a bug which
will cause a PCI protocol violation if the chip receives a CU_RESUME
command as it is entering the IDLE state by deasserting #CLKRUN.
(This is the so-called "resume bug" that we previously had an incomplete
work-around for on ICH chipsets.)

The work-around is to disable Dynamic Standby Mode, such that the
chip will never deasert #CLKRUN.  Dynamic Standby Mode is disabled
by clearing a bit in the EEPROM and updating the EEPROM (and EEPROM
checksum).

Unfortunately, the chip will only consult the EEPROM setting after
a PCI bus reset, so a system reboot is required once the EEPROM
has been updated (the EEPROM update only needs to happen once,
and the driver usses a warning instructing the user to reboot the
system once the work-around has been applied).

Issue pointed out by David Brownlee, and code more-or-less lifted
from FreeBSD.
2002-04-04 23:15:43 +00:00
uwe
9a60c7f6ae Nuke ugly ms-IIep specific hack now that mspcic knows about phys->pci
address translation.
2002-04-04 18:50:28 +00:00
jdolecek
46d335a320 move wi_pci_reset() from ic/wi.c to pci/if_wi_pci.c, where is belongs 2002-04-04 17:43:31 +00:00
jdolecek
e9ee3f796e fix sligh confusion on whether or not to supply dv_xname to printf() in
error cases of attach
Noticed in kern/16197 by George E Sollish.
2002-04-04 17:30:32 +00:00
chs
e340f273c4 add support for Cogent EM100 (aka Adaptec ANA-6910) TX and FX. 2002-04-04 05:45:54 +00:00
thorpej
a1808a4556 Add support for the Netwinder on-board 21143 (but don't try using it
yet; there are still some problems).
2002-04-03 20:52:42 +00:00
thorpej
5eb4257b8e Add bus master DMA support for the Symphony Labs 82C105 PCI IDE
controller.  This part is also found in the Winbond 83C553 Southbrige.
2002-04-03 17:02:21 +00:00
fvdl
03295688de Return 0 when no interrupt was handled. 2002-04-02 16:02:38 +00:00
uwe
4e7d1a999f Add (unfinished) igsfb driver.
While here g/c stale cprofb entry, it's not in the tree and I plan to
support CyberPro cards with igsfb driver eventually (where is my netwinder?)
2002-03-30 20:21:21 +00:00
uwe
782296b588 First cut at framebuffer driver for Integraphics Systems IGA1682.
It's not finished yet, but it can do enough to get wscons working for
Krups JavaStation.
2002-03-30 19:48:55 +00:00
martin
e5c92d53f8 Be a nice citizen, enable interrupts only when we are ready to talk
to the ISDN (i.e. when userland has /dev/isdn open).
2002-03-30 19:13:44 +00:00
martin
e14f4779db Avoid duplicate expensive lookups by passing a pointer to the call
descriptor/a pointer to the layer 3 state directly to driver functions,
instead of their ID/index.
2002-03-30 11:15:41 +00:00
martin
f5e2c967fc Split BRI attaching into two phases, so lower layer drivers can get their
BRI identifier and L3 driver state early on, then finish initializing and
announce the controller to userland when it's ready.
2002-03-29 20:29:53 +00:00
thorpej
5f0f48a9f2 Device driver for the Intel i82542, i82542, and i82544 Gigabit
Ethernet interfaces.
2002-03-28 04:54:35 +00:00
briggs
6c8500d5e4 Erf. Actually use the symbolic name for the 630ET instead of a constant. 2002-03-27 21:42:45 +00:00
briggs
8faf9264bb Print the chip revision in the attach function.
Treat revision 0x84 of the SiS like other SIS630 variants.
Call revision 0x84 the 630ET (name from OpenBSD).
2002-03-27 21:41:35 +00:00
abs
1aa20af166 Regen for 'CONEXANT 56KFAXMODEM 0x1085 HW 56K Fax Modem' 2002-03-27 13:12:11 +00:00
abs
4b98be096f Add 'CONEXANT 56KFAXMODEM 0x1085 HW 56K Fax Modem' 2002-03-27 13:11:37 +00:00
martin
ebd73ccd11 After Jason Thorpe explained to me how it is supposed to work, implement
(de)activate for pcmcia cards.
Implement detach/(de)activate for PCI cards.
Clean up internal state (free call-descriptors) if a controller is
detached while it has open connections.
2002-03-27 07:39:35 +00:00
thorpej
dde8f75509 Only build pciconf.o if pci is configured. 2002-03-26 19:31:40 +00:00
chs
23825982c3 add support for SMC 9332DST. 2002-03-26 07:57:16 +00:00
thorpej
7c7c319cb3 There is no need to use a kthread to read the VIA environment
sensors.
2002-03-25 21:29:58 +00:00
martin
0db68b667b Now that we have all pieces in place (and enough granularity to specify
B-channel and D-channel drivers separately) split the Fritz!PCI card
driver out of the isic driver.

The new device is called "ifpci" and uses the same D-channel driver as the
isic devices, but has it's own B-channel driver.
2002-03-25 16:39:52 +00:00
martin
909e313a80 Remove a leftover from the BRI registry at layer 2.
Initialize layer 2's idea of it's BRI id after attaching.
2002-03-25 14:44:46 +00:00
martin
0bc69b6498 Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
2002-03-24 20:35:43 +00:00
bouyer
21ac4c9d76 Add support for the AMD768. Tested by Murray Armfield <murray@river-styx.org>. 2002-03-24 16:58:12 +00:00
jmcneill
2000b295ed Fix suspend/resume. Previously, suspending/resuming while playback was active
would either:

 1. Cause the machine to stop responding, or
 2. Cause the currently playing voices to stop output.

With this change, voices are stopped on suspend, and continue from where they
left off on resume.
2002-03-24 14:17:35 +00:00
is
6963fa721e use the right endian ether_crc32 function in the multicast hash table computation 2002-03-24 11:00:17 +00:00
kent
a37082a494 whitespace and folding fix. 2002-03-23 17:17:10 +00:00
hamajima
e33fdf6c62 add WinFast VC100 2002-03-23 09:27:50 +00:00
drochner
b8d0641b68 iadd subclass codes from the 2.3 spec 2002-03-22 20:03:20 +00:00
mjacob
d76d04685a Handle Port Unavailable the same as Port Logout (i.e., send a LIP).
Unconst pointer to f/w in the ispdv structure. Too many compilers get
unhappy over our walking the array. Make casts as appropriate so that
initialization in structure is still happy.

Limit length of fabric to 256. This will all go away soon.

Do a cleaner case of keeping multiple CPUs/threads from reading the
same response queue entries.
2002-03-22 02:34:05 +00:00
kent
4c9cd8bc91 Apply a patch by Mark Davies.
http://mail-index.netbsd.org/port-i386/2002/03/18/0000.html

Check codec status in auich_read/write_codec().
2002-03-21 09:17:20 +00:00
eeh
67d8d816ca Use bus_space_vaddr() correctly. (Why use bus_space_vaddr() at all?) 2002-03-20 17:32:23 +00:00
bouyer
9a2eeadc6c Regen: add AMD768 devices 2002-03-19 22:03:06 +00:00
bouyer
54c7295e52 Add AMD768 devices, from
http://members.hyperlink.net.au/~chart/download/pcidevs.txt
2002-03-19 22:02:36 +00:00
martin
e2c42aeaa8 Remove all knowledge about specific application (layer 4) drivers from
the generic layer 4 and layer 3 management system.

This should make the layer 4 driver API LKM clean - finaly.

Make the Fritz!PCI driver work again after resent changes (oops!),
noted by Frank Kardel (PR 15948) and Matthias Scheeler.
2002-03-17 20:54:04 +00:00
atatat
31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
jmcneill
94e84af5fb Backout addition of the VIA VT8233. 2002-03-16 21:45:49 +00:00
chs
9a418970cf decode the sub-system IDs on adaptec cards so we can differentiate between
multi-port cards (which need the shared-rom/intr stuff) and single-port cards
(which must not have it).  previously we enabled sharing for all adaptec cards,
which caused problems if you had multiple single-port cards on the same PCI bus.
2002-03-16 18:44:17 +00:00
jmcneill
5f17e8f802 Add support for the VT8233 AC'97. 2002-03-16 17:20:05 +00:00
jmcneill
9bcb29f652 Add multiple voice support to the ESS Allegro-1 / Maestro-3 family of
audio accelerators.

Mixing is done in hardware by the ASSP, but is limited to 4 simultaneous
channels due to the restricted "minisrc" image that we are currently
working with.

Due to limitations in the audio subsystem, I'm currently attaching multiple
'audio' devices to 'esa', one for each voice. Because of this hack, the
default ESA_NUM_VOICES is 1.
2002-03-16 14:34:00 +00:00
tacha
52d9a1d306 Use appropriate emulation functions and set ADC rate(not DAC date!) for recording.
Now /dev/audio with auich becomes usable.
2002-03-15 07:16:10 +00:00
wiz
3c20f3f606 Fix some typos in comments. 2002-03-13 22:23:50 +00:00
ad
b89e39b91a Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
2002-03-13 15:05:13 +00:00
chs
5d8f761ba0 support the 4-port boards with the Cogent OUI as well. 2002-03-13 05:05:38 +00:00
chs
fcbc075a7a support ANA-6944A boards (in addition to ANA-6922). 2002-03-13 04:15:05 +00:00
joda
642cb4cedf regen 2002-03-11 23:19:01 +00:00
joda
e981250262 some devices found in a dell machine 2002-03-11 23:17:37 +00:00
kent
8574f78760 auich_set_params() sets 2 to hw_channels whenever monaural format is requested. 2002-03-10 16:48:58 +00:00
jmcneill
023d9c6eb8 Correctly enable/disable the low-pass filter, depending on the sample rate.
This fixes timing issues when playing back at 48kHz (noticable using
pkgsrc/graphics/mplayer and DivX ;-) streams).
2002-03-10 14:57:31 +00:00
kent
a1f23f2a90 Move sampling rate conversion functions to aurateconv.c.
Introduce "aurateconv" attribute for audio devices.
Add aurateconv to uaudio and auich.
(due to kern/15845 and kern/15848)
2002-03-09 20:30:42 +00:00
christos
833f408cd1 stupid void pointers... tl_init() needs struct ifnet *... 2002-03-07 21:42:20 +00:00
kent
c329c38eef Sampling rate and mono-stereo conversion described in
http://mail-index.netbsd.org/tech-kern/2002/03/04/0005.html

auconv.c: Add conversion functions

audio.c: Sample alignment, calling conversion functions, etc.

audio_if.h: Add four hw_* members to "struct audio_params"

audiovar.h: Add conversion buffers, etc.

auich and uaudio: Add conversion request code to *_set_params().
2002-03-07 14:37:02 +00:00
jmcneill
9481b68d9a Fix another typo that I missed last time (foo -> ESA_foo) 2002-03-06 18:30:31 +00:00
jmcneill
b9083c85dc Fix a few typos (foo -> ESA_foo). 2002-03-06 18:28:07 +00:00
tsutsui
c155b0375f Major overhaul of trm(4) driver:
- Change structures for each device to make them more suitable with
  our scsipi mid-layer.
- Use ADAPTER_REQ_SET_XFER_MODE callback.
- Cleanup misc functions/structures/style.

XXX Tagged queuieng support is disabled for now.
XXX Maybe we should have common library of the scsi protocol engine
XXX to share it among all other drivers..
2002-03-06 12:32:49 +00:00
haya
cff90ff521 Enforce 10-bit width for I/O addresses of 16-bit PC Cards when I/O
start address is assigned by a driver.
2002-03-05 11:56:33 +00:00
itojun
ac36f7cb2c bring in latest ALTQ from kjc. ALTQify some of the drivers. 2002-03-05 04:12:57 +00:00
simonb
64c7743a05 Don't "extern int cold;" - this is in <sys/kernel.h>. 2002-03-04 02:19:07 +00:00
kleink
6d484242b0 Regen: add Motorola Raven, Falcon and Hawk product IDs. 2002-03-01 13:48:59 +00:00
kleink
b1c2f47c30 Add Motorola Raven, Falcon and Hawk product IDs. 2002-03-01 13:47:30 +00:00
thorpej
8c51a03d7e If the upper layer says Write/Invalidate is okay, then make sure
it's enabled in the PCI CSR.
2002-02-28 23:52:37 +00:00
thorpej
2ba5de1eb1 Change the default Rx FIFO drain threshold to 128 bytes; this
reduces the likelihood of Rx FIFO overruns on machines with wimpy
PCI busses, while still allowing the interface to burst with a
reasonable size.
2002-02-28 20:08:11 +00:00
thorpej
07e108c7dc * On the DP83820, make sure to make the Tx DMA map large enough for
jumbo frames.
* Work around broken PXE firmware on some boards, which leave the ROM
  BAR enabled even after the PXE stack has been unloaded.
* Set up the initial values for sc_tx_fill_thresh, sc_tx_drain_thresh, and
  sc_rx_drain_thresh in sip_attach(), rather than in sip_init().
2002-02-28 19:10:16 +00:00
junyoung
66900b849e Regen. 2002-02-28 03:40:43 +00:00
junyoung
c1670f1122 Oops, readd an ID for Rage XL which was removed in previous commit. 2002-02-28 03:39:37 +00:00
junyoung
36dc3b5f36 Regen; fix for duplicate ATI Rage Pro. 2002-02-28 02:34:15 +00:00
junyoung
1ce4367071 Better fix of duplicate ATI Rage Pro IDs. _B' and _P' mean BGA and
PQFP, respectively.
2002-02-28 02:32:50 +00:00
christos
d487168d5f PR/15754: Sean Davis: Initialize if_softc before calling the mii init
routines to avoid NULL pointer de-referencing in the callbacks.
2002-02-28 00:52:21 +00:00
martin
fe3a97c935 regen 2002-02-27 21:01:55 +00:00
martin
b6b3e04f66 Avoid duplicate define for ATI Rage Pro PCI 2002-02-27 21:00:28 +00:00
junyoung
53e222d45c Regen. 2002-02-27 16:38:08 +00:00