Commit Graph

10487 Commits

Author SHA1 Message Date
tsutsui 9cd36c6539 Fix an uninitialized variable in #ifdef DIAGNOSTIC.
Pointed out by soda.
2001-06-09 12:59:50 +00:00
bjh21 e609865bbc Correct reference to dtide.c, and don't bother with the "channel" locator to
dtide, since ata provides that anyway.
2001-06-08 22:33:59 +00:00
bjh21 ca2047f7c6 Adapt the dtide driver to the MI podulebus framework, and move it to its new
home.  It still doesn't actually work, but that's a SMOP.
2001-06-08 20:13:24 +00:00
bjh21 837afd713e Regen 2001-06-08 20:09:07 +00:00
bjh21 e918a481e5 Move D.T. Software to their rightful place in the list, and correct the product
ID for their IDE interface.  I've no idea where 0x00ae came from.
2001-06-08 20:08:35 +00:00
mrg 054673b07c #endif /* takes no argument */ 2001-06-08 12:51:17 +00:00
enami 578730c551 Initialize sc->sc_anegticks to 5 on attach to prevent panic due to
assertion failure.
2001-06-08 07:09:40 +00:00
simonb e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
matt ef047f21f8 Add multiple inclusion protection. Define prototypes for openfirm
routines used in cdevsw.
2001-06-08 00:19:17 +00:00
mrg 59024512bd LKM friendly: move ev_out32() to netbsd32 specific code; add an ev_out32 hook. 2001-06-07 17:52:52 +00:00
briggs 7a3a78cfa3 Compile on sandpoint. 2001-06-07 16:48:09 +00:00
bouyer df4739c8cb Set TI_OPMODE_1_DMA_ACTIVE only if hardware assisted checksum isn't used
(FreeBSD does it this way). My Tigon II works with hardware assisted checksum
now.
2001-06-07 14:35:58 +00:00
enami 85fb541842 Fix typo; print sc->aue_intr_errs instead of sc->aue_rx_errs when
reporting interrupt errors.
2001-06-07 10:55:15 +00:00
leo 72510eee6d Make the WDC_{ATA|ATAPI}_NOSTREAM flags settable through configuration
options. Needed on the Atari Milan.
2001-06-07 06:33:48 +00:00
thorpej ff5871412e Correct the receive mode mask in the RXCMD register. 2001-06-07 05:19:26 +00:00
thorpej 025decbccb Don't clear a callout on a scsipi_xfer that has been scsipi_done()'d. 2001-06-07 03:44:00 +00:00
soren 26603afde8 Update URL to documentation PDF. 2001-06-06 22:11:42 +00:00
uch 03e1c3aa16 implement HPCFB_SWAP_BYTE. 2001-06-05 17:29:12 +00:00
uch b596bfa2d0 add vc_reverse flag to struct video_chip. 2001-06-05 15:02:40 +00:00
uch a4221d6b08 change behavior of cmap_work_alloc(). 2001-06-05 15:02:12 +00:00
tsutsui 15f8692183 Make some functions __inline. 2001-06-05 12:42:44 +00:00
thorpej 8ee014b439 Handle the DL10022 case. 2001-06-05 02:31:16 +00:00
thorpej c619444a71 Use the DL10019 media routines on the DL10019 and DL10022 (a change
I forgot to commit long ago).
2001-06-05 02:27:02 +00:00
ragge cae5d5a796 Lock the kernel lock at interrupt enter. 2001-06-04 21:31:28 +00:00
mrg 46762d3560 fix lint exposed by GCC 3.0 20010604 (prerelease). 2001-06-04 20:56:51 +00:00
uch 859a6a49b2 ANSI KNF. 2001-06-04 18:59:31 +00:00
jdolecek 07677cc805 Use back the 'u'&037 form - since it's CTRL-u, it's more readable that way
Use \007 instead of symbolic constant, since that's what is more often used.
Pointed out by Robert Elz.
2001-06-04 09:45:03 +00:00
augustss 147c9186b5 Remove overly paranoid test (and not in the spec either). From OpenBSD. 2001-06-04 06:01:40 +00:00
augustss d7079b251e Regen. 2001-06-04 06:00:43 +00:00
augustss db2a5598b4 Add the Logitech iFeel mouse.
(Now that's a weird device, perhaps I'll write a driver for the vibration
feedback.)
2001-06-04 06:00:20 +00:00
toshii 13aba87bcb Don't pass nonpositive repeat count to CSR_*_MULTI_2.
Should fix kern/13092.
2001-06-04 03:34:47 +00:00
jhawk 4cfd2cf1d0 s/printf/DPRINTF/ for kern/13101. 2001-06-03 23:52:51 +00:00
jdolecek dccf11ae11 cngetsn(): cosmetic only - use '\025' instead 'u'&037, and '\b' instead '\007' 2001-06-03 17:56:10 +00:00
ragge 056e20f2cc Need to get the kernel lock when entering by interrupts. 2001-06-03 15:15:02 +00:00
lukem 461a7daf74 fix comment 2001-06-03 14:29:42 +00:00
tsutsui bcdd082840 Add a driver for the Initio INIC-940/950 PCI SCSI controllers.
Based on OpenBSD's iha driver, and modified some structures by me.

Tested on arc, i386 and macppc.
2001-06-03 13:43:45 +00:00
thorpej 4e7cb03446 Differentiate between a DL10019 and a DL10022 (they have slight
MII differences).
2001-06-03 04:52:28 +00:00
thorpej 37368cb858 Use the correct bitbang ops on the DL10022 (oops!). 2001-06-03 04:39:52 +00:00
thorpej cc3002d53b Clarify a historical comment. 2001-06-03 03:55:10 +00:00
thorpej f75e45c854 In ti_init2(), use a simpler, more obvious, and correct MTU
calculation to give the firmware.
2001-06-03 03:46:43 +00:00
thorpej f2b9a1f3cc Replace a bunch of home-grown Ethernet related constants with
ones defined in <net/if_ether.h>
2001-06-03 03:29:44 +00:00
thorpej 9987ee5249 Driver for the Broadcom BCM5201/BCM5202 "Mini-Theta" Ethernet
PHYs.  This is also the same PHY core as in the 3Com 3c905C.
The PHY is documented in the 3c905C manual.
2001-06-02 21:42:10 +00:00
thorpej 424f7a1e65 Make PHY matching all table-driven. 2001-06-02 21:39:38 +00:00
bjh21 947699688a Create hcscreg.h, and put a couple of magic numbers in there. 2001-06-02 20:13:50 +00:00
thorpej ca4d373730 Implement support for IP/TCP/UDP checksum offloading provided by
network interfaces.  This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us.  In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software.  This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.

We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.

Note: hardware-assisted checksumming defaults to "off".  It is
enabled with ifconfig(8).  See the manual page for details.

Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
2001-06-02 16:17:06 +00:00
toshii 9590a56496 Use bus_space_{read,write}_multi_stream_2 where available. 2001-06-02 15:49:16 +00:00
bjh21 fd7e9d6d32 Clean up hcsc_match: Don't check the manufacturer ID, since podule IDs are
unique anyway.  Do check whether the description starts with "SCSI", since
HCCS used the same ID for their IDE podule.
2001-06-02 12:07:34 +00:00
bjh21 e9ff9b9d73 Enable disconnect/reselect (now that it works) and parity checking. 2001-06-02 11:43:40 +00:00
thorpej 2da55b9a39 Define some extra configuration block bits used on the i82550 (a.k.a.
PRO 100/S), including the extended RFA format.  Don't hard-code the
RFA size to allow us to use the extended format in the future.
2001-06-02 01:04:01 +00:00
jdolecek f6af05f407 Back the last revision off, upon Bill Sommerfeld's request 2001-06-02 00:46:00 +00:00
jdolecek 5dbe622e77 When polling, raise priority level to tty, to block keyboard interrupts
when the system is "warm", i.e. interrupts are not blocked anymore.
This seems to be necessary on my PS/2 Model 70 keyboard - without this,
system ends up in endless loop calling the keyboard intr routine if a key
is pressed when polling. This _may_ be just specific to level-triggered
interrupts PS/2 MCA uses, though it's more likely it's just the way the
particular keyboard controller works.

Discussed on tech-kern@.
2001-06-02 00:01:04 +00:00
thorpej 33a6994da1 Driver for Broadcom BCM5400-family Gig-E PHYs. Programming
information gleaned from FreeBSD.
2001-06-01 16:49:59 +00:00
haya 1331bcc296 cardbusvar.h is divided into two files: cardbusvar.h and cardbusreg.h. 2001-06-01 10:30:37 +00:00
bouyer 88f3192778 Fix typo in sddump() which caused core dumps to fail with ENXIO. 2001-06-01 08:39:54 +00:00
simonb b3e7ecfd97 Delete the XXX'd includes of <dev/isa/isavar.h> and <sys/kernel.h>.
These aren't needed.  Tested on i386 and alpha.
2001-06-01 00:38:31 +00:00
tron 264d7e1264 Install "dev/scsipi/scsipi_cd.h" again because it is e.g. used by the
CD player include in version 2.x of the "kdemultimedia" package.
2001-05-31 21:54:07 +00:00
thorpej 996df042df Add support for the DP83815 MacPHYTER internal PHY to the DP83843 PHYTER
driver, since for our purposes, they are compatible.
2001-05-31 20:30:21 +00:00
thorpej 1042f830e5 Regen; added several more PHYs. 2001-05-31 19:41:07 +00:00
thorpej 0c94166e28 Add several additional PHYs. 2001-05-31 19:40:33 +00:00
thorpej f752c7d328 On the Gig PHYTER, For whatever reason, the 10baseT-related bits of the
BMSR are wired to 0, yet the PHY supports 10baseT.  So, to get around
this, we test the ANAR 10baseT bits after a PHY reset.  These bits are
set according to input pin 180.  If we see the 10baseT ANAR bits set,
we fake them in the BMSR so that we can actually autonegotiate 10baseT.
2001-05-31 18:47:22 +00:00
thorpej 2128d9199a Enable frobbing the 1000baseT control register on Gig-E PHYs,
used for hard-wiring master mode, and for advertising the 1000baseT
media options during autonegotiation.
2001-05-31 18:44:48 +00:00
thorpej 628a67ab31 Add a driver for the NatSemi DP83891 and DP83861 Gig PHYTER
10/100/1000 PHYs.
2001-05-31 16:06:58 +00:00
thorpej ea1aed7db2 Make the number of ticks between auto-negotiation tries PHY-specific,
and default every PHY to 5 seconds (what we used before).  If we find
Gig-E media on a PHY, bump it to 10 seconds, since it can take 5
seconds just to negotiate a Gig-E link.
2001-05-31 16:02:29 +00:00
ad f4afeda420 Reduce the delay when polling so that dumps go faster. 2001-05-31 11:31:43 +00:00
haya 4d3b32a658 Cosmetic change. 2001-05-31 08:33:40 +00:00
thorpej ad090e7062 Regen; added NatSemi DP83891. 2001-05-31 03:32:38 +00:00
thorpej 3ae72855b1 Add product ID for the NatSemi DP83891 1000baseTX PHY. 2001-05-31 03:32:20 +00:00
thorpej 9f63d3cd86 Typo in last. 2001-05-31 03:07:14 +00:00
thorpej f07f44812d The 1000baseT CR and SR are overlapped with the 100base-T2 CR and SR.
Note this in a comment.  Add the 1000baseT CR and SR bits.
2001-05-31 03:06:46 +00:00
nisimura e7c225d7b2 Regen; product IDs for IDT RC32334 and RC32332 systeml controllers. 2001-05-31 01:13:33 +00:00
nisimura 811d8d9102 Add product IDs for IDT RC32234 and RC32334 system controllers. 2001-05-31 01:10:34 +00:00
bouyer 3fccfbf68d Uninitialised variables, from Krister Walfridsson: in umass_scsipi_request()
initialize cmd before using it. Now that it's initialised earlier, use it
instead of xs->cmd
2001-05-30 20:31:39 +00:00
bouyer 6973b27309 Uninitialised variable (from Krister Walfridsson): in acard_chip_map()
drop compatchan and use the real channel number instead.
2001-05-30 20:30:02 +00:00
bouyer 708bb529d3 uninitialised variable (from Krister Walfridsson):
in st_cmprss(), init flags to 0 (never changed, but this should change soon
anyway, for ATAPI tapes support)
2001-05-30 20:28:17 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg c13e3a6693 use _KERNEL_OPT 2001-05-30 11:40:35 +00:00
haya f591dd2f9d Cosmetic change. 2001-05-30 09:21:47 +00:00
chs ffcbc851a0 fix some problems in sddump() with uninitialized variables. 2001-05-29 01:02:39 +00:00
bjh21 c5260261ba Use the pseudo-DMA facilities of the HCCS SCSI podule. Code largely derived
from the pc532 "ncr" driver.

This gets me up to 300 KB/s from /dev/rsd0a on my A310.  I think
bus_space_{read,write}_multi_1 and copy{in,out} are the bottlenecks now.
2001-05-28 22:54:10 +00:00
tshiozak 83da433ada fix for UX96 (and all Yamaha specific devices, hopefully).
- fix how to get endpoint addresses.
  - fix allocate count of pipes.
  - add necessary null checks for asymmetry jacks.
2001-05-28 20:52:06 +00:00
tshiozak 5505749bb1 add new device; Yamaha UX96 USB MIDI I/F. 2001-05-28 18:28:04 +00:00
onoe a62b5c1e2e add a comment why IFF_PROMISC is handled separately for SIOCSIFFLAGS:
Handle special case for IFF_PROMISC.  If only IFF_PROMISC
	flag is changed, do not call an_init() to avoid initiating
	reassociation to another access point.  It is really
	helpful for tcpdump(8).
2001-05-28 00:46:35 +00:00
thorpej ebf9e47c26 Add quirks for the Algorithmics P-5064 on-board 21143, and a way to
get the Ethernet address from it (they don't have an SROM).

XXX The latter should be replaced with devprops when they exist.
2001-05-27 21:00:33 +00:00
ragge 667dd41596 Remove ethernet CRC on received packets. 2001-05-27 19:36:06 +00:00
thorpej 47745a094d Add support for the Algorithmics ISA floppy controller. 2001-05-27 18:16:21 +00:00
thorpej ce289cc293 Handle non-contiguous BARs. Needed to be able to configure e.g.
IDE and USB on a PIIX3.
2001-05-27 17:50:40 +00:00
bjh21 cbea766fd0 Add hcsc. 2001-05-26 23:02:06 +00:00
bjh21 5cc459efcc Quick hack of a driver for the HCCS 8-bit SCSI podule, based on the Oak driver.
Tested to the extent that it finds my disc.
2001-05-26 23:01:19 +00:00
bjh21 ebf4596009 regen 2001-05-26 21:48:31 +00:00
bjh21 eb6eb503f1 Fix typo in last commit. 2001-05-26 21:48:21 +00:00
bjh21 7b0faa44c9 regen 2001-05-26 21:47:30 +00:00
bjh21 d5ecc6c516 Add the 8-bit podules I got at Wakefield (except the A3000 Nexus,
which seems not to work).
2001-05-26 21:47:09 +00:00
ragge 41faed1386 Use cdev_decl() instead of local prototyping. 2001-05-26 21:24:38 +00:00
bjh21 6d8a82ebc2 Use bus_space on arm26.
Update the comment to match list of bus_space-using ports.
Delete oak from list of drivers that need converting.
2001-05-26 20:55:48 +00:00
bjh21 ab0637016a Support NCR5380_USE_BUS_SPACE.
Add comments explaining the card a bit (and how badly we support it).
Add in-core RCSID.
2001-05-26 20:53:53 +00:00
bjh21 bab53421c4 "oak" is now MI. 2001-05-26 17:50:30 +00:00
bjh21 c7a388d937 Turn "oak" into an MI podulebus driver. Tested on my new A310. 2001-05-26 17:49:46 +00:00
bjh21 f0ebb6c5a8 Add a comment about acemidi. 2001-05-26 17:47:45 +00:00
mjacob c9de53f96e Create a kernel thread for Fibre Channel cards. This is the new
way of doing business- modulo some startup spasms and peculiarities
of the way kthreads are started (*after* configuration, weird) and
some strangeness with the freeze/thaw code, what now happens is
that any of Loop Down, LIP, Loop Reset or Port Datbase or Name
Server Database Changed ASYNC events cause the queues to freeze
for this channel.  The arrival of a Loop UP is not relevant.

What *is* relevant is that the Port Datbase or Name Server Changed
async event indicate that it's okay to go and (re)evaluate the
state of the FC link and (re)probe local loop and fabric membership.
We have a kthread do this because it's *sooooo* much nicer to be
able to sleep while doing the 130-250 mailbox commands it'll take
to re-evaluate things.

When the state is well known again, we can unfreeze the channel
queues.  Then, as commands start arriving, we simply can start them
or bounce them with XS_SELTIMEOUT (if the device in question has
gone away).  Previously, we did lazy evaluation, which meant that
if a change occurred, we would wait until the very *next* command
to go rebuild stuff.

The reason this is not sensible is:

 a) Even with sleeping, you can hang up your system because you might be
 making some poor stat(2) call pay the price of re-evaluating the whole
 fabric.

 b) If we ever really want to get to dynamic attachment/detachment, we
 should find out sooner, rather than later, where things get to.

Split off ispminphys_1020 from ispminphys- a 1020 has a 24 bit limit-
not anything newer.

Re-enable LIPs and Loop Resets as async events- this allows the outer
layer to set policy about them.

Roll platform major && minor. Remove bogus waitq (no longer used).
Remove callout entry in softc (no longer used). Define some shorthands
for channels. Clean up a variety of cruft left over from the
thorpej_scsipi changeover.
2001-05-25 21:45:55 +00:00
tshiozak 5b51f5ebe2 fix forgotten/malformed initialization of some variables.
(pointed out by Krister Walfridsson.)
2001-05-25 19:33:36 +00:00