Commit Graph

16648 Commits

Author SHA1 Message Date
onoe
a42258dab0 Do not return EINPROGRESS but 0 in awi_newstate, since the EINPROGRESS
handling was changed in net80211 framework.
This fix wiconfig -D awi0 to work again for DS phys.
XXX FH phys takes 20 seconds to complete scan, so wiconfig timed out.
2004-01-16 14:13:15 +00:00
oster
1a5bc3eb34 Add missing simple_lock_init(). Noted by skrueger-at-europe-dot-com. 2004-01-15 20:27:27 +00:00
onoe
d21d916e1d Correct beacon (src/bssid) for hostap and adhoc mode. 2004-01-15 13:29:05 +00:00
onoe
5ff2748cd5 Fix: panic when rate is specified but chan is left unspecified.
Add FreeBSD glues to share drivers.
2004-01-15 09:39:15 +00:00
onoe
090e150c3f ANSIfy. 2004-01-15 09:33:48 +00:00
oster
7ab3e4e2e3 Add 2 missing RF_LOCK_MUTEX()es. Problem pointed out by
skrueger-at-europe-dot-com.  (It turns out that the mutex used to
serve two different purposes, not just one, and for its current use,
it's actually miss-named.  Will fix that some other time.)
2004-01-14 15:10:55 +00:00
tsutsui
6353b12d1a Fix hardware cksum problem on big endian machines.
Tested on macppc by HATANO Hiromichi.

Note I guess this bug could be fixed only adding one htole32(),
but I'd rather clean up endianness handling:
- Use htole32() only to accesses against DMA descriptors.
- Don't use uint32_t union member  with htole32()/le32toh()
  to access uint8_t/uint16_t descriptors.
- Add le32toh() in some DPRINTF.
  (XXX: strictly speaking, bus_dmamap_sync() is needed for these DPRINTF)
2004-01-14 14:29:48 +00:00
dyoung
8c117e1a38 NetBSD's KASSERT takes just one argument while FreeBSD's takes two,
so I have added IASSERT(cond, complaint) to the compatibility header
file and s/KASSERT/IASSERT/'d.
2004-01-13 23:37:29 +00:00
kent
2adc11f1f3 remove/modify confusing error messsges. 2004-01-13 14:42:50 +00:00
augustss
9fc19b76bb Print the device description in the attach routine like all other drivers do. 2004-01-13 14:07:09 +00:00
hannken
067a3b897d Update the file system snapshot driver:
- Document the kernel thread.
- Rename some functions and variables.
- Return EROFS where appropriate.
- Use shifts instead of 64-bit divide.
- Use a simple_lock to make it MP-safe.
- Add M_CANFAIL to malloc to avoid panic on large cluster size.
- Allow sparse file for backing store and use VOP_BALLOC() to allocate
  space. Default size of backing store is the size of the file system.
2004-01-11 19:05:26 +00:00
cube
03549a0cc1 The limitation for TX/RX DMA of rev. 900B and 635 os the SiS chips also
applies to rev. 0x91 for 96x chipsets.  Needed to fix PR 24043, but more
stressing testing has to be performed before closing it.
2004-01-11 09:07:56 +00:00
hannken
ed68c4e34c Allow vfs_write_suspend() to wait if the file system is already
suspending.

Move vfs_write_suspend() and vfs_write_resume() from kern/vfs_vnops.c
to kern/vfs_subr.c.

Change vnode write gating in ufs/ffs/ffs_softdep.c (from FreeBSD).

When vnodes are throttled in softdep_trackbufs() check for
file system suspension every 10 msecs to avoid a deadlock.
2004-01-10 17:16:38 +00:00
oster
6297e36a60 Since the LOCK and UNLOCK flags are never used, no need in extracting them.
Collapse the related variables down to zero.  That means 'flags' is 0
as well.  Nuke the extraction macros, a bunch of the variables, and replace
'flags' as well.
2004-01-10 17:04:44 +00:00
yamt
7266a95907 store a i/o priority hint in struct buf for buffer queue discipline. 2004-01-10 14:39:50 +00:00
dyoung
55e0f7c6a4 Rounding to the nearest multiple of 2 with roundup(constant, 2) is
easier to read than `constant + 1'.
2004-01-10 07:54:55 +00:00
dyoung
0370da2a5d In atw_rf3000_tune, enable I/O with the modem and RF front-end
"just in time" instead of at the top of the function.
2004-01-10 07:51:16 +00:00
dyoung
348c2d9603 Do not set IEEE80211_F_IBSSON in hostap mode. Treat hostap-mode
when the link condition changes by returning.

Note that hostap mode still does not work in atw, and ADMtek has
told me that the hardware will not support it, but I remain hopeful.
2004-01-10 07:47:02 +00:00
dyoung
005d4641ca Report received-early interrupt with a debug printf.
Print the Serial EEPROM and the MAC address it contains when
atw_debug > 0, because atw_debug > 1 is a little too strict.
2004-01-10 07:41:18 +00:00
dyoung
f38df7cae7 Misc. cosmetic changes.
Add a debug printf to the input path.
2004-01-10 07:03:28 +00:00
dyoung
a94687e30c Use new docs provided by RFMD to give some meaning to
previously-undocumented registers and magic numbers on the RF3000
baseband.
2004-01-10 06:30:35 +00:00
dyoung
bd26cc12f9 Get rid of empty #if 0/#endif stanza. 2004-01-10 06:02:32 +00:00
oster
2e19186660 iCleanup the RF_CREATE_PARAM3(). Middle two "arguments" were nothing
but 0 in all cases.
2004-01-10 00:56:27 +00:00
oster
5b7e949cbf More lu_flags disappear into oblivion. 2004-01-10 00:53:08 +00:00
oster
7edb3013bb Nuke lu_flag and code associated with it being non-zero.
The compiler already knew that these chunks of code
could never be reached (since lu_flag was always 0), so it
already ignored them.
No functional changes.
2004-01-09 23:35:59 +00:00
oster
ac6b86acbb [This file should have been committed with the other
rf_enableAtomicRMW changes.]

Cleanup rf_enableAtomicRMW and its use.  According to the comments, we
can't set this to anything other than zero anyway.  Shaves off another
900 bytes.  lu_flag's days are numbered now, as are the middle
parameters of RF_CREATE_PARAM3.
2004-01-09 23:31:37 +00:00
oster
35d7c1ee7e Cleanup rf_enableAtomicRMW and its use. According to the comments, we
can't set this to anything other than zero anyway.  Shaves off another
900 bytes.  lu_flag's days are numbered now, as are the middle
parameters of RF_CREATE_PARAM3.
2004-01-09 23:26:17 +00:00
chs
3c9eb7a6c4 in ehci_softintr() when looping over the active xfers, save the next pointer
before calling ehci_check_intr(), since that will free the xfer structure
if the xfer is complete.
2004-01-09 09:19:33 +00:00
thorpej
778161fb7f Initialize some importantant members of the drive info structure. (I have
no idea how this worked for me before, but I swear that it did...)

kern/24015.
2004-01-07 22:06:57 +00:00
thorpej
cb9ba8776e Add a comment about some code that should be cleaned up. 2004-01-07 22:03:56 +00:00
bjh21
a33e671568 Regen. 2004-01-07 22:02:23 +00:00
bjh21
38cb9d0fe2 It looks like the isc PC netslot version of the Nexus interface uses the
same podule ID as the A3020/A4000 netslot version.  Update list to reflect
this.
2004-01-07 22:00:51 +00:00
jdolecek
6c869ee3b7 add list of known issues, from Lennart Augustsson and Michael van Elst 2004-01-07 09:17:47 +00:00
matt
82c993fb44 Regen. 2004-01-06 19:44:38 +00:00
matt
5e5b78644d Add HP Tachyon TL and TS device IDs. 2004-01-06 19:44:17 +00:00
tsutsui
47c4c87d2c Fix bus error trap on X68030/25MHz on-board SPC, which may have some quirk.
Problem reported by Yasushi Oshima.
2004-01-06 18:07:17 +00:00
gson
e11055d090 Abort the USB transfer on an endpoint when the last midi device
referencing it is closed.  Fixes kern/23987.
2004-01-06 05:42:47 +00:00
oster
d9ff8342a0 Clean up a few comments, and improve code formatting somewhat.
Makes things a bit more readable.

No functional changes.
2004-01-06 03:27:13 +00:00
matt
724f5b2c53 Regen. 2004-01-05 19:31:08 +00:00
matt
f89c0bcfa9 Add Agilent Technologies vendor ID
Add Agilent Tachyon_DX2 product ID
Add HP Tachyon_XL2 product ID
2004-01-05 19:30:51 +00:00
augustss
2be4a9297b One more device. From OpenBSD. 2004-01-05 13:49:40 +00:00
augustss
35b09dafaa Regen. 2004-01-05 13:46:43 +00:00
augustss
150753278e Add a number of devices. From OpenBSD. 2004-01-05 13:46:20 +00:00
augustss
8bcf98def6 Add an HP adapter. From FreeBSD. 2004-01-05 13:36:24 +00:00
augustss
7cdc2658bb Try harder to get initial descriptor. Do a port reset now and then
in the retry loop.
2004-01-05 13:32:23 +00:00
augustss
4d6e985752 Fix bug in error path. From OpenBSD. 2004-01-05 13:30:45 +00:00
augustss
5f31dab3df Add more scanners. 2004-01-05 13:29:49 +00:00
augustss
cfbab17b08 Add another device. 2004-01-05 13:29:27 +00:00
augustss
9622982931 Get rid of a vnode.h include. 2004-01-05 13:29:08 +00:00
augustss
770f7ef656 Get rid of some vnode.h includes. 2004-01-05 13:28:18 +00:00
augustss
60846c1584 Regen. 2004-01-05 13:05:39 +00:00
augustss
e3d816149f Add lots of devices. From FreeBSD. 2004-01-05 13:05:16 +00:00
schmonz
113854bb28 Add Compaq "iPaq" HNE-200 USB Ethernet adapter. 2004-01-05 01:52:03 +00:00
schmonz
b7319ca85e Regen (Compaq "iPaq" HNE-200 USB Ethernet adapter). 2004-01-05 01:51:34 +00:00
schmonz
f3d2103991 Add Compaq "iPaq" HNE-200 USB Ethernet adapter. 2004-01-05 01:50:00 +00:00
oster
181f2eebee remove terminate_disk_queues from RF_Raid_s. The hist_diskreq[]
stuff is only used for the CHAINDECLUSTERING, so hide it with an #if.
2004-01-05 01:19:07 +00:00
gendalia
710460b874 Apply http://bugme.osdl.org/attachment.cgi?id=1777&action=view from
http://bugme.osdl.org/show_bug.cgi?id=1766

makes acpi work on my Dell Latitude D600, and should fix PR i386/23868.

Approved by gimpy, thanks to soren for finding it.
2004-01-04 22:03:34 +00:00
oster
290ef1fca7 raidPtr->reconControl->percentCompleted only gets used in one
debugging printf, and in rf_netbsdkintf.c.  We can do the calculations
inside of RF_DEBUG_RECON for the one debugging printf, and only
perform the percentCompleted calculation "on demand" in the
rf_netbsdkintf.c case.  Shaves a few more bytes off an i386 GENERIC
kernel, and ever-so-slightly decreases the amount of work performed
during a reconstruct.
2004-01-04 21:06:04 +00:00
wiz
a5bf3b3c4c Spell controller with two ls. Inspired by miod@openbsd. 2004-01-04 16:19:43 +00:00
martin
d30d9b04d0 Attach message formating nit, adapt to recent pcic (et al) changes. 2004-01-04 12:41:46 +00:00
augustss
3c5939dc02 Cosmetic changes. 2004-01-04 11:11:56 +00:00
jdolecek
482ad5b141 make uhid_graphire*_report_descr[] const 2004-01-04 08:35:52 +00:00
oster
87e6ffb752 As noted by Thierry Deval in a posting to misc/at/openbsd.org,
rf_DecrAccessesCountState wasn't in the correct spot in
RF_AccessState_e.  Following up on that has resulted in one other
correction.  Changing orderings of these states is tricky, and
shouldn't be attempted without some thorough analysis.  For the
changes committed, the following analysis is offerred:

1) RAIDframe uses a little state machine to take care of building,
executing, and processing the DAGs used to direct IO.

2) The rf_DecrAccessesCountState state is handled by the function
rf_State_DecrAccessCount().  The purpose of this state is to
decrement the number of "accesses-in-flight".

3) rf_Cleanup_State is handled by rf_State_Cleanup().  Its job is to
do general cleanup of DAG arrays and any stripe locks.

4) DefaultStates[] in rf_layout.c indicates that the right spot
for rf_DecrAccessesCountState is just before rf_Cleanup_State.
Analysis of code for both states indicates that the order doesn't
matter too much, although rf_State_DecrAccessCount() should probably
take place *after* rf_State_Cleanup() to be more correct.

5) Comments in rf_State_ProcessDAG() indicates that the next state
should be rf_Cleanup_State.  However: it attempts to get there by using

 desc->state++;

which actually takes it to just rf_DecrAccessesCountState! This turned
out to be OK before, since rf_Cleanup_State would follow right after,
and all would be taken careof (albeit in arguably the "less correct"
order).

6) With the current ordering, if we head directly to rf_Cleanup_State
(as we do, for example, if multiple components fail in a RAID 5 set),
then we'll actually miss going trough rf_DecrAccessesCountState), and
could end up never being able to reach quiescence!  Perhaps not too
big of a deal, given that the RAID set is pretty much toast by that
point at which such a drastic state change happens, but might as well
have this correct.

The changes made are:
1) Since having rf_State_DecrAccessCount() come after
rf_State_Cleanup() is just fine, change rf_layout.c to reflect that
rf_DecrAccessesCountState comes after rf_Cleanup_State (i.e. they swap
positions in the state list).  This means that going to
rf_Cleanup_State after bailing on a failed DAG access will do all the
right things -- the state will get cleaned up, and then the access
counts will get decremented properly.  The comment in
rf_State_ProcessDAG() is now actually correct -- the next state *will*
be rf_Cleanup_State.

2) Move rf_DecrAccessesCountState in RF_AccessState_e to just after
rf_CleanupState.  This puts RF_AccessState_e in sync with
DefaultStates[].  Fortunately, these states are rarely referred to by
name, and so this change ends up being mostly cosmetic -- it really
only fixes cleanup behaviour for the recent "Failed to create a DAG"
changes.
2004-01-04 06:37:16 +00:00
dsainty
232d108953 Kill the flow control interface. Bluetooth devices are not equipped to deal
with flow control being applied.  It is simpler and no more problematic to
accept the data and drop it if we hit a resource limit than to expect the
Bluetooth device to do anything about it (which it won't).
2004-01-04 05:47:43 +00:00
dsainty
ea1feca1de Don't (ab)use the device driver flow control interface to prevent incoming
data.  We should be prepared to buffer that data here (though we currently
don't do that either).
2004-01-04 05:39:35 +00:00
dsainty
68c4826bcf Correct buffer selection in uhidev_set_report for non-zero report IDs (rare!)
Spotted by Dave Huang, noted in tech-kern.
2004-01-04 02:13:11 +00:00
augustss
956a88bd1e Support Graphire 4x5. From Dave Huang in kern/23965. 2004-01-04 01:29:11 +00:00
augustss
0daa8ba196 Regen. 2004-01-04 01:27:38 +00:00
augustss
2da03fdec4 Add Wacom Graphire3 4x5. From Dave Huang. 2004-01-04 01:26:23 +00:00
thorpej
197f2f50da More structure member namespace cleanup: thread -> ch_thread 2004-01-03 23:59:58 +00:00
thorpej
a963286f8d More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
2004-01-03 22:56:52 +00:00
thorpej
3fb652250b More comment/whitespace tidy-up. 2004-01-03 19:31:09 +00:00
soren
51e7baecd8 Regen. 2004-01-03 14:16:45 +00:00
soren
fd87fe0125 Add Motorola A920. 2004-01-03 14:12:57 +00:00
soren
04fd7f9383 Only report codec readiness if DEBUG to avoid printing it on every resume. 2004-01-03 14:11:36 +00:00
thorpej
5bd80d8373 Rename "struct channel_softc" to "struct wdc_channel". 2004-01-03 01:50:52 +00:00
thorpej
f61ad169ec callout_init() after memset(). 2004-01-03 01:48:38 +00:00
oster
24b034a69e Fix the "We panic if we can't create a DAG" problem that's existed
~forever.  This requires a number of things:

1) If we can't create a DAG, set desc->numStripes to 0 in
rf_SelectAlgorithm.  This will ensure that we don't attempt to free
any dagArray[] elements in rf_StateCleanup.

2) Modify rf_State_CreateDAG() to not panic in the event of a DAG
failure.  Instead, set the bp->b_flags and bp->b_error, and set things
up to skip to rf_State_Cleanup().

3) Need to mark desc->status as "bad" so that we actually stop looking
for a different DAG.  (which we won't find... no matter how many times
we try).

4) rf_State_LastState() will then do the biodone(), and return EIO for
the IO in question.

5) Remove some " || 1 "'s from ProcessNode().  These were for
debugging, and we don't need the failure notices spewing
over and over again as the failing DAGs are processed.

6) Needed to change

       if (asmap->numDataFailed + asmap->numParityFailed > 1)

to

        if ((asmap->numDataFailed + asmap->numParityFailed > 1) ||
            (raidPtr->numFailures > 1)){

in rf_raid5.c so that it doesn't try to return
rf_CreateNonRedundantWriteDAG as the creation function.

7) Note that we can't apply the above change to the RAID 1 code as
with the silly "fake 2-D" RAID 1 sets, it is possible to have 2 failed
components in the RAID 1 set, and that would stop them from working.
(I really don't know why/how those "fake 2-D" RAID 1 sets even work
with all the "single-fault" assumptions present in the rest of the
code.)

8) Needed to protect rf_RAID0DagSelect() in a similar way -- it should
return NULL as the createFunc.

9) No point printing out "Multiple disks failed..." a zillion times.
2004-01-02 21:41:08 +00:00
hannken
897a1fc008 Remove "row" from DEBUG statements. 2004-01-02 11:52:15 +00:00
dsainty
d3a5c746ab Correct a conditional masking error conditions 2004-01-02 02:36:25 +00:00
oster
5b70d1d979 Cleanup some unused desc->flags:
RF_DAG_RETURN_DAG
RF_DAG_RETURN_ASM
RF_DAG_TEST_ACCESS
and the code that goes with them.  A couple more of these
can probably go too, but I might need them in a bit.
2004-01-01 23:35:08 +00:00
thorpej
50d7e2cb8b Tidy this file up. 2004-01-01 21:57:42 +00:00
thorpej
181abd742b Tidy this file up a little. 2004-01-01 21:18:28 +00:00
oster
f025a0425c Finally cleanup RF_BZERO. Turns out that 'bp' was only used to obtain
bp->b_proc for mapping userspace buffers to kernelspace in the
original rf_kintf.c.  That means bp isn't of any use in RF_BZERO()
for us, and the macro can be replaced with just the memset().

No functional changes.
2004-01-01 20:39:58 +00:00
thorpej
9bc0bf3f15 Prepend "wdc_" to wait_for_drq, wait_for_unbusy, and wait_for_ready. 2004-01-01 20:25:22 +00:00
thorpej
763657a529 Tidy up this file somewhat. 2004-01-01 20:18:33 +00:00
oster
da4ed88ce1 Tidy up the #includes a bit. 2004-01-01 19:37:17 +00:00
oster
f2512ce061 Nuke a few more 'row'-related bits that were missed in the row-removal. 2004-01-01 19:32:55 +00:00
oster
d3aa064253 Nuke a bunch of unused variables:
- node_queue_cond
 - quiescent_cond
 - eq_cond
 - desc->cond
 - desc->head
 - diskqueue->numWaiting

Nuke rf_print_unable_to_init_cond().
Nuke rf_TerminateDiskQueues prototype from rf_diskqueue.h.
2004-01-01 19:27:35 +00:00
thorpej
527c829fa0 Rename:
- wdc_xfer to ata_xfer
- channel_queue to ata_queue
and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA
controllers.  Clean up the member names of these structures while at it.
2004-01-01 17:18:53 +00:00
dsainty
275cfd33b4 Correctly initialise ALL of the attach argument block. Fixes panic on
device open (previously avoided by compiler-dependent luck :)
2004-01-01 16:10:13 +00:00
oster
2c490b5588 Remove 3 unused debugging options:
RF_DBG_OPTION(accessTraceBufSize, 0)
RF_DBG_OPTION(disableAsyncAccs, 0)
RF_DBG_OPTION(suppressTraceDelays, 0)
2003-12-31 22:25:38 +00:00
oster
7ea5de8a08 Clean up a bunch of comments. 2003-12-31 17:47:53 +00:00
jonathan
01c51dab61 Split opencrypto configuration into an attribute, usable by inkernel
clients, and a pseudo-device for userspace access.

The attribute is named `opencrypto'. The pseudo-device is renamed to
"crypto", which has a dependency on "opencrypto". The sys/conf/majors
entry and pseudo-device attach entrypoint are updated to match the
new pseudo-device name.

Fast IPsec (sys/netipsec/files.ipsec) now lists a dependency on the
"opencrypto" attribute.  Drivers for crypto accelerators (ubsec,
hifn775x) also pull in opencrypto, as providers of opencrypto transforms.
2003-12-31 16:44:26 +00:00
oster
7f9bbe325c Replace the DO_FREE() macro with just RF_Free(). No functional changes,
just less confusion.
2003-12-31 16:32:50 +00:00
oster
8ff567e586 Fix comments and make function declarations conform.
No functional changes.
2003-12-31 16:23:50 +00:00
hamajima
fc324f7812 add Logitech "QuickCam for Notebook Pro" and "QuickCam Pro 4000".
these are match for ugen, not uaudio.
requested from Takafumi Mizuno.
2003-12-31 14:33:20 +00:00
bjh21
b58d17ad68 Forcibly undefining debugging macros is rude, so don't do it. 2003-12-31 13:51:28 +00:00
martin
c54170031d Include <dev/ata/atareg.h>, so that WDSD_IBM is defined. 2003-12-31 12:46:04 +00:00
oster
a5c20197a4 Add in a bunch of RF_SIGNAL_COND()'s that were missing. Tidy up
a few lines.
2003-12-31 04:13:52 +00:00
oster
abbecc25a2 Left-shift another else{} chunk. No functional changes. 2003-12-31 04:00:01 +00:00
oster
b7bb3e3c62 left-shift the "else" part of the if(!lp_SubmitReconBuffer) condition.
Cleanup.  No real functional changes, just more readable.
2003-12-31 03:51:28 +00:00
oster
824f2ed930 Negate a condition, and flip if/else parts. Preparation for left-shifting
the (now) else part.  No real functional change.
2003-12-31 03:29:11 +00:00
oster
00515ece62 Remove a couple of incorrect comments. (rf_recon_req needs to be
passed to rf_ReconThread(), and there's no way around that for now.)
2003-12-31 03:02:57 +00:00
oster
4283fdd054 init_dqd and clean_dqd don't do enough to be their own functions,
and just serve to cause confusion.  Back-merge their contents to their
(only) calling spots and nuke them.
2003-12-31 02:47:58 +00:00
oster
7c465d22a7 Increase the scope of RF_DEBUG_PSS to cover a bit more stuff. 2003-12-31 00:42:46 +00:00
oster
4635d077cf nuke the 'bp' argument to rf_bxor and friends since it is no longer used.
In fact, bp was being set to "NULL" when passed rf_bxor() in
rf_parityscan.c:rf_VerifyParityBasic().
2003-12-31 00:00:06 +00:00
oster
6e2bbdfcc9 Very carefully remove REMAP_VA() macro. It's only doing a simple
assignement, and the 'bp' argument isn't used. (Guess what's going to
disappear next?)  No functional changes.
2003-12-30 23:40:20 +00:00
oster
f5e96bf53e Nuke a forgotten 'row' from struct RF_PerDiskReconCtrl_s. 2003-12-30 23:23:17 +00:00
oster
dd05ba5c10 sparediskids isn't used anywhere. turf. 2003-12-30 22:56:40 +00:00
oster
0b4f5c68b8 No point keeping 'pt' around. It's only ever assigned to. 2003-12-30 22:12:10 +00:00
oster
5a41c1d7ce rf_FreePDAList() and rf_FreeASMList() wern't using their l_end or
count arguments.  Nuke the unused args, and fix up callers and fn
prototypes.  Rename l_start arguments.
2003-12-30 22:11:14 +00:00
oster
c43fc67d7d Some days you wonder if some of the function declaration consistency
was just an accident in the first place.  Cleanup function decls and
a few comments.  [ok.. so I wasn't going to fix this many.. but once
you're on a roll....]
2003-12-30 21:59:03 +00:00
thorpej
abf619ebfb Simplify setting up the channel queue a little. 2003-12-30 20:20:21 +00:00
thorpej
683cebe2c8 No longer need to include <dev/ic/wdcreg.h> 2003-12-30 19:30:39 +00:00
thorpej
3787a92812 Move the register definitions for ATA Task File registers to atareg.h;
they are also used by controllers that do not map the registers into the
system address space, and are thus distinct from the "controller" registers.
2003-12-30 19:30:13 +00:00
oster
01635d963b Make function declarations consistent a) with each other and b) with
KNF.   Clean up comments.
2003-12-30 19:28:26 +00:00
thorpej
3695c4271b SMART info is logically part of the register set; move it from atavar.h
to atareg.h
2003-12-30 19:12:24 +00:00
oster
34ad01b703 Fix slight bogon from row removal. 'r' would have been 0 here, not 1,
which means r*raidPtr->numCol would have always been 0, not raidPtr->numCol.
2003-12-30 17:46:59 +00:00
oster
ed1155b792 access_tracebuf is declared, allocated, and freed. No freeloading
datastructures allowed!  Punt.

