Commit Graph

2065 Commits

Author SHA1 Message Date
enami db6fba6bdf Move inclusion of rnd.h and sys/rnd.h from tulip.c to tulipvar.h. 2000-10-09 14:31:01 +00:00
enami ca88e2b6bd Make tulip a random source. 2000-10-09 12:54:28 +00:00
nathanw 34f3869cdc Change int->bus_addr_t in com_kgdb_attach() prototype.
Compiles again with KGDB enabled.
2000-10-06 21:12:01 +00:00
bouyer f6bf6762ab Ops, disable debugging messages. 2000-10-06 20:07:10 +00:00
bouyer 171adcf634 Fix recurent typo: shed->sched 2000-10-06 16:39:04 +00:00
bouyer e353a6d9b2 Adapt for reselect handling from the script. While here, fix typo
(SIOP_SCXFER -> SIOP_SXFER).
2000-10-06 16:35:13 +00:00
bouyer 2e6cb6a878 When 802.1Q MTU, we have to ignore the Frame Too Long errors, and there's no
need to disable RWT and JAB.
2000-10-05 07:22:43 +00:00
tsutsui d11ef545cd Enable sanity checks in mk48txx_gettime().
(Many news68k have dead NVRAM.)
2000-10-04 17:00:45 +00:00
thorpej 5fcde4924f Support ETHERCAP_VLAN_MTU by igorning Receive Watchdog and Transmit Jabber
errors if VLANs are configured on the interface.
2000-10-03 23:35:55 +00:00
thorpej cbfe7605c9 Support ETHERCAP_VLAN_MTU by doing extra error checking upon packet
reception and saving other "bad frames" (i.e. ones that are larger
than the standard Ethernet frame length) if we have VLANs configured
on the interface.
2000-10-03 23:35:02 +00:00
simonb 5d4fa9b0ce Revert rev 1.31 of bha.c (and associtated changes in the headers and
config glue files).

Fixes PR kern/9841.  Tested by Tracy J. Di Marco White with a bt948
and 6 disks.
2000-10-03 14:07:36 +00:00
tsutsui 91959d389e Typo in comment. 2000-10-03 13:54:02 +00:00
tsutsui 33e8ebeef3 1970 -> POSIX_BASE_YEAR 2000-10-03 13:52:39 +00:00
thorpej 7edd5d54bc Add support for the ADMtek AN983 and AN985. 2000-10-03 04:32:00 +00:00
itojun 1af3d80bce fix compilation without INET. 2000-10-02 03:53:07 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
tsutsui 710c43c745 6 -> ETHER_ADDR_LEN 2000-09-28 10:56:57 +00:00
tsutsui ab9b015dce 6 -> ETHER_ADDR_LEN 2000-09-28 10:10:14 +00:00
sommerfeld 91178eae70 Add missing '&& defined(COM_MPLOCK)' 2000-09-26 14:12:42 +00:00
enami d52ba1b85f Fix merge lossage in disabled code. 2000-09-25 01:07:25 +00:00
jdolecek 5eb24d5dd0 am7990[0]_intr(): only print the "entering with isr=XX" debug message
if compiled with LEDEBUG > 1
2000-09-24 18:37:22 +00:00
jdolecek 5fea96167f use new generic bootverbose instead of local definition 2000-09-24 12:37:03 +00:00
sommerfeld 6a71867356 Add `COM_MPLOCK' option to use a device-instance-specific spinlocks
when running at splserial().  This is a temporary measure (until
there's a MP-safe interrupt handling structure); until then, it should
be used when MULTIPROCESSOR and IPL_SERIAL > IPL_SCHED.
2000-09-23 17:17:11 +00:00
bjh21 a48f581877 Substantial overhaul, factoring out of common code, removal of redundancy
and general cleanup.  Still not a beautiful driver, but one I'd be willing to
introduce to my parents now.
2000-09-23 15:13:02 +00:00
bjh21 65c1db338c paddr_t -> bus_addr_t in prototypes too. 2000-09-23 12:08:16 +00:00
eeh d651adf44a paddr_t -> bus_addr_t. 2000-09-22 14:46:38 +00:00
soren cf3c3f9410 Rename to match Ben's naming scheme. 2000-09-22 05:48:50 +00:00
eeh 56cf963264 Support for SPARC machines with `su' devices. 2000-09-21 23:27:32 +00:00
bjh21 f3ef35c447 Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!").
Move printing the initial ":" into the board driver, like i82586.c does.
Don't bother printing the amount of RAM, as it's always 64 KB.
2000-09-21 22:20:38 +00:00
fvdl c5d8401866 Add support for the 3c555, 556 and 556B MiniPCI cards. Based on the
cardbus code and the FreeBSD xl driver.
2000-09-19 01:15:06 +00:00
bjh21 40aba7cd4d Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip,
and a front-end driver for the Ether3.  Only semantic change is to remove
ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious
to warrant a callback to the front-end.
2000-09-18 20:51:14 +00:00
toshii faf55ac40c Change tiocm_to_{com,zs}'s second argument to u_long to match with
the type in their caller.
2000-09-17 22:07:39 +00:00
drochner a960881851 -make the default screentype override less invasive, call it
VGA_CONSOLE_SCREENTYPE because the screen types are hardware specific
 and make it affect the console only (no need to change runtime
 behaviour), don't call vga_setscreentype() unless necessary (to avoid
 trouble with strange hardware - PR kern/11025)