accessTraceBufCount, rf_accessTraceBufSize, and
rf_stopCollectingTraces are similarly declared, initialized, and then
never changed.  Punt.

rf_ShutdownAccessTrace() now does nothing.  Remove it, and the
callback setup stuff from rf_ConfigureAccessTrace().
2003-12-30 17:29:41 +00:00
thorpej
ed96a1cec2 Move the drive probing code out of atabusconfig() and into a new
wdc_drvprobe() function.  wdc_drvprobe() is used if the controller
does not specify a custom one prior to calling wdcattach().  The
WDC_CAPABILITY_DRVPROBE bit is gone.
2003-12-30 17:18:11 +00:00
thorpej
68f89cabfe Use ANSI function decls. 2003-12-30 16:40:12 +00:00
thorpej
0ad3db4759 Move most of the atabus layer into ata.c. 2003-12-30 16:28:37 +00:00
thorpej
962cc4da4a Tweak function names in debug messages. 2003-12-30 00:43:31 +00:00
oster
5c71699f0b Clean up comments, and generally make more readable. No functional changes. 2003-12-29 17:13:36 +00:00
oster
f7e3fe7a56 Clean up code/comments. No functional changes. Just a lot easier to read now. 2003-12-29 16:57:35 +00:00
toshii
05069ebd4d Use the correct wValue to get hub desriptors.
Also, make wValue checks of root hub codes less strict.
2003-12-29 08:17:10 +00:00
oster
86c2a9ed65 The ugly wonderment of appropriately placed ASCII characters
formerly known as rf_threadstuff.c is no more.
2003-12-29 06:37:47 +00:00
oster
ee0afdc3dc rf_lkmgr_mutex_init() is only called from one spot, and it really
can't fail.  Simplify life in rf_BootRaidframe(), and then nuke
rf_lkmgr_mutex_init().  Cleanup rf_threadstuff.h a bit more too.
rf_threadstuff.c is about to Go Away.
2003-12-29 06:30:42 +00:00
sekiya
8a08952e14 Fix typo ("ARCBIOS_MEM_ExecptionBlock"). From Steve Rumble. 2003-12-29 06:26:41 +00:00
oster
e276d553e6 Garbage-collect a whole mess of this RF_THREADGROUP_* stuff that isn't
being used.  Then, nuke rf_init_managed_threadgroup() and all
descendants and relations.
2003-12-29 06:19:28 +00:00
oster
8b09b35f45 Let's see... raidPtr->recon_done_procs is never set to anything
(other than NULL when raidPtr is initialized).  That means
SignalReconDone() never does anything useful.  Bye-bye!

Say good-bye to recon_done_procs and recon_done_procs_mutex (and its
initializer) as well.
2003-12-29 05:58:34 +00:00
oster
6a080d56e0 IO_BUF_ERR really doesn't need to be a macro. Replace the macro. 2003-12-29 05:52:58 +00:00
oster
fc5966383f _rf_create_managed_cond() is now left doing nothing. Convert callers.
Mash DO_RAID_COND in rf_driver.c out of existance.

- Nuke (already #if 0'ed) _rf_create_managed_lkmgr_mutex() while we're
busy here.

simplify DO_INIT in rf_engine.c
2003-12-29 05:48:13 +00:00
oster
2f4066f82e cond_destroyer joins mutex_destroyer in the "nothing useful is done
here" department.

remove _rf_init_threadgroup() and rf_destroy_threadgroup() which were
already #if 0'ed.

rf_cond_destroy() does nothing.  Nuke it, and all callers.

rf_cond_init() doesn't deserve to be a separate function any more.
Fix up the remaining 3 callers, and nuke rf_cond_init().

Another 0.4K goes "poof", but still no functionality lost!
2003-12-29 05:36:19 +00:00
oster
c629932636 _rf_create_managed_mutex() is doing just a simple:
rf_mutex_init(m)

now.  The rest of the fluff is no longer needed.
It also cannot fail, so error checking on rf_create_managed_mutex()
is just wasting space.

Nuke the #define's associated with rf_create_managed_mutex().
Convert rf_create_managed_mutex(listp,m) to just rf_mutex_init(m).
Remove wasteful "error checking" and simplify all instances where this
is called.  (another 0.3K saved in the binary, but the real savings
is in code readability!)
2003-12-29 05:22:16 +00:00
oster
f7db986b43 mutex_destroyer() has been reduced to nothing. Turf it.
That means there is no point in having any of the shutdown stuff call
mutex_destroyer() on any of the mutexes.  Nuke related code.
2003-12-29 05:09:08 +00:00
oster
9a5cad32eb Since rf_mutex_destroy() is effectively a NOP now, nuke it. 2003-12-29 05:01:14 +00:00
oster
b2b6428115 Simplify defn's of rf_mutex_init() and rf_mutex_destroy(). Since
neither of these ever fail, no need to have a return value.  That
makes all the "error detection" on these functions completely
unneeded.  But since we're here, if we don't have a return value, then
why not make these macros?  My.. look how things keep shrinking, with
no loss in functionality!
2003-12-29 04:56:26 +00:00
oster
99a9acd89d Reduce uses of rf_mutex_init() and rf_cond_init(). Streamlines code,
removes useless error detection, and generally makes things easier to follow.
2003-12-29 04:39:29 +00:00
oster
c439c8a2c0 Tidy up a comment. 2003-12-29 04:34:36 +00:00
oster
46dd44132d init_mcpair() and clean_mcpair() are much like init_rad() and
clean_rad() were -- these days they only serve to clutter things up.
Remove the functions, and put the 2 lines of actual useful initialization
into rf_AllocMCPair().
2003-12-29 04:33:31 +00:00
oster
c0a4bb0ea1 init_rad() and clean_rad() really do..... very little.. and only serve
to make things look far more complicated than they really are.  It was
also impossible for any of the mutex/cond initializations in
init_rad() to actually fail, making the "error detection code"
unneeded.  Collapse the little work done by init_rad into
rf_AllocRaidAccDesc(), and nuke init_rad() and clean_rad().  Save
another 0.25K in GENERIC.

[To be accurate/complete, init_rad() and clean_rad() *ARE* used in the
simulator version of RAIDframe.  But we're so far removed from that
now that there is no point pretending otherwise.]
2003-12-29 04:00:17 +00:00
oster
f3e27c676e General format/comment cleanups. No functional changes. 2003-12-29 03:43:07 +00:00
oster
91c64aa051 Remove rf_freelist.h. Its contents are no longer needed. 2003-12-29 03:37:14 +00:00
oster
ee19b085aa - first kick at a major reworking of RAIDframe's memory allocation code:
- all freelists converted to pools
  - initialization of structure members in certain cases where
	code was relying on specific allocation and usage properties
	to keep structures in a "known state" (that doesn't work with
	pools!).
  - make most pool_get() be "PR_WAITOK" until they can be analyzed
	further, and/or have proper error handling added.
  - all RF_Mallocs zero the space returned, so there is no difference
	between RF_Calloc and RF_Malloc.  In fact, all the RF_Calloc()'s
	do is tend to do is get things horribly confused.
	Make RF_Malloc() the "general memory allocator", with
	RF_MallocAndAdd() the "general memory allocator with
	allocation list".
  - some of these RF_Malloc's et al. are destined to disappear.
  - remove rf_rdp_freelist entirely (it's not used anywhere!)
  - remove: #include "rf_freelist.h"
  - to the files that were relying on the above, add: #include "rf_general.h"
  - add: #include "rf_debugMem.h" to rf_shutdown.h to make it happy
	about the loss of: #include "rf_freelist.h".

This shrinks an i386 GENERIC kernel by approx 5K.  RAIDframe now
weighs in at about 162K on i386.
2003-12-29 03:33:47 +00:00
oster
10f077a0fb [Having received a definite lack of strenuous objection, a small amount
of strenuous agreement, and some general agreement, this commit is
going ahead because it's now starting to block some other changes I
wish to make.]

Remove most of the support for the concept of "rows" from RAIDframe.
While the "row" interface has been exported to the world, RAIDframe
internals have really only supported a single row, even though they
have feigned support of multiple rows.

Nothing changes in configuration land -- config files still need to
specify a single row, etc.  All auto-config structures remain fully
forward/backwards compatible.

The only visible difference to the average user should be a
reduction in the size of a GENERIC kernel (i386) by 4.5K.  For those
of us trolling through RAIDframe kernel code, a lot of the driver
configuration code has become a LOT easier to read.
2003-12-29 02:38:17 +00:00
augustss
f3abb712c4 Regen. 2003-12-28 17:12:00 +00:00
augustss
7ddfb31781 Add a couple of devices. 2003-12-28 17:11:14 +00:00
kent
a92ed9fb69 ICH4/ICH5:
When native i/o mapping fails, try compatible i/o mapping.
2003-12-28 12:31:30 +00:00
itohy
148136c88f Add support for RATOC REX-9530.
Not fully tested, though.
2003-12-28 06:50:42 +00:00
itohy
a4a5409e3a Regen from pcmciadevs rev 1.191. 2003-12-28 06:47:23 +00:00
itohy
10e7771b7d - RATOC System Inc. uses the same product ID for many different cards,
so do not define product ID for REX-R280.  Use CIS instead.
- Add definition for REX-9530 and REX-CFU1.
- White space police.
2003-12-28 06:46:23 +00:00
christos
1b57662119 make the printf statements on chip_io_map complete lines. 2003-12-28 01:21:37 +00:00
christos
de8661ee74 Don't print an empty "wi0:\n" line. Join a couple of lines. 2003-12-27 23:57:24 +00:00
shin
88d334ff8f Add MobilePro 880 (MC/R730A) to hpcbatterytable.h.
Addresses PR/23651.
2003-12-27 07:27:22 +00:00
nonaka
916ad8c80e Added corega WLCFL-11 entry. 2003-12-25 17:34:09 +00:00
nonaka
0198828c00 regen. 2003-12-25 17:33:22 +00:00
nonaka
eb9d2e0742 Added "corega WLCFL-11" CF size wireless LAN card. 2003-12-25 17:32:54 +00:00
tron
3b56a667e6 Support i82845G/GL based motherboards without an Integrated Graphics
Device. Patch supplied by Nicolas Joly in PR kern/23860.
2003-12-23 19:56:58 +00:00
martin
d11a3aeebb Only ACK pending interrupts (instead of all possible). Log interrupts we
probably should have handled but didn't. Minor cleanup.
2003-12-23 13:46:18 +00:00
pk
041503b9d5 xycattach: use correct map in vme_dmamap_create(). 2003-12-23 13:15:18 +00:00
pk
d1c155d15c Some older devices do not understand the `disable block descriptors' bit in
the mode sense request. So fall back on mode sense data including a block
descriptor section.

XXX this applies to the `page 4' case. The `page 5' didn't consider the
possible presence of a block descriptor at all, though it did allow the
device to return one.  While that's fixed now, the `page 5' mode sense
does not use the `disable block descriptors' bit.

I'm not sure we should bother with this at all..
2003-12-23 13:12:25 +00:00
sekiya
5c3f47767d Regen. 2003-12-22 10:29:41 +00:00
sekiya
4e9f2db432 Add MELCO LUA-U2-KTX 10/100 USB network interface IDs. Uses uax driver. 2003-12-22 10:27:51 +00:00
oster
cdbecad002 (Although I want this code to Go Away, I might as well fix this bug for completeness)
If we don't have enough memory to allocate the pda freelist, make sure to
cleanup the asm freelist.
2003-12-21 19:36:31 +00:00
oster
ad00b9c9b0 Since the 5th arg of pool_init() wasn't actually the number
of items with which to prime the pool, we now prime each
pool using pool_prime().
2003-12-21 15:56:20 +00:00
kochi
392db58804 correct handling of _SI.SST method as it is described in ACPI spec. 2003-12-21 10:27:23 +00:00
simonb
740725d725 Fix usage of fifth argument to pool_init(). 2003-12-21 07:53:58 +00:00
kochi
503ef186e1 Make ACPI interpreter a bit permissive:
* emulate ReturnOp where expected but not existing
     (which is found in some buggy firmwares)
from FreeBSD's local changes
2003-12-21 07:53:57 +00:00
kochi
2bd0af644b Give up unresponding hardware when entering sleep state.
from FreeBSD's local changes.
2003-12-21 07:51:18 +00:00
kochi
d4eea31ad8 Make ACPI interpreter a bit permissive:
* allow access beyond limit of a region
     (which is found in some buggy firmwares)
from FreeBSD's local changes
2003-12-21 07:50:26 +00:00
lha
56a919527c add more fields to ata_smart_attr, add structures for selftest log 2003-12-20 19:53:54 +00:00
lha
b8fd6b90c7 add SMART Read Log constant 2003-12-20 19:45:52 +00:00
jdolecek
0eb4701e8f don't enumerate individual minor number cases in mmioctl(), handle all
as single 'default' case
adresses part of port-arm/23581 by Richard Earnshaw
2003-12-20 16:22:14 +00:00
tsutsui
4664ac3ea2 - Add /* CONSTCOND */ where appropriate.
- Use SFBWRITE32() in recently added sfb_screenblank() too.
2003-12-20 09:17:28 +00:00
nisimura
8dc9a144ab - Minor coding modifications for VDAC register access.
- De-__P() this time.
Tested valid with 4MAXINE.
2003-12-20 07:10:00 +00:00
nisimura
d2164550f9 - Use volatile designations for memory writes to prevent compiler
change fallouts.
- De-__P() this time.
Tested valid with DEC3000/300 and 4MAXINE.
2003-12-20 06:41:14 +00:00
thorpej
cbec492f32 Fix a typo. 2003-12-20 06:26:47 +00:00
thorpej
98d14a3f5f Add support for the Silicon Image 3114 SATALink 4-port SATA controller. 2003-12-20 03:51:27 +00:00
thorpej
37b4ae0b5d Regen: Add product ID for the SiI 3124 SATALink. 2003-12-20 03:35:00 +00:00
thorpej
ceaa3fe9f5 Add product ID for the SiI 3124 SATALink. 2003-12-20 03:34:19 +00:00
thorpej
b5a6099c59 While legacy PCI IDE controllers have only 2 channels, it is quite common
for modern PCI SATA controllers to have more.  Define a new PCIIDE_MAX_CHANNELS
which to specify the maximum number of channels we support, and use it to
allocate channel resources.
2003-12-19 19:29:10 +00:00
thorpej
f6aaf54d60 Some controllers must have certain bits always be set in the IDEDMA_CMD
register for proper operation.  Add a prototype field in the pciide_channel
for this register and use it as necessary when writing the IDEDMA_CMD
register.
2003-12-19 19:09:20 +00:00
christos
778502d669 More unsigned long casts to make this work on ppc. Fix formatting of debug
statements to 0x when there are hex numbers printed.
2003-12-19 19:00:00 +00:00
christos
0ad7f14d46 PR/23802: KIYOHARA Takashi: Bad printf format with CBB_DEBUG. While I am
there, make all printfs consistent 0x%lx and (unsigned long) cast.
2003-12-19 18:16:43 +00:00
thorpej
f94de27bbd Const poison the channel name. 2003-12-19 05:55:12 +00:00
thorpej
deed3938a2 Move the PCIIDE_OPTIONS_* constants into pciidevar.h 2003-12-19 05:16:57 +00:00
thorpej
07ba04af94 Regen: Add product ID for the Silicon Image 3114 SATALink. 2003-12-19 03:43:07 +00:00
thorpej
d6decc84cb Add product ID for the Silicon Image 3114 SATALink. 2003-12-19 03:41:21 +00:00
thorpej
df5956af24 Use a register map to find the offsets of various per-channel
registers in the BA5 space.
2003-12-19 03:33:52 +00:00
thorpej
52f06d7766 If we're running on a Connectix Virtual PC, we might get a packet longer
than a max size Ethernet frame without getting a frame-too-long error.  VPC
seems to be adding 4 zeros at the end of every frame.  Detect this condition
and simply truncate the packet to a max size Ethernet frame.

I now have no problems with networking on NetBSD inside Virtual PC 6.
2003-12-18 18:39:36 +00:00
thorpej
376fccb2a5 Add BA5 space tag/handles for Silicon Image SATALink. 2003-12-17 21:08:29 +00:00
thorpej
d6d47a7224 Some additional SATA-II registers. 2003-12-17 16:16:36 +00:00
tls
0c041019a4 Add support for some more Marvell-based adapters to the sk driver:
D-Link DGE-530T
	Linksys EG1032v2
	Linksys EG1064v2

The Linux driver treats all of these the same.  Tested with a DGE-530T;
it works, though performance on at least one of my systems is atrocious.

Fix setting of ethernet capabilities into interface capabilites word in
attach routine.

Manual page: note that jumbo support doesn't work and checksum support
doesn't exist.
2003-12-17 09:17:07 +00:00
ad
35a755ce3a - Restore the display to a sane state when leaving mapped mode.
- OR updates into sc_changed, and protect with spltty()/splx().
2003-12-17 03:59:32 +00:00
dyoung
59eb8ab913 Synchronize with FreeBSD:
* add constants to enums

 * HAL update: stops panics, fixes ad hoc-mode beacons, some API
   changes

 * get and use mac/phy/rf front-end revision codes

 * add a custom ath(4) ic_node_getrssi callback which does RSSI
   averaging

 * do not immediately scan, but re-associate after missing beacons.

 * bug fix: don't if_init after detach.

 * HAL diagnostics ioctl, SIOCGATHDIAG

 * send DS parameters element in beacons

 * const-ify some pointers

 * consolidate rx-filter settings into ath_calcrxfilter

 * abstract FreeBSD `ticks', NetBSD `hardclock_ticks' with ATH_TICKS()

 * misc. other changes
2003-12-16 06:48:08 +00:00
tsutsui
b386fab8f8 Use aprint_debug() instead of aprint_normal() for debug info. 2003-12-15 15:13:55 +00:00
jmc
43bf89bfc6 Fixes from PR#23177. Various lint/logic fixes:
Fix some non-initialized variables
close the output files when done
Redo the printing for RCS strings so they don't expand in the awk script too
Do proper tests for variables existance before accessing

Verified output from all scripts is identical to original versions
2003-12-15 07:32:20 +00:00
thorpej
1534ca51d1 Remove the notice that was in cmdide.c before SATALink support was split
out.  All of the code in this file was written by me.
2003-12-15 00:37:38 +00:00