-some beginnings of ISO-7 (greek) font support
2000-09-15 14:13:01 +00:00
lukem 6439b28202 * rename vga_stdscreen* -> vga_25lscreen*
* in vga_init(), set the screen type to WSCONS_DEFAULT_TYPE, which defaults
  to "80x25".
    XXX: the code currently makes no attempt to ensure that a font
	 with the appropriate width & height is available, effectively
	 limiting this default to either "80x25" or "80x24" at this
	 time.
* make wsdisplay_screentype_pick() non static, so that vga_init() can use it
2000-09-10 11:44:13 +00:00
ad 237007cd69 - Set CCB_ACTIVE flag in all cases when DIAGNOSTIC is defined.
- Correct arguments to bus_dmamap_create().
2000-09-08 12:16:17 +00:00
thorpej e79103cb0a Cast the arg to vtophys() to vaddr_t. 2000-09-06 18:48:36 +00:00
eeh 0d01e04003 Add support for write protecting clock registers. 2000-09-01 19:04:49 +00:00
drochner 641326ee44 -fix multicast filter programming
-support access to MII_ANER too for completeness
-remove some hacks which disappeared in FreeBSD if_rl.c
 rev. 1.25 (Aug 31 14:45:49 1999)
(the driver could need more updating, but this is what I've tested
for months)
2000-09-01 15:07:23 +00:00
ad f729f26133 FLUSH_CACHE will not return until complete. 2000-09-01 14:17:15 +00:00
ad 40f6cd2b96 The `cac' driver now frees CCBs on our behalf. 2000-09-01 12:23:57 +00:00
ad 671d7f91ae - Interface cleanup. static, const in places.
- Move convenience macros from cacreg.h to cacvar.h.
- Add one hardware check in DIAGNOSTIC case.
- Declare `cac_l0'.
2000-09-01 12:12:29 +00:00
ad ac2883e218 - Interface cleanup. static, const in places.
- Pull in linkage useful for both PCI and EISA boards from cac_pci.c.
- cac_ccb_done() now frees the done CCB if the CCB callback completes.
- Model-specific linkage is now responsible for DMA synchronization.
- Use wakeup_one() in cac_ccb_free().
- Start synchronous commands `manually'.
- Add one hardware check in DIAGNOSTIC case.
- Improve error messages.
- Start firmware background tasks on controllers that need it.
2000-09-01 12:11:37 +00:00
ad d8e5466776 - Move convenience macros from cacreg.h to cacvar.h.
- Define EISA board register set and some other magic numbers.
- Add missing elements to `struct cac_controller_info'.
2000-09-01 12:10:21 +00:00
haya ea9ef4ff69 Correct LED polarity bit. This bit and PHY power bit should be
defined in elinkxlreg.h.
2000-08-31 08:42:29 +00:00
haya 25147761ff Add support 3C[CX]FE575CT. 2000-08-29 08:54:50 +00:00
mjacob 37c83e1340 fix some missing initializations 2000-08-27 21:43:26 +00:00
haya 0e2c6c0cc1 Access on ELINK_W3_INTERNAL_CONFIG register with 32-bit mode. Remove
16-bit access code.  This register is 32-bit.  16-bit access with the
register causes data inconsistency (especially for CardBus cards).
2000-08-25 09:01:59 +00:00
jeffs d3afa878a2 Fix typo in SIATXRX_SPP comment. 2000-08-25 08:03:10 +00:00
haya 6cbde58ee4 Add flag defines for 3CCFE575BT and 3CCCFE575CT (CardBus cards). 2000-08-24 08:54:31 +00:00
thorpej 7951ece147 Use splsched() instead of splhigh(), and explain why in a comment,
as well as document a pitfall of the approach being used.
2000-08-21 14:25:14 +00:00
castor 0c05c0b9f2 Add register definitions for S.M.A.R.T. -- an autonomous disk monitoring
standard.
2000-08-21 03:53:55 +00:00
sommerfeld 8f5586c98f Avoid calling tsleep when running above splhigh() 2000-08-18 13:22:39 +00:00
bjh21 d7eebd9227 Basic driver for CHIPS 82C710 Universal Peripheral Controller and friends,
as used on later arm26 system (A5000, A4, A3010, A3020, A4000).

What we have got:
...
upc0 at iobus0 base 0x010000: config state bb 87 1c 00 00
fdc at upc0 offset 0x3f4 not configured
wdc0 at upc0 offset 0x1f0
lpt0 at upc0 offset 0x278
com0 at upc0 offset 0x3f8: ns8250 or ns16450, no fifo
...

What we haven't got:
 - FDC support (found, but not configured).
 - Clearing lpt interrupts on arm26 systems (needs help from IOEB).
 - A upc(4) manual page.
 - More than minimal testing (my A3020s don't have root devices).
 - A proper probe routine (arm26 can't use one anyway).
2000-08-16 23:56:08 +00:00
mjacob 4f5e77ca58 Change _res field in ispstatusreq_t to be req_response for FC.
Add some more FC specific response defines and split the response
defines into common, SCSI only and FC only cases.
2000-08-16 18:11:38 +00:00
mjacob d9162135d4 Add some changes/notes suggested by eeh@netbsd.org (zero header of
response queue entry). Clean up some of the Fibre Channel completion
stuff so that thing we check actually match the current manual. There's
only one silly lossage that the manual doesn't cover at present- if
an FC command completes with SV (sense valid), the f/w does *not* s
et "GOT_STATUS" in the state bits- I guess they assume that you'd figure
out that if you have SENSE DATA you probably have a CHECK CONDITION. Still-
yet another fine f/w frotz from Qlogic. Add in an ISP_EXEC_THROTTLE
define to set a per-device execution throttle.
2000-08-16 18:10:21 +00:00
thorpej f80d70f19a Just add the mmap argument to vga_common_attach(), don't bother
with vga_extended_attach().
2000-08-14 20:14:50 +00:00
onoe 7f6e2386a6 Make sure to reset length of data (len) and offset of mbuf (mlen) when
CRC is splitted into two mbufs in receiving.  This fixes panic or hangup
in arc4_encrypt() when WEP is enabled on awi.
2000-08-14 11:28:03 +00:00
mjacob ec701021fd Add a maintenance note. Fix QFREE and QAVAIL macros to match change in usage. 2000-08-14 07:12:15 +00:00
mjacob ed05406b77 Add a maintenance note 2000-08-14 07:11:14 +00:00
mjacob b1c18a6bc7 Add a maintenance note. Move the single bit tags of islocked and
onintstack to be real integers. Add ISP_ILOCK/ISP_IUNLOCK macros.

Fix the isp_lock/isp_unlock inlines to stop being so embarrassingly
in error. Why, or why, can't I have mutex_enter/mutex_exit, pretty please?
2000-08-14 07:10:09 +00:00
mjacob 22ef6ec857 Add a maintenance note. Change all splbio's to use the ISP_LOCK/ISP_UNLOCK
or ISP_ILOCK/ISP_IUNLOCK macros.
2000-08-14 07:08:12 +00:00
mjacob 8801250c70 Add a maintenance note. Add a cast to u_int16_t which will keep
Solaris lint && the SUNPro SC5.0 complier happy.
2000-08-14 07:06:50 +00:00
mjacob d7ee06672f Add a maintenance note.
Clarify some startup SCSI mode settings. Insist that the FC f/w options
*must* have ICBOPT_PDBCHANGE_AE set (wasted a half day on this crock).

Make a specific comment in isp_start that the tags being selected for FC
cards, in lieu of any set by the outer layers, are there for safety's sake.
This removes the change from a previous commit.

For the ISP_TOGGLE_TMODE function, do a complete reset, not just an
isp_init (info from Solaris port). Make some cleanup changes for
code clarity.
2000-08-14 07:05:28 +00:00
augustss 0390dd7f3e Fix spelling in comment. 2000-08-12 22:24:26 +00:00
tls c9dc8413bb Make our policy WRT tagged queueing consistent and sane: ordered tags for sync writes, simple tags for all else. Should make ahc and adv a bit more reliable (metadata writes won't get reordered incorrectly...) and isp a bit more performant (it was using ordered tags all the time). 2000-08-11 21:31:19 +00:00
thorpej 8cb7deb85b Add support for the DEC DE422 Ethernet, which is a DEPCA
attached to the EISA bus.  This board is commonly found
on Alpha Jensen systems.
2000-08-11 02:27:07 +00:00
tv 389bf995b5 %b -> bitmask_snprintf() 2000-08-09 01:56:33 +00:00
mjacob 0dc8c1fb35 Remove ispcmd_slow routine- SCBUSACCEL routine will set/clear tag/wide/sync.
Make some changes about where some things sit in the softc.
2000-08-08 22:58:30 +00:00
bjh21 4f33d5a8ab Register definitions for the C&T 82C710, 82C711 and 82C721, as used in
the Acorn A5000, A4, A4000, A3010 and A3020.
2000-08-08 22:14:53 +00:00
jeffs aaa5c58d70 Update arc map routine prototype to compile again. 2000-08-08 02:11:05 +00:00
briggs b103a8ca48 Label the buffer size as such on probe. 128 KB makes sense, but 4608 does not. 2000-08-06 00:19:04 +00:00
bouyer a8421d4787 Some W83781 have ID 0x11 instead of 0x10; handle these too.
Restore printing sdata for each sensors if DEBUG.
2000-08-03 09:27:01 +00:00
castor b6dd28b4ce Support some differences in the Macronix 98715AEC-C and E chips from the other
98715* series.

The MX98715AEC-[C,E] use a different location in the serial eerom for
LED control, and programming it with the original location's values
caused unpredictable behavior.

Also, start integrating fixes where media changes on an adapter
under load may fail.  There's more work to be done here, but I need
to sort out our internal changes a little more carefully.
2000-08-03 03:07:30 +00:00
jeffs e97c2066ab Add options DDB_BREAK_CHAR. This overrides break on the serial console
break character with the supplied one.  This is useful for cases where
break is hard to generate, or you are connected to a PC that "sends"
breaks when power cycled.  For this mode in com, interpret break char
in the polling section, which allows entry into the debugger before
the tty is opened.  Only supported in the com driver currently.
2000-08-03 00:30:47 +00:00
bouyer de378db998 W83781D: Explicitely reselect bank0 before using "value RAM" registers.
Hopefully this will make the W83781D works.
Also use common functions to set up fan & temp info[] & sensors[] for
the W83781D.
2000-08-02 22:20:41 +00:00
bouyer e445e43ddc Add support for the W83697HF - basically a W83627HF with only 2 temp sensors. 2000-08-02 21:50:37 +00:00
mjacob 068c76fc80 Core version 2.0 (platform version 1.0) rewrite of ISP driver. Some
interace cleanups, some new common functions. The major impact that
will be noticeable right away is that if you boot with not Fibre connected
to the FC cards, you no longer hang indefinitely.
2000-08-01 23:55:09 +00:00
briggs 02e3c1ef40 Use bus_space_read/write_multi_stream_2 for FIFO instead of bsr/w_multi_2. 2000-07-31 22:48:49 +00:00
ad 067f5e9814 Previous would have misbehaved if polled commands overlapped. 2000-07-31 13:16:34 +00:00
briggs 3628f3e00c Make sure that we do not call bus_space_*_multi_* with zero count. 2000-07-31 02:14:47 +00:00
bouyer 100a4a6b22 Add support for the W83781D and W83782D hardware monitors. 2000-07-30 22:23:53 +00:00
briggs e6dde2bd42 Add MII support to smc91cxx driver. This is supported for the 91c100
and 91c100FD (FEAST) controllers.  Existing controllers should continue
to work as they have.  Added the card's memory to the probe message.
2000-07-30 21:34:47 +00:00
bouyer 538126d75a swap lm_match() and wb_match(), as wb_match() is more restrictive.
Otherwise a winbond can be mis-probed as a lm if it has the rigth device ID.
Problem reported by Bernd Ernesti.
2000-07-30 17:22:26 +00:00
bouyer e955a714ba Add support for the W83627HF: lm7x like, but with more sensors, and more
registers.
2000-07-27 21:49:22 +00:00
bouyer ca5b9b0c22 Force 64bit arithmetic for timeout computation; a 32bit int opverflows for
large timeouts. Should fix PR kern/10575.
2000-07-27 21:28:17 +00:00
pk 4ba0c6b55c New time-of-day clock chip drivers. These implement the todr(9) interface. 2000-07-25 22:33:02 +00:00
bouyer 10afc4e0a8 create a funcion, siop_busreset(), to reset the scsibus.
Reset the scsi bus at attach time, to be sure all devices start in narrow/async
mode.
Defer sync/wide negotiation until after whe have a valid
xs->sc_link->device_softc, so that we can honnor the NOSYNC/NOWIDE quirks.
2000-07-24 15:15:00 +00:00
ad 74cf7af4a9 Increase polled command timeout to 2s. 2000-07-24 12:28:31 +00:00
onoe afa5b645c2 add support for SIOCS80211NWKEY and SIOCG80211NWKEY. 2000-07-21 04:48:55 +00:00
scw a1b8e79bb1 Take advantage of generic soft interrupts, if available. 2000-07-20 20:44:50 +00:00
deberg 0d5d0bd93a don't define LIST_FOREACH, it's in sys/queue.h now. 2000-07-20 03:47:56 +00:00
mjacob c47c527343 add some more CTIO flags 2000-07-19 22:19:23 +00:00
mjacob 0615788781 zero result queue entry when done if debugging.
don't do an isp_notify_ack if we're not at run state.
2000-07-19 22:19:00 +00:00
mjacob 93379fb341 fix mislabelled error case 2000-07-19 22:18:02 +00:00
pk f9e6c9cf42 Fixx off-by-one error in handlereset(). 2000-07-19 16:07:00 +00:00
onoe 0ab524f389 moved the check priviledge for SIOCS80211NWID from each driver to ifioctl().
it also fixes the problem that non-priviledged user can change nwid
for wi and ray drivers.
2000-07-19 06:00:39 +00:00
ad 7d1b0e5b39 Use device_lookup() and ditch TAILQ sillyness. 2000-07-18 15:27:44 +00:00
drochner 54ccff0437 define "80x24" screen types for better vt100 compatibility 2000-07-15 18:47:54 +00:00
scw 20305c6623 Fix a typo in the `device_lookup()' changes. 2000-07-15 18:12:42 +00:00
soren b141a6bfe8 Merge-o. 2000-07-14 21:09:45 +00:00
onoe 6c4d97da13 Indicate WEP capability to association request when WEP is enabled.
Without this fix, some (IEEE802.11 conformant) APs will send data to this
station without using WEP.
2000-07-11 12:54:00 +00:00
onoe b99e56173c do not allow non-priviledged user to change nwid via ifconfig. 2000-07-10 14:36:17 +00:00
onoe c2ed037f55 move associated/synced/no-recent-beacons messages to IFF_DEBUG. 2000-07-10 12:32:53 +00:00
mycroft d621cc4cb0 Add missing newlines in some messages.
Set Vpp the same as Vcc by default.  We need to do more with voltage sense.
2000-07-09 01:55:18 +00:00
sommerfeld dcf6e7b09e When receiving an rx interrupt on a closed or unconfigured port, read
the data out of the board anyway so it won't re-interrupt anyway.
Fix tested by C Kane <ckane@best.com>
2000-07-08 18:36:02 +00:00
mjacob 58a60a43f2 Gah. Bad port from FreeBSD code (thanks Robert Elz) for setting
up default timeout for watchdogging commands.
2000-07-07 03:14:53 +00:00
onoe a4d6bdac79 do not show wep keys to non-root users. 2000-07-06 17:22:25 +00:00
thorpej cb450cc444 Use device_lookup(). 2000-07-06 01:47:34 +00:00
mjacob 7ed7b1b9fd Per advice from thorpej, reinstated some of Erik's changes. 2000-07-06 01:17:38 +00:00
mjacob f78b367775 Roll core version. Get rid of dogactive (no longer used). Add in some
volatile flags (isp_mboxbsy- keeps a bitmask of expected output mailbox
registers) and storage for them (isp_mboxtmp). Get rid of macroized
LUN widths. This is determined at run time.
2000-07-05 22:28:08 +00:00
mjacob 7358822ab5 Fix incorrect uint8_t vs. u_int8_t usage. Add in offset macros for outgoing
mailbox regs and a INT_PENDING_MASK macro.
2000-07-05 22:26:53 +00:00
mjacob b520c663d0 add MBOX_GET_RESOURCE_COUNT command 2000-07-05 22:25:53 +00:00
mjacob 93778c19b8 pick up FreeBSD changes 2000-07-05 22:25:34 +00:00
mjacob 3626695b49 Roll platform minor. We are now always supporting ISP2100_FABRIC. Add
in new MBOX_WAIT_COMPLETE/MBOX_NOTIFY_COMPLETE macros (ready for SMPizing).
Define STRNCAT inline for our usage.

Stealing a bit of the xs_status flags to maintain command state that
is pertinent for the hBA- should really reserve them for private usage
in scsipiconf.h.
2000-07-05 22:25:06 +00:00
mjacob a743834a38 Redo watchdogs to handle cases of false death of commands- time
each command now.. Get rid of SCCLUn stuff. Use an isp_done routine
to handle cases of watchdog and isp_done racing to completion.
2000-07-05 22:23:05 +00:00
mjacob a7560ced04 Add back in a (corrected) isp_prtstst function. 2000-07-05 22:21:44 +00:00
mjacob e946846577 Back out previous commit- the author is incorrect. There is no 'narrow'
Qlogic controller driven by this chipset. If they don't want the verbosity,
don't compile a DIAGNOSTIC kernel.

Major amount of mailbox command rewrites- hopefully should fix some of the
outstanding PRs.

Change header to note that this is no longer maintained at NASA/Ames.
2000-07-05 22:20:51 +00:00
onoe 807a12c8cd change the argument of SIOCS80211NWID and SIOCG80211NWID ioctls from
u_int8_t array to struct ieee80211_nwid to prepend length field.
The length field is necessary because IEEE 802.11 spec doesn't prohibit
even '\0' for SSID.
Though the name and the value of SIOC... macro is unchanged, this change
breaks binary compatibility.  The only affected userland program on the
tree is ifconfig(8).
As Jason suggested on tech-net, it is better than live with problems
since there are no releases for this ioctls yet.
2000-07-05 02:35:53 +00:00
pk e7adcbdb13 enet dma: claim interrupt as appropriate. 2000-07-04 14:58:36 +00:00
onoe 7411709050 Support WEP functions for awi driver. 2000-07-04 14:47:58 +00:00
onoe 793eb28211 Support WEP functions for awi driver.
arc4 implementation by Kalle Kaukonen has been added.
	define "wlan" in files.
		XXX: only awi depends on wlan for now.
	Allow authentication for adhoc (IBSS) mode.
Disable adhoc mode without bssid (mediaopt adhoc,flag0) for FH radio.
	FH cannot work without synchronization by beacons.
Align IP header for ethernet encapsulation (IFF_FLAG0) mode.
Print available access points for IFF_DEBUG.
2000-07-04 14:27:56 +00:00
onoe 0e23cbd506 Remove unneeded include <sys/kernel.h> from FreeBSD by <phk@freebsd.org> 2000-07-04 14:16:21 +00:00
thorpej a02e08bf4f Remove work-around for Lite-On PNIC in tlp_filter_setup() that is
apparently no longer necessary (probably due to other fixes that
have happened in the filter setup path) and is in fact harmful.

Based on a patch from Krister Walfridsson, who claims this makes
his newer NetGear FA-310TX work (although, my older NetGear FA-310TX
still does not, but fails in an entirely different way).
2000-07-04 04:18:17 +00:00
itojun 33d6ee7269 sync with sys/dev/ic/adwlib.h change (s/ADV_TICKLE/ADW_TICKLE/)
not sure if it is right.  comments?
2000-07-04 04:17:03 +00:00
nisimura 0c92b006c6 Fix negative timeout symptoms caused by integer multiply overflow,
which is revealed with larger HZ systems like NetBSD/pmax (256Hz)
and NetBSD/alpha (1024Hz) as reported by PR#8645.  Polled tape
drive access is done with maximum 6 hour timeout which ended up
with negative time and then confused SCSI bus severely.
2000-07-04 01:10:18 +00:00
dante fa845b7795 Fix a off-by-one error in sc_freeze_dev[].
Thanks to kwesterback@home.com
2000-07-03 18:14:18 +00:00
pk 8c46f6d687 #include "opt_ahc.h" 2000-06-29 23:12:19 +00:00
thorpej 756aa08443 Since the RFA is allocated in a normal mbuf, as opposed to DMA-safe
memory that is explicitly mapped in a DMA-coherent manner, we must
make sure to PREREAD sync the RFA after noticing a clear "complete"
bit.  Without this, the clear bit will linger in the cache, and the
CPU will not notice when the chip updates the bit via DMA later.

From Izumi Tsutsui on port-arm32@netbsd.org.
2000-06-29 16:53:48 +00:00
mrg 314f1e97c5 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 17:12:48 +00:00
mrg e185413725 remove redudant <vm/pmap.h> includes. <vm/pmap.h> -> <uvm/uvm_pmap.h> 2000-06-27 04:18:48 +00:00
fvdl 4cc6a62a33 Remove debugging code that wasn't supposed to be in the commit of version 1.55 2000-06-26 19:38:14 +00:00
mrg 89d0a3e519 remove redundant vm includes. 2000-06-26 14:38:50 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
eeh 44330020aa Make PCI HME work. 2000-06-25 01:10:04 +00:00
eeh 79dffec702 Get PCI HME working. 2000-06-25 01:05:16 +00:00
thorpej f82e306928 Add a clearing-house pseudo-device for system monitoring devices
such as the LM78 and VT82C686A (and eventually ACPI).  Multiple
sensor devices can be hooked registered with `sysmon', and eventually
sysmon will also handle hardware (and software) watchdog timers.

Convert the `lm' and `viaenv' drivers to the new interface.
2000-06-24 00:37:19 +00:00
bouyer dbc130250d Patch from Eduardo Horvath: don't bus_dmamap_sync the script dma map if
it lives in the on-chip RAM !
2000-06-20 17:16:22 +00:00
ad 318f9b048b Feck. 2000-06-20 15:04:50 +00:00
pk 5f887c484e The sparc clients of this driver (si & sw) now use bus_space_*(). 2000-06-18 19:22:33 +00:00
soda 849b74a926 add vga_extended_attach function on arc port, to make mmap() available.
XXX - is it better to remove "#ifdef arc"?
2000-06-17 07:11:50 +00:00
cgd eee18e1f6c beat back the undead: __BROKEN_INDIRECT_CONFIG had risen, and was
terrorizing innocent hackers...
2000-06-16 23:41:33 +00:00
pk 6e94b922a1 Comply with bus_dma(9) specs. 2000-06-16 11:47:34 +00:00
soren 18b4be2a92 Update from Onno:
- Add a tr_reopen() and use that instead of tr_init() for callouts.
- As tr_reinit() and tr_reopen() are used as callouts, protect them at splnet.
2000-06-15 19:55:27 +00:00
pk 297445c2a2 Turn on the hash filter enable bit in the RX configuration register
when loading the multicast hash filter (noted by itojun@iijlab.net).
2000-06-15 15:34:32 +00:00
soren ca34a6a69a Call frontend enable/disable functions in the ioctl path.
Use _sc prefixes for some softc members.
A few minor cleanups.
2000-06-13 20:00:02 +00:00
nathanw a5598651e8 Arrange to use the right RAMDAC cookie at console initialization time.
[I thought I committed this months ago....]
2000-06-13 17:21:06 +00:00
bouyer 22a10be43e sheduler->scheduler, as pointed out by Klaus Klein 2000-06-13 13:59:15 +00:00
ad 3553879fc2 Use my proper name. 2000-06-13 13:36:42 +00:00
bouyer 12d3bf8c1a Add a callback (*irqack), for controllers that need special action to ack
the interrupt once it has been ack'd on the drive.
2000-06-12 21:10:40 +00:00
bouyer 221a99f782 Handle "scsi bus mode change" interrupts on 895 and higther.
Thanks to Hal Murray for reporting the problem and testing the fix.
2000-06-12 20:13:41 +00:00
ad 397fa0e4e2 Fix a couple of pastos. 2000-06-12 11:07:45 +00:00
mrg b9140fbc0c KNF a line. 2000-06-12 05:25:48 +00:00
bouyer 7bb3d03448 Relax condition on 'sn' for atapi probe, it can be different from 0x1 with
some controllers/devices. Fixes a problem reported by Markus Illenseer.
2000-06-11 17:09:34 +00:00
onoe 73a779fa1f Restore the original copyright notice by Bill Sommerfeld
<sommerfeld@netbsd.org> since it is based on the original code.
2000-06-09 14:36:25 +00:00
onoe 4da3935bae cleanup haeders.
add opt_awi.h to define AWI_DEBUG, AWI_WEP_ARC4.
show the firmware version at attach.
create a framework to support WEP (encryption code is not included for now).
a new wiconfig compatible ioctl interface replaced the awictl interface.
fix memory leak in selecting AP
fix bugs in ESSID selection
changes from FreeBSD-current by Warner Losh:
  revision 1.2
  date: 2000/04/17 22:58:15;  author: imp;  state: Exp;  lines: +16 -1
  Provide mem* for compat with NetBSD to fix LINT
fixes from FreeBSD-current by Guido van Rooij:
  revision 1.4
  date: 2000/05/29 19:58:10;  author: guido;  state: Exp;  lines: +5 -2
  Fix a panic resulting from an obvious null pointer deref.
  Apparently some other panics still exist in this driver, but with
  this fix, it was at least possible to run the Nokia card at SANE 2000.
2000-06-09 05:31:15 +00:00
soda 0f76c56f2d increase number of parameters of pckbc_cnattach(), since offset of command port
is not 4 (KBCMDP), but 1 on jazz based platforms of arc port.
2000-06-09 04:58:32 +00:00
cgd 1e158fae9a nuke bogus use of s = spl0() / splx(s). reviewed by Jason Thorpe. 2000-06-08 22:43:15 +00:00
cgd 625dbd8f87 in allegedly-MI code, if we're gonna use '#pragma pack(N)', #pragma pack()
should be used to reset the packing.  (#pragma pack(4) was used here
before.  "wrong!")
2000-06-08 18:22:15 +00:00
cgd d8dcb11d4f don't include ISA headers. these have been properly abstracted so that
the ISA headers are unnecessary, and they're used by PCI VGA.  There may
not be any ISA at all.
2000-06-08 07:01:19 +00:00
tsutsui 3f94f56142 Adapt struct scsipi_adapter changes. 2000-06-07 14:40:20 +00:00
soren 3b8b24cffe Only wait 100 ms instead of 1 s for the SEEPROM to come ready. This is
still plenty for cards with SEEPROM's and reduces the delay on platforms
without, which conveniently also avoids triggering the O2 watchdog timer.
2000-06-06 17:29:40 +00:00
soren b4b667c0a0 Make ID printing a little more robust in case of problems reading
AC97 registers.
2000-06-06 17:25:52 +00:00
soren 8b0390203b Some minor diagnostics cleanups. 2000-06-06 16:41:33 +00:00
soren 1ec719ccc0 Add power management hooks. 2000-06-06 16:26:57 +00:00
sommerfeld f1802cf848 Fix previous change: guard against missing subdevices of pckbc. 2000-06-06 16:21:22 +00:00
tsutsui 499db14bcb sun3 always defines Debugger(), so don't redefine it. 2000-06-06 14:24:05 +00:00
sommerfeld bcf02ec8ff If rnd is configured into the kernel, do rnd(4) entropy collection
from devices connected to pckbc:
 - Do actual sample collection in pckbc.
 - Add rndsource_element_t to the slot data.
 - Change pckbc_set_inputhandler() to take an additional argument,
the name of the device, which is (eventually) passed into
rnd_attach_source() to identify the source.
 - Change callers of pckbc_set_inputhander() appropriately.
2000-06-05 22:20:54 +00:00
bouyer 0e7cd755f4 use the correct variable in a debug printf(). 2000-06-05 21:47:25 +00:00
tsutsui a12331c461 Oops, struct scsipi_adapter was changed recently. 2000-06-05 15:19:42 +00:00
nisimura 4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +00:00
matt 6204fa3c99 Update to new evcnt stuff 2000-06-05 02:28:19 +00:00
fvdl c8c1e5854f Fix wrong test for (software) queue blocked condition. 2000-06-04 11:42:55 +00:00
matt 576faa0c31 Start couting interrupts. 2000-06-04 02:14:12 +00:00
fair e3a9f21a5f Change the debug level from 1 to 3 for "skipping target" diagnostic
which spews unreasonably for a Qlogic SCSI-2 narrow controller, which
does not have ID's above 7.
2000-06-03 22:44:43 +00:00
fvdl b9bb94500e Obey the "Reset SCSI bus at startup" EEPROM setting. 2000-05-29 20:13:53 +00:00
jhawk 1e59d99d28 For all network drivers that call ether_ifattach(), and also
have _detach() functions:
  Ensure that softc keeps state about whether the attach succeeded,
  and make the detach function return immediately if the attach did
  not complete.
2000-05-29 17:37:12 +00:00
tsubai 8cde93a435 * Support (not so) new cards. (only Cyclom-8YsP+ is tested)
* Make compilable with CY_DEBUG.
2000-05-29 12:05:41 +00:00
matt 2864a7186a reclaim transmitted packets on receive interrupts. 2000-05-28 01:28:52 +00:00
fvdl 3713246e34 Don't bother searching the qinfifo for SCBs to requeue in the BUSY
and QUEUE FULL cases; this is already done for all BAD_STATUS cases.

Make sure to requeue the SCB in the above cases internally in the driver,
the SCSI layer doesn't know how to deal with it properly.
2000-05-28 00:19:59 +00:00
fvdl 4b7b35ae8a When a bus is accessed for the first time, reset it. Without this,
some devices may not be found if the BIOS (which would normally
do the reset at startup) is disabled. Should really be done from the SCSI
layer.

Implement the SCBUSIORESET ioctl.
2000-05-27 21:58:15 +00:00
dante 39c7c9aff6 Change AdwInitCarriers in adwmcode.c
Add new AdwInitCarriers prototype in adwmcode.h
All of the supported adapters are now initialized calling a unique common
    function
2000-05-27 18:24:50 +00:00
thorpej d0a8b751b2 Don't use sleep() and a callout; just use tsleep(). 2000-05-27 04:46:24 +00:00
matt dd266dbb2f Fix counting of output packets. Only count descriptors with TDES_LS set.
Also make transmit timeout logic more correct.
2000-05-27 04:26:32 +00:00
tsutsui 7ae8c684a8 Increase delay on EEPROM access.
CATS sometimes cannot read MAC address correctly.
2000-05-27 00:55:42 +00:00
ragge 38d5764cd1 Fix for a driver bug provided by Jon W Grubbs (jgrubbs@megsinet.net).
This bug is only visible on some disks, and I have verified that it works
correctly on VAX. However, du to the author, it is a problem on other
machines/disks as well. Here's the author's comments:

> The MI code for the NCR5380 has a small bug in it  The RZ56 wants to
> negotiate for Synchronous Data Transfers and when it does, the current code
> looks like it will send a REJECT message as the spec calls for when we cant
> handle the request.  However, a couple of lines of code in the
> ncr5380_msg_in routine are missing wrt the PARITY message and anything that
> wants to send a REJECT message.  The ATN setup that is done in
> ncr_sched_msgout is immediately negated by the final byte ACK sequence in
> this routine.  This causes bad things to happen to an RZ56.
2000-05-26 21:11:00 +00:00
tsutsui e3427d8f2c Call bus_dmamap_sync() properly before/after reading fcd_stats
in fxp_control_data.
2000-05-26 19:11:24 +00:00
thorpej 8a3725612d Add support for the Davicom DM9102 and DM9102A 10/100 Ethernet chips.
Partially based on diffs submitted by Matthew Orgass <darkstar@pgh.net>
and IWAMOTO Toshihiro <iwamoto@sat.t.u-tokyo.ac.jp>.
2000-05-26 16:38:13 +00:00
dante 3d7bdc4c94 Fix a bug introduced in last commit which caused a painc due to
re-enqueueing an already free ccb.
Prepare the background to have a unique initialization function for
    all of the supported host adapters.
Rename a lot of #define in a more sane way.
Move Carriers initialization and defines in adwmcode.{c,h}
Don't lose Carrier nodes in case of a BUS/Chip reset explicitly invoked
    after a DMA failure.

XXX - DMA failure still arise when AdvanSys U[2]W host adapters are used
      in conjunction with Intel 82443BX Host Bridge/Controller (rev. 0x03).
      !?!Have to understand why!?!
2000-05-26 15:13:43 +00:00
tsutsui 5dca757b0e Swap the order of u_int16_t member in Tx/Rx descriptors
on big endian machines.

"Big endian mode" of smc83c170 actually works!
(i.e. no htole??()/le??toh() functions are needed.)
2000-05-26 00:20:26 +00:00
tsutsui dea97be7fd Don't use bcopy() to copy u_int16_t data to u_int8_t array. 2000-05-26 00:14:41 +00:00
thorpej c9a7ec7a66 Add Davicom DM9102 registers. 2000-05-25 22:50:11 +00:00
thorpej 7c709cc6b4 Comment the fact that the X3201-3 requires FS|LS in the setup
packet descriptor.
2000-05-25 22:18:07 +00:00
thorpej f4a3f5ea48 So, while the DEC chips and other clones want no FS|LS in the
setup descriptor, apparently the Xircom X3201-3 requires it.
2000-05-25 18:46:07 +00:00
thorpej 215a635a5b Truncate receive buffers to 4-byte boundary. Slightly modified
from kern/10198, from Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
2000-05-25 16:47:18 +00:00
thorpej 2f08658512 Fix a couple of typos in debugging messages. From IWAMOTO Toshihiro,
kern/10194.
2000-05-25 16:37:33 +00:00
thorpej 05a766d42e Don't set FS and LS in the setup packet descriptor. From
IWAMOTO Toshihiro <iwamoto@sat.t.u-tokyo.ac.jp>, kern/10194,
and confirmed with the 21040 manual.
2000-05-25 16:36:03 +00:00
fvdl 3e54d43abc Be sure to not use tagged queueing for a few commands. 2000-05-25 11:41:05 +00:00
bouyer b063b2ec36 Separate the sheduler from the main script, allocate another DMA-safe
memory page for the sheduler. Put the main script in the on-chip RAM when
available.
Avoid a null-pointer dereference when DSA is invalid.
2000-05-25 10:10:54 +00:00
soren c25111e4ae Make two previous changes more correct, as shown by Izumi Tsutsui. 2000-05-24 13:20:32 +00:00