Commit Graph

3413 Commits

Author SHA1 Message Date
enami
3144acc341 Now wdcattach() is called interrupts enabled, config_interrupts() tries to
call ata_raid_check_component() immediately, and panics since DMA setup
isn't done yet.  So, defer the call until attach stage is almost done.
Tested with Promise TX2000.
2003-09-20 02:19:36 +00:00
dyoung
28fe486c9f Allow channels 1-14 in MMK2, for real. Fixes PR 22530 from
FUKAUMI Naoki.
2003-09-20 01:03:30 +00:00
mycroft
d40837608f 1) Use config_interrupts() to attach IDE and ATAPI drives. This eliminates
most polling.
2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path
   (it's gratuitous) and simplify the code by calling pciide_map_compat_intr(),
   *_set_modes() and wdc_print_modes() from central locations.
3) Add a register writability and register ghost test to eliminate phantom
   drives more quickly.
2003-09-19 21:35:56 +00:00
mycroft
9fa456e7b6 nluns should be 8, not 7. 2003-09-18 01:33:58 +00:00
drochner
b2a29ce0a3 typo in comment 2003-09-17 11:56:19 +00:00
junyoung
cc5534f795 Remove duplicate lines. 2003-09-14 13:01:40 +00:00
mycroft
ec14ab4b89 The Ricoh power hackery is not reliable -- many cards just do not have the
voltage sense wired.  So, disable it and force the card to 5V by default.
Also, recode the hack to use the "direct Vcc" feature of the chip, letting
it manage the voltage directly, as this is supported on both the 296 and
396.
2003-09-12 22:09:04 +00:00
jmmv
16091f0f1c After initialization of the AD1980 codec, swap master and surround volume
controls.  As it was before, the master volume control in all mixer programs
did nothing.  It seems that this codec is not correctly wired in (almost?)
all motherboards.

Patch by Quentin Garnier.  Fixes first part of PR kern/22548.
2003-09-11 09:21:29 +00:00
uwe
f03574d68b G/c cs4231_round_buffersize and cs4231_round_blocksize. The round_*
mehtods are DMA-specific, so don't belong here in the first place.
SBus and EBus glue already changed to do the right thing.
2003-09-10 11:53:53 +00:00
uwe
725f80b71c Define APC DMA registers as offsets for bus space ops, so that we can
avoid linear mapping.  Actually, cs4231_sbus.c is already converted to
not use linear mapping of DMA registers, but it uses quick and
disgusting hack.
2003-09-10 11:37:13 +00:00
kent
941d061f07 Correct flag names of AD1980 2003-09-08 13:58:21 +00:00
kent
d10ee65a85 Codec id ADS 0x70 is AD1980, not AD1981.
http://mail-index.netbsd.org/tech-kern/2003/09/03/0005.html
2003-09-07 11:59:39 +00:00
kent
98f4ce5fd6 Use bitmask_snprintf() for printing ext id features. 2003-09-07 11:27:32 +00:00
tsutsui
71427b1eb1 Handle SROM quirk of tulip on Cobalt RAQ2. Fixes kern/20702. 2003-09-07 10:45:11 +00:00
isaki
515af69254 Delete strange ifdef x68k.
Requested by tsutsui@
2003-09-07 05:26:30 +00:00
isaki
bd7195dece Remove an advertising clause. 2003-09-07 04:24:05 +00:00
itojun
891811de60 add DIAGNOSTIC check for AN_DEFAULT_xx 2003-09-05 05:38:44 +00:00
mycroft
a9e1f75ec7 Several changes to eliminate bogus controllers and sockets from being found:
PCIC_VENDOR_NONE: New.
PCIC_VENDOR_CIRRUS_*: Collapse the 2 chips into one vendor ID.

pcic_ident_ok(): Check the ID revision field -- if it's 0, punt.

pcic_vendor(): Check the ID revision field -- if it's 0, or the ID register
is all-1s, assume there is no chip present.  (Previously this would return
"Unknown controller" -- which, AFAICT, *never* resulted in a working device.)
Do the Cirrus check only after verifying that we got the Intel ID.

pcic_attach(): Use a priori knowledge of the Cirrus chips to determine the
number of sockets rather than trying (unsuccessfully) to probe.  Also, just
blast all of PCIC_INTR -- we do this in pcic_deactivate_card() anyway.
2003-09-05 01:02:51 +00:00
simonb
553d2b901f Add missing semicolon. 2003-09-03 13:05:50 +00:00
mycroft
3713dfb05b Fix another place where we blasted PCIC_INTR_ENABLE. 2003-09-03 01:33:23 +00:00
mycroft
55ff1b2294 If the frontend passes in sc->irq=0, set PCIC_INTR_ENABLE. Also, don't clear
that bit all over the bloody place
2003-09-02 22:44:08 +00:00
fvdl
4458cfede6 * Make the ahc and ahd probes more alike.
* Remove some redundant code.
* ahd: Don't initiate negotiation for a discovery xs when the negotiation goal
  is set. Just looking at the auto_negotiate mask is enough, and it can
  cause an endless loop if the request gets requeued (happens with a
  of a PPR negotiation, which ends with a busfree).
2003-09-02 21:02:56 +00:00
christos
b7510d87e5 fix debugging printfs 2003-09-01 16:44:03 +00:00
uwe
f7c1e9b8e5 Comment change only, the ioctl is WSDISPLAYIO_PUTCMAP, not ..._SETCMAP.
The function is called igsfb_set_cmap() to follow the get/set/update
naming convention.
2003-08-31 14:41:15 +00:00
thorpej
a228727423 Apply the following change from 06/28/2003 04:46:54 by gibbs to the
FreeBSD ahd driver:

Fix a race condition in the flushing of commands that
have completed across the bus but not to the host before
processing of an exception condition (busfree, bus reset,
etc.).  When flushing the controller of completed commands,
we also look for packetized commands that have completed
with good status and are stored in the "good status fifo".
The hardware will post to the good status fifo even if
data for that command is still active in a FIFO.  In
one particular failure case, a command outstanding on the
bus reconnected, transferred data into a FIFO, and provided
good status while the host driver was processing an expected
busfree event (PPR message negotiation).  This resulted in
an entry in the good status fifo that we completed, but
since the sequencer was paused, the data in the data FIFO
for this command had never been transferred to the host.
Once the busfree processing was complete, the sequencer
was unpaused, and the data completed its transfer to the
host.  In some instances, the client for the data was notified
of the completion and attempted to view the data before
it arrived.  This case only occurred during FreeBSD's
multi-target probe of the SCSI bus while some devices are
negotiating to go packetized and some devices are already
running in packetized.

The fix is to run and FIFOs active with a context in the
good status fifo to completion before completing the command
to the SCSI layer.  This requies duplicating the FIFO rundown
operations in the host driver that would usually be handled
by the firmware, but there is no other alternative.

Don't blindly shutdown the SCB dma engine when restarting
the sequencer.  We may be killing an operation that is
not supposed to be cancelled.  The cases where we need to
shutdown these dma engines are already handled elsewhere in
the driver.

Fix a few more ahd_in?() -> ahd_in?_scbram() instances.
2003-08-29 05:50:42 +00:00
thorpej
efefe51428 Apply the following change from 06/28/2003 04:43:19 by gibbs to the
FreeBSD ahd driver:

Implement ahd_inq_scbram() and change the implemention
of ahd_inl_scbram to use ahd_inw_scbram instead of
ahd_inb_scbram().
2003-08-29 05:48:39 +00:00
thorpej
478ae1fc6e Apply the following change from 06/28/2003 04:45:25 by gibbs to the
FreeBSD ahd driver:

aic79xx.h:
	Add softc flag to indicate that we have seen at
	least one selection since the last bus reset or
	SE/LVD bus change.

aic79xx.c:
	Fix a few style nits.

	In ahd_update_pending_scbs(), only touch card registers
	once we have found an SCB that needs to be updated.
	This removes lots of clutter from PCI traces taken of
	error recovery performed by the driver.

	Short circuit the first selection iocell workaround handler
	if we've run once since the last bus reset or iocell change.
	This also removes clutter from PCI traces.

	Note if completions are pending in the qoutfifo when we dump
	card state.
2003-08-29 04:50:00 +00:00
thorpej
56ebfcc6d5 Apply the following change from 06/28/2003 04:42:11 by gibbs to the
FreeBSD ahd driver:

Correct a typo in a comment.

Add a comment in ahd_clear_critical_sections() about
our need to leave ENBUSFREE set in SIMODE1 while single
stepping.

Re-arrange some delay loops so that we always perform
a read after any register write and before the delay.
This should make the delay loop more accurate.

When completing message processing for a packetized
commention, return the controller to a state where
invalid non-packetized phases will still cause protocol
violations.  These are the same operations as those
performed in the clear_target_state routine in the
firmware.

Now that we have a chip with working ABORTPENDING
support (the 7901B), comment out the automatic use
of this feature until we can adequately test it.
The previous checkin updated the bug mask for the
7901B so this code was exercised.

When resetting the bus, perform an ahd_flush_device_writes()
call so that our reset assertion delay is acurately
timed from when the reset bit is written to the controller.
2003-08-29 04:38:07 +00:00
thorpej
7dbbf20851 Apply the following change from 06/28/2003 04:39:49 by gibbs to the
FreeBSD ahd driver:

aic79xx.h:
        Add a 7901A specific feature definition.

aic79xx_pci.c:
        Split out the general aic790X setup into it's own
        setup handler that works on single and dual controllers.
        Adjust all other PCI setup handlers to initialize the
        chips basic features and type before calling the generic
        handler.

        Turn off a few Rev B workarounds that are not required
        on the 7901B.
2003-08-29 04:17:39 +00:00
thorpej
3c41dc5921 Apply the following change from 07-23-2003 22:06:34 by gibbs to the
FreeBSD ahd driver:

Add parenthesis so that we get all of the bits all
of the contents of the CCSCBCTL register into our
local varaible.  The other bits are used in later tests.
This avoids a potential deadlock in ahd_run_qoutfifo()
if we happen to catch the DMA engine in just the right
state.
2003-08-29 04:03:09 +00:00
thorpej
c658309f7e Apply the following change from 07/06/2003 23:53:39 by gibbs to the
FreeBSD ahd driver:

When single stepping, only leave ENBUSFREE enabled
if it was already enabled.  We don't want to set it
when it shouldn't be set, we just don't want to
inadvertantly turn it off.  This should fix a recent
report of the aic7xxx driver repeatedly complaining of
"unexpected busfree while idle" in one configuration.
2003-08-29 04:00:35 +00:00
thorpej
720b377380 Apply the following change made 06/06/2003 23:51:13 by gibbs to the
FreeBSD ahd driver:

Work around SCSI spec violation by the Quantum Atlas 10K.
This drive delays going async after receiving a WDTR
message.  We now send an SDTR message after a WDTR even
if our goal is to go async.  This should work even for
confused devices.

If we get an unexpected busfree when attempting a WDTR
or SDTR, only set the goal negotiation parameters we were
trying to negotiate to off.  This means that should a WDTR
message fail, we will still try an SDTR if our goal is
non-async.

Fix a few more places where we were looking at goal.period
instead of goal.offset for determining if we should be
negotiating sync.  This should not have any impact on
our behavior, but the offset is more definitive and should
be used.
2003-08-29 03:41:28 +00:00
thorpej
6336835ec0 Apply the following change from 05/30/2003 02:14:22 made by scottl to the
FreeBSD ahd driver:

Fix a reported case of severe data corruption:

aic79xx.h:
aic79xx.reg:
        Return the SCB_TAG field to 16byte alignment.
        It seems that on some PCI systems, SCBs are not
        transferred correctly to the controller with
        the previous placement of the SCB_TAG field.

Approved by:    re (rwatson)
2003-08-29 03:17:14 +00:00
isaki
05e2e8b5b9 Delete unnecessary #ifndef for x68k.
approved by tsutsui@
2003-08-29 02:45:57 +00:00
thorpej
34f28afa21 Apply the following change from 6/6/2003 23:48:18 by gibbs to the
FreeBSD ahd driver:

aic7770.c:
aic79xx.c:
aic79xx.h:
aic79xx_pci.c:
aic7xxx.c:
aic7xxx.h:
aic7xxx_pci.c:
	Switch ah?_reset() to take an additional "reinit" argument.
	Use this instead of init_level to determin if the chip
	should be fully reinitialized after a chip reset.  This
	is required so that ah?_shutdown() can reset the chip
	without side-effects.
2003-08-29 02:38:58 +00:00
thorpej
e05d84a35a Update FreeBSD RCS ID for last. 2003-08-29 02:18:16 +00:00
thorpej
88ac7e4d52 Apply the following change from 5/30/2003 02:15:15 made by scottl to the
FreeBSD ahd driver:

aic79xx.c:
	Use the special LUNLEN_SINGLE_LEVEL constant for
	post Rev A4 hardware for single byte luns.  Without
	this change, Rev B hardware would place the single
	byte of lun data in byte 0 of the lun structure when
	it should be in byte 1.  Since there are few if any
	devices on the market that support multiple luns in
	target mode, the corrupted lun field (which was only
	corrupted for non-zero luns) wasn't hurting us.

Approved by: re	(rwatson)
2003-08-29 01:58:32 +00:00
thorpej
d8ede84c0f Apply the following change made on 5/26/2003 21:43:29 by gibbs to the
FreeBSD ahd driver:

aic79xx.c:
aic79xx_osm.h:
aic7xxx_osm.h:
	Explicitly define functions that take no arguments
	with "(void)"

Approved by: RE
2003-08-29 01:37:11 +00:00
thorpej
3dd1bba4c4 Apply the following change made on 5/26/2003 21:26:51 by gibbs to the
FreeBSD ahd driver:

Correct/Simplify ignore wide residue message handling

aic79xx.c:
	In ahd_handle_ign_wide_residue():
	o Use SCB_XFERLEN_ODD SCB field to determine transfer
	  "oddness" rather than the DATA_COUNT_ODD logic.
	  SCB_XFERLEN_ODD is toggled on every ignore wide
	  residue message so that multiple ignore wide residue
	  messages for the same transaction are properly supported.
	o If the sg list has been exausted, the sequencer
	  doesn't bother to update the residual data count
	  since it is known to be zero.  Perform the zeroing
	  manually before calculating the remaining data count.
	o Use multibyte in/out macros instead of shifting/masking
	  by hand.

aic79xx_inline.h:
	In ahd_setup_scb_common(), setup the SCB_XFERLEN_ODD field.

aic79xx.reg:
	Use the SCB_TASK_ATTRIBUTE field as a bit field in the
	non-packetized case.  We currently only define one bit,
	SCB_XFERLEN_ODD.

	Remove the ODD_SEG bit field that was used to carry the odd
	transfer length information through the SG cache.  This
	is obviated by SCB_XFERLEN_ODD field.

	Remove the DATA_COUNT_ODD scratch ram byte that was used
	dynamicaly compute data transfer oddness.  This is obviated
	by SCB_XFERLEN_ODD field.

aic79xx.seq:
	Remove all updates to the DATA_COUNT_ODD scratch ram field.
	Remove all uses of ODD_SEG.  These two save quite a few
	sequencer instructions.

	Use SCB_XFERLEN_ODD to validate the end of transfer
	ignore wide residue message case.
2003-08-29 01:28:51 +00:00
thorpej
1109945598 Apply the following change made 5/26/2003 21:18:48 by gibbs to the
FreeBSD ahd driver:

Change hadling of the Rev. A packetized lun output bug
to be more efficient by having the sequencer copy the
single byte of valid lun data into the long lun field.

aic79xx.c:
	Memset our hardware SCB to 0 so that untouched
	fields don't confuse diagnostic output.  With the
	old method for handling the Rev A bug, if the long
	lun field was not 0, this could result in bogus
	lun information being sent to drives.

	Use the same SCB transfer size for all chip types
	now that the long lun is not DMA'ed to the chip.

aic79xx.seq:
	Add code to copy lun information for Rev.A hardware.

aic79xx_inline.h:
	Remove host update of the long_lun field on every
	packetized command.
2003-08-29 00:46:05 +00:00
thorpej
e88c8722b7 Apply the following change checked in 2003/05/04 00:20:07 by gibbs
to the FreeBSD ahd driver:

Correct spelling errors.

Switch to handling bad SCSI status as a sequencer interrupt
instead of having the kernel proccess these failures via
the completion queue.  This is done because:

 o The old scheme required us to pause the sequencer and clear
   critical sections for each SCB.  It seems that these pause
   actions, if coincident with a sequencer FIFO interrupt, would
   result in a FIFO interrupt getting lost or directing to the
   wrong FIFO.  This caused hangs when the driver was stressed
   under high "queue full" loads.
 o The completion code assumed that it was always called with
   the sequencer running.  This may not be the case in timeout
   processing where completions occur manually via
   ahd_pause_and_flushwork().
 o With this scheme, the extra expense of clearing critical
   sections is avoided since the sequencer will only self pause
   once all pending selections have cleared and it is not in
   a critical section.

  aic79xx.c
        Add code to handle the new BAD_SCB_STATUS sequencer
        interrupt code.  This just redirects the SCB through
        the already existing ahd_complete_scb() code path.
        Remove code in ahd_handle_scsi_status() that paused
        the sequencer, made sure that no selections where
        pending, and cleared critical sections.  Bad
        status SCBs are now only processed when all of these
        conditions are true.

  aic79xx.reg:
        Add the BAD_SCB_STATUS sequencer interrupt code.

  aic79xx.seq:
        When completing an SCB upload to the host, if
        we are doing this because the SCB contains non-zero
        SCSI status, defer completing the SCB until there
        are no pending selection events.  When completing
        these SCBs, use the new BAD_SCB_STATUS sequencer
        interrupt.  For all other uploaded SCBs (currently
        only for underruns), the SCB is completed via the
        normal done queue.  Additionally, keep the SCB that
        is currently being uploaded on the COMPLETE_DMA_SCB
        list until the dma is completed, not just until the
        DMA is started.  This ensures that the DMA is restarted
        properly should the host disable the DMA transfer for
        some reason.

        In our RevA workaround for Maxtor drives, guard against
        the host pausing us while trying to pause I/O until the
        first data-valid REQ by clearing the current snapshot
        so that we can tell if the transfer has completed prior
        to us noticing the REQINIT status.

        In cfg4data_intr, shave off an instruction before getting
        the data path running by adding an entrypoint to the
        overrun handler to also increment the FIFO use count.

        In the overrun handler, be sure to clear our LONGJMP
        address in both exit paths.

Perform a few sequencer optimizations.

  aic79xx.c:
        Print the full path from the SCB when a packetized
        status overrun occurs.

        Remove references to LONGJMP_SCB which is being
        removed from firmware usage.

        Print the new SCB_FIFO_USE_COUNT field in the
        per-SCB section of ahd_dump_card_state().  The
        SCB_TAG field is now re-used by the sequencer,
        so it no longer makes sense to reference this
        field in the kernel driver.

  aic79xx.h:
        Re-arrange fields in the hardware SCB from largest
        size type to smallest.  This makes it easier to
        move fields without changing field alignment.

        The hardware scb tag field is now down near the
        "spare" portion of the SCB to facilitate reuse
        by the sequencer.

  aic79xx.reg:
        Remove LONGJMP_ADDR.

        Rearrange SCB fields to match aic79xx.h.
        Add SCB_FIFO_USE_COUNT as the first byte
        of the SCB_TAG field.

  aic79xx.seq:
        Add a per-SCB "Fifos in use count" field and use
        it to determine when it is safe (all data posted)
        to deliver status back to the host.  The old method
        involved polling one or both FIFOs to verify that
        the current task did not have pending data.  This
        makes running down the GSFIFO very cheap, so we
        will empty the GSFIFO in one idle loop pass in
        all cases.

        Use this simplification of the completion process
        to prune down the data FIFO teardown sequencer for
        packetized transfers.  Much more code is now shared
        between the data residual and transfer complete cases.

        Correct some issues in the packetized status handler.
        It used to be possible to CLRCHN our FIFO before status
        had fully transferred to the host.  We also failed to
        handle NONPACKREQ phases that could occur should a CRC
        error occur during transmission of the status data packet.

Correct a few big endian issues:

  aic79xx.c:
  aic79xx_inline.h:
  aic79xx_pci.c:
  aic79xx_osm.c:
        o Always get the SCB's tag via the SCB_GET_TAG acccessor
        o Add missing use of byte swapping macros when touching
          hscb fields.
        o Don't double swap SEEPROM data when it is printed.
          Correct a big-endian bug.  We cannot assign a
        o When assigning a 32bit LE variable to a 64bit LE
          variable, we must be explict about how the words
          of the 64bit LE variable are initialized.  Cast to
          (uint32_t*) to do this.

aic79xx.c:
        In ahd_clear_critical_section(), hit CRLSCSIINT
        after restoring the interrupt masks to avoid what
        appears to be a glitch on SCSIINT.  Any real SCSIINT
        status will be persistent and will immidiately
        reset SCSIINT.  This clear should only get rid of
        spurious SCSIINTs.

        This glitch was the cause of the "Unexpected PKT busfree"
        status that occurred under high queue full loads

        Call ahd_fini_scbdata() after shutdown so that
        any ahd_chip_init() routine that might access
        SCB data will not access free'd memory.

        Reset the bus on an IOERR since the chip doesn't
        seem to reset to the new voltage level without
        this.
        Change offset calculation for scatter gather maps
        so that the calculation is correct if an integral
        multiple of sg lists does not fit in the allocation
        size.

        Adjust bus dma tag for data buffers based on 39BIT
        addressing flag in our softc.

        Use the QFREEZE count to simplify ahd_pause_and_flushworkd().
        We can thus rely on the sequencer eventually clearing ENSELO.

        In ahd_abort_scbs(), fix a bug that could potentially
        corrupt sequencer state.  The saved SCB was being
        restored in the SCSI mode instead of the saved mode.
        It turns out that the SCB did not need to be saved at all
        as the scbptr is already restored by all subroutines
        called during this function that modify that register.

aic79xx.c:
aic79xx.h:
aic79xx_pci.c:
        Add support for parsing the seeprom vital product
        data.  The VPD data are currently unused.

aic79xx.h:
aic79xx.seq:
aic79xx_pci.c:
        Add a firmware workaround to make the LED blink
        brighter during packetized operations on the H2A.

aic79xx_inline.h:
        The host does not use timer interrupts, so don't
        gate our decision on whether or not to unpause
        the sequencer on whether or not a timer interrupt
        is pending.
2003-08-29 00:09:59 +00:00
thorpej
f3552c7ce0 Make sure we consistently report DT when sending an xfer mode async event. 2003-08-28 22:16:01 +00:00
chs
f217b85c1f make this build with GEM_DEBUG. fix rxhist counters. 2003-08-24 18:07:03 +00:00
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
mjacob
190eaf015f Various updates to sync with mainline code. Nothing of great significance
to NetBSD, yet.
2003-08-07 01:12:15 +00:00
mjacob
cef319e0b4 Note both active and nvram WWNN/WWPNs
Fix the bug where the thread worker constantly looped. It was a race as
to whether or not the thread fired up or a polled/probed command happened
first, or maybe it's due to other scsipi changes, but we never set the
value that caused the fc thread worker to actually go to sleep until an
initial loop up.

This was rather ugly as it consumed nearly all CPU time available from thence
on. Bad.
2003-08-07 01:10:53 +00:00
mjacob
a1c1589fcf Clean out the 'fw' variable part of a CTIO2- the f/w doesn't actually
pass us back anything interesting here.
2003-08-07 01:09:02 +00:00
mjacob
03782491e6 Update from mainline: add ISP_NO_ZIO option. constify a few items.
LINT/ProPolice fixes from OpenBSD.

In isp_reinit, clear the port database.
2003-08-07 01:08:10 +00:00
bouyer
3200934182 Remove unused esiop_scsicmd() prototype. 2003-08-04 19:50:11 +00:00
tsutsui
afa4f85c01 TAB/space cosmetics 2003-08-02 12:48:09 +00:00
scw
5aa077f5cf In fxp_intr(), bail early without touching any registers if sc_enabled is
zero, otherwise we could cause PCI master aborts if the card is in D3 power
state and we happen to share a PCI interrupt line with some other device.
2003-08-01 14:54:12 +00:00
tsutsui
1a4743265a - Add hooks for MD DMA transfers.
- Prepare ADAPTER_REQ_SET_XFER_MODE function.
  (currently sync xfer is not supported)
2003-08-01 00:38:38 +00:00
tsutsui
fddebe9b9c There is a report that x68k SCSI no longer works after the previous changes.
It seems x68k SPC SCSI has several hardware quirks, so add some (a bit ugly)
#ifdefs for workaround.  (XXX - needs revisiting)
2003-07-27 03:51:28 +00:00
thorpej
ee0f53cd8c Make this work on systems where bus_dmamap_sync() is not a noop.
In particular, when doing the "swap hscbs" trick, the scb must
reference the correct hscb_map when it gets a new hscb, otherwise
when you go to sync an hscb later, you could end up using the wrong
dmamap.

In order to make this work, we have to convert the shared_data stuff
to use a map_node, because of the "sentinel" trick played with the
initial "next_hscb".

This driver now works on XScale-based platforms.
2003-07-26 06:15:57 +00:00
pk
9957c167e0 Print more diagnostic info on the occassions `unexpected disconnect' and
`invalid state'.
2003-07-25 06:40:29 +00:00
lukem
365cbd9428 add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
drochner
037daa02c2 fixed botched prototype,
while being here clean up whitespace
2003-07-11 10:15:56 +00:00
itojun
7f6ed16ef4 function prototype must not have variable name 2003-07-08 10:06:28 +00:00
dyoung
a036b1536b Oops. Add the atw(4) sources, too. 2003-07-06 22:57:23 +00:00
dyoung
6e3daf0a07 Still more consolidation of 802.11 media-handling, moving moving
common code from awi and wi into the 802.11 framework. Inspired by
Sam Leffler's patches to FreeBSD.
2003-07-06 20:01:17 +00:00
jdolecek
486593e9b9 actually do gather some randomness (if it's enabled)
modelled after what elink3.c does
2003-07-06 09:12:59 +00:00
dyoung
030634087a Prepare to consolidate 802.11 media handling (which is handled in
code duplicated by each driver, now) into the 802.11 framework.
2003-07-06 07:54:43 +00:00
dyoung
2c1f7efe46 Improved RSSI->dBm conversion, especially for Lucent cards, for
which I borrowed some conversion constants from the Linux orinoco_cs
driver.
2003-07-06 07:15:55 +00:00
tsutsui
c42dcc7de8 More misc fixes for forthcoming hp300 MI SCSI support:
- Don't use SCMD_XFR command in message-in phase and status phase.
   It causes unexpected hangs on heavy load. Instead transfer data
   manually via TEMP register by SCMD_SET_ACK and SCMD_RST_ACK.
 - Don't set SCMD_ICPT_XFR in spc_dataout_pio() and spc_msgout().
 - Rewrite spc_datain_pio() to handle FIFO more properly.
2003-07-05 19:50:17 +00:00
tsutsui
e30199e1ff Misc cleanup:
- disable debug code by default
 - use MI minphys()
 - add proper delay in spc_find()
 - initialize TMOD register in spc_reset()
 - wrap a sanity check with #ifdef DIAGNOSTIC (sync with aic6360.c)
 - no need to set LUN bits in SCSI command which should be done in mid-layer
 - set proper resid even in error case
 - fix/remove some bogus comments
2003-07-05 19:31:11 +00:00
tsutsui
cfa57f87aa Use bus_space_{read,write}_multi_1() for PIO data transfers. 2003-07-05 19:04:48 +00:00
tsutsui
6615ddefa9 Rename some MI mb89352 functions for consistency:
spcintr() -> spc_intr()
 spcattach() -> spc_attach()
2003-07-05 19:00:16 +00:00
tsutsui
443eeab7de Some cosmetics:
- Remove useless macro.
 - Remove ^L characters.
 - KNF a comment.
2003-07-05 18:56:55 +00:00
drochner
71bedfd458 Avoid an obscure gcc3 complaint about
"dereferencing type-punned pointer" by a cast to "void *".
I don't completely understand the warning, but it helps.
2003-07-03 11:12:32 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
jdolecek
83872500d3 cosmetic - make sc_supmedia of struct lance_softc const 2003-06-29 14:42:58 +00:00
simonb
7aa3dc6d45 Restore parentheses around return value that were removed with the
previous commit.
2003-06-29 14:09:21 +00:00
itojun
0778967b85 lwp change lossage 2003-06-29 12:36:35 +00:00
darrenr
c372874b88 More changes for providing lwpid for ktrace (sparc GENERIC built) 2003-06-29 09:56:28 +00:00
thorpej
1966c13215 Correct the R-W'ness of GDT_IOCTL_DRVERS and GDT_IOCTL_CTRTYPE.
From Achim Leubner @ ICP.
2003-06-29 01:28:23 +00:00
darrenr
960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
uwe
c173e7908e Only install accelerated rasops for CyberPro, we don't know yet how to
access the coprocessor on 1682 in Krups.
2003-06-24 00:13:29 +00:00
martin
d505b18964 Make sure to include opt_foo.h if a defflag option FOO is used. 2003-06-23 11:00:59 +00:00
bouyer
5b96ee4889 Make sure we pass the current state of the driver to scsipi_async_event(),
not the request from the mid-layer.
Fix kern/21893 from Anthony Mallet.
2003-06-19 20:11:14 +00:00
rh
f51b948f11 Add and enable monitoring mode for Lucent cards. 2003-06-19 06:16:36 +00:00
bsh
4b87783212 in cominit(), turn on UUE bit in IER register if it is PXA2x0's
built-in UART.
2003-06-18 04:35:23 +00:00
simonb
83619b47f3 Wrap some long lines. 2003-06-15 01:34:34 +00:00
thorpej
0eff671820 Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
2003-06-14 17:01:06 +00:00
thorpej
5ae120da7b Introduce a new "type" field in the softc which is used to indicate
the general UART type.  Currently, we have "normal", "hayesp" and
"pxa2x0" types.  Replace the corresponding hw flags with the new type
values.
2003-06-14 16:25:52 +00:00
thorpej
3178a4f415 Add support for dynamic rescan of cache service logical drives, using
the ioctl issued by the ICP RAID management libraries (used by the
storcon and iirconfig tools).  This requires some infrastructure changes:
* Add a "service callback" mechanism that the ld driver (cache service)
  and the iopsp driver (raw service) can register with the icp parent.
  Right now this callback allows the children to adjust their notion of
  how many command openings are available.
* Add a mutex around the icp ioctl handler, allowing only one thread
  to execute an ioctl at a time.
* Add a way to freeze the controller command queue.  We stop all I/O
  while processing rescans (due to the semantics of icp_cmd()).
* Make icp_cmd() work when !cold.
* Add detach support to ld@icp.
2003-06-13 05:57:30 +00:00
kent
f7f6440dff Add AD1981-specific initialization.
The patch provided by Lars Heideker.

PR: kern/20368
2003-06-13 05:31:29 +00:00
uwe
faa757d699 Request KBC_SELFTEST in pckbc_cnattach(), hidden under #ifdef
PCKBC_CNATTACH_SELFTEST.  On machines where we boot on cold iron
(e.g. netwinder) we need this to init the pckbc.
2003-06-12 03:34:12 +00:00
scw
146abc03d1 In ac97_restore_shadow(), make sure to restore the codec's extended
control register if we configured it during ac97_attach().
2003-06-11 14:22:27 +00:00
uwe
a7ed2dae3d Correct calculation of the blit src/dst for blits we do backwards. 2003-06-10 22:07:38 +00:00
grant
5d17facb78 wrap a debug message in #ifdef PCKBCDEBUG.
ok'd by simonb. fixes my PR kern/18441.
2003-06-10 07:46:29 +00:00
thorpej
47edad1115 Always queue transfers in the ld driver to prevent transient resource
shortages in the back-ends from aborting transfers.

Reviewed by ad@.
2003-06-07 23:37:24 +00:00
dogcow
b7da893283 Some models of the 556B don't turn on the transmitter without magic
values getting written. Fix from FreeBSD; cf sys/pci/if_xl.c, rev 1.110
2003-06-05 22:11:21 +00:00
scw
5eb709747b Add support, via a kernel config file option, for the 16550-compatible
com ports found on Intel PXA2x0 processors.

Re-arrange the code which detects the FIFO configuration to defer
printing until _after_ com_fifo is cleared. Some supposedly compatible
chips clear the Tx/Rx FIFOs when this happens, resulting in previous
output being lost.
2003-06-05 13:40:38 +00:00
petrov
7a41bf9cce Fix the previous patch of me. 2003-06-02 22:52:36 +00:00
gmcgarry
59720b5acd Register definitions for TMS 9914 GPIB controller. 2003-06-02 03:55:04 +00:00
gmcgarry
8cfea04139 Register definitions for NEC uPD7210 GPIB controller. 2003-06-02 03:54:31 +00:00
uwe
97e817d08e Implement accelerated text ops using graphic coprocessor. 2003-05-31 23:22:26 +00:00
dyoung
5bcf25f890 Picky cosmetic change: remove leading space. 2003-05-31 19:38:08 +00:00
uwe
70161de941 Correct coprocessor registers base.
Feh, manuals that lie...
2003-05-31 18:25:40 +00:00
uwe
a19b05b597 Oops, do not disable coprocessor in igsfb_init_ext. 2003-05-30 22:41:52 +00:00
yamt
b1286467f1 ip/tcp/udp checksum offloading support for i82550.
largely from FreeBSD.
2003-05-26 16:14:49 +00:00
yamt
b57a775a7d check and MCLAIM correct mbuf in fxp_copy_small path. 2003-05-25 15:10:23 +00:00
dyoung
55196426e6 Update to wi interrupt handling:
No longer require a hi-low-hi transition of a status bit before
  we believe it. It's a performance killer, and without it there
  does not seem to be a race.

  Sam Leffler reports that wi_intr needs to be bracketed by
  disable/enable interrupts through WI_INT_EN, or else performance
  is bad on Lucent. So now we do that.
2003-05-22 06:34:45 +00:00
dyoung
ba845eeeb3 Stop wi panics on card ejection in Powerbook in both the enabled
and disabled states. This should fix an x86 panic somebody reported
on icb.
2003-05-20 01:29:35 +00:00
tsutsui
09d1921299 Misc cosmetics:
- some KNF and wrap long lines
- use TAILQ macro
- replace some magic numbers with macro
- use #if 0/#endif pair to disable code
2003-05-19 14:56:03 +00:00
fvdl
385c785fd2 Inialize sc_tty->t_dev early for serial console, so that cn_check_magic
will match in the case of a break before the console was opened for the
first time. Makes BREAKing into DDB work (again) as soon as interrupts
are enabled.
2003-05-18 15:10:08 +00:00
thorpej
02ad493d76 Fail icpioctl() if securelevel > 1. 2003-05-18 06:18:25 +00:00
thorpej
577fd9d8fa * Use aprint*().
* Add Ultra/133 to wdc_print_modes().
2003-05-17 21:52:03 +00:00
christos
acec85bb7c Initialize and reset curtxeps to zero each time the error rate is exceeded.
This stops the continuous spewing of error messages, making it just sporadic.
2003-05-17 16:46:03 +00:00
thorpej
548e1373f8 Another fix from Achim Leubner @ ICP:
Test-busy *before* marking the controller as processing a user ioctl,
otherwise the command queue could stall permanently if test-busy returned
true.
2003-05-17 15:34:12 +00:00
dyoung
045ad0db5e IEEE80211_LOCK and WI_LOCK conceal enormous differences in locking
semantics on FreeBSD and NetBSD, so I am backing them out until
the macro set is enriched.
2003-05-16 01:26:17 +00:00
petrov
182de37049 Move DTIMEXP and RFIFOVF warnings under control of HMEDEBUG.
PR port-sparc64/20280 by grant beattie.
2003-05-14 19:46:59 +00:00
wiz
74da88f77a Correct spelling of coalesce. (Will forward to Justin Gibbs.) 2003-05-14 12:57:45 +00:00
wiz
05e990b871 summarize with two m. 2003-05-14 12:46:27 +00:00
thorpej
405790a85a Add support for the user-generated command interface and event logging
required by the ICP-Vortex management tools.  Many thanks to Achim Leubner
at ICP-Vortex for a few bug fixes and for testing.
2003-05-13 15:42:33 +00:00
dyoung
e91ed415cd Revert to previous multicast logic, which enami@sm.sony.co.jp says
was correct.
2003-05-13 08:58:01 +00:00
dyoung
850a6ef1e6 Begin synchronization with FreeBSD:
1 Add channel mask, transmit rate-mask arguments to wi_scan_ap.
2 Adopt the macros WI_LOCK/WI_UNLOCK for synchronization. FreeBSD
  uses a different synchronization mechanism.
3 In wi_cmd, adopt constants WI_DELAY/WI_TIMEOUT for timing.
4 Pull debug messages from into wi_read_nicid from FreeBSD.
5 Bug fix: if IFF_ALLMULTI, don't filter any multicasts.
6 Count and report TX exceptions, but don't generate any additional
  interrupts.
2003-05-13 08:35:58 +00:00
dyoung
5ffe819b6e For converge with FreeBSD: 2003-05-13 07:17:46 +00:00
dyoung
45e5f65918 Track TX exceptions. This will eventually enable round-robin retries
(for fairness) and RTM_LOSING or some such other message to indicate
a losing wireless destination.

From FreeBSD.
2003-05-13 07:13:49 +00:00
dyoung
904079b8af Complete prior patch: dump packets in wi_rx_intr, too. 2003-05-13 06:51:10 +00:00
dyoung
aa1a3737de Debug code from FreeBSD: handy packet dumps when IFF_DEBUG|IFF_LINK2
are set.
2003-05-13 06:48:56 +00:00
dyoung
a090735114 Misc changes to wi_stop. First, block interrupts in wi_stop. (From
FreeBSD.)

Fix a bug in wi_stop where ejecting from the Powerbook crashes the
system. Essentially, the patch makes sure we write *no* registers
when we are no longer attached.

Also, for consistency w/ FreeBSD, use sc_portnum throughout wi,
instead of hard-coding WI_PORT0 .
2003-05-13 06:33:40 +00:00
dyoung
8f56bda785 For uniformity between FreeBSD & NetBSD, adopt FreeBSD's more
concise wi_cmd.
2003-05-13 06:15:47 +00:00
uwe
a3e1bfb091 Use hardware sprite for the text mode cursor.
Fail cursor related ioctls with EBUSY while in text mode.

Don't do uvm_useracc checks before copyout, instead check copyout()
return value directly.

Minor cleanups.
2003-05-11 03:20:09 +00:00
uwe
6311425db4 Don't need a separate bit expansion table for the cursor mask. 2003-05-10 16:20:23 +00:00
uwe
64e9f09f51 Enforce that the cursor position and the hot spot are within bounds.
Constify a bit.  Fix unsignedness of a few local variables.
2003-05-10 15:25:19 +00:00
uwe
2866542ad3 Redo attachment to support proper cnattach.
wscons on netwinder almost works now.
2003-05-10 01:51:56 +00:00
christos
16561289af PR/13653: Onno van der Linden: Set tranceiver media properly. 2003-05-09 20:54:18 +00:00
martin
82f1702c53 Add missing include.
Addresses parts of PR kern/21448 by Frank Kardel.
2003-05-08 21:16:19 +00:00
kristerw
204dc598d9 Change the type of the 'code' parameter of ahc_send_async() from u_int
to ac_code to agree with the function definition.
2003-05-04 23:37:27 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
dyoung
a7d738c524 Adapt SMC 93cx6 library so that it will work with both 8- and 32-bit
registers.  This is so that I can read an SMC 93cx6 through the
32-bit registers of the ADMtek ADM8211 802.11 wireless MAC.

Adapt aic to choose 8-bit registers.
2003-05-02 19:12:19 +00:00
fvdl
df29adfb0e Don't reference channel_b if it's not a twin channel adapter.
From MINOURA Makoto.
2003-05-01 23:00:20 +00:00
thorpej
c1e26c1b48 Free the mpt request structure before calling scsipi_done(), as
scsipi_done() may start another command which needs the request
structure being freed.

Patch from Stephan Uphoff, modified slightly by me.
2003-05-01 20:18:35 +00:00
scw
f95724bd6b Add support for the SMC91C111 chip, with its internal PHY. 2003-04-29 08:47:29 +00:00
nakayama
1e411d7027 Make DMA mode works on Promise Ultra66/100 with 48-bit LBA drives.
Ok'ed by bouyer in tech-kern@netbsd.org.
2003-04-28 05:20:29 +00:00
briggs
742c5dbd3a Allow the console to be used for kgdb if both DDB and KGDB are defined. 2003-04-28 02:46:09 +00:00
wiz
c42e1fac66 Management, not managment. Mostly from jmc@openbsd. 2003-04-26 22:07:12 +00:00
bouyer
99a36b0abd Rename WDSF_EN_WR_CACHE to WDSF_WRITE_CACHE_EN for consistency with other
subcommands.
2003-04-26 09:29:41 +00:00
fvdl
00a8526dca Do the right thing in the case of an attach error. From Manuel Bouyer. 2003-04-25 16:03:45 +00:00
tls
85c8cfb533 Correct use of MAXBSIZE where MAXPHYS was intended. This is a necessary
first step towards per-device MAXPHYS, and has the beneficial side effect
of allowing clustering to MAXPHYS even on systems that need to run with
a reduced MAXBSIZE to get more metadata buffers.
2003-04-23 00:55:17 +00:00
fvdl
3f5d6a0d73 Remove unused variable. 2003-04-21 22:00:42 +00:00
fvdl
9ec222cfbe Remove trigraph. 2003-04-21 21:49:31 +00:00
fvdl
2674450fcb Avoid trigraph in string. 2003-04-21 21:45:59 +00:00
fvdl
13b6cff110 Reset bus in attach, not at first access. 2003-04-21 20:05:26 +00:00
fvdl
11e1ebb8dd Reset channel(s) in ahc_attach, rather than at first access. 2003-04-21 19:59:48 +00:00
fvdl
1adc169997 Add NetBSD RCS Id. 2003-04-21 18:12:22 +00:00
fvdl
d7ad58b224 Add file that I missed when adding the ahd driver. 2003-04-21 16:53:59 +00:00
fvdl
7c5409295c Set/report DT a bit more correctly. 2003-04-21 16:52:07 +00:00
gson
c8da8f2398 Ignore input when the port is not open. This change is functionally
identical to the patch in kern/6502 (which is hereby fixed), but
modelled after the corresponding fix to the 8530 driver in
z8530tty.c revision 1.60 to maintain consistency with that driver.
2003-04-21 03:43:18 +00:00
fvdl
1aca5bda05 ahd, driver for Adaptec 790x U320 controllers. Originally by Justin Gibbs
for FreeBSD, ported to NetBSD by Pascal Renauld, Network Storage Solutions,
Inc, plus a bunch of changes by me.

This driver is as yet untested in this final form, it will be added
to config files when it has been tested.
2003-04-21 00:14:52 +00:00
fvdl
d96d9c4be4 Pick the right channel in the reset ioctl. 2003-04-20 21:25:59 +00:00
fvdl
b30a81c90c Resurrect change from previous ahc driver version: reset channel (unless
configured not to in the BIOS) on first access.
2003-04-20 19:49:45 +00:00
fvdl
c2a2dc04eb Fix ahc_print_registers some more. 2003-04-20 18:57:41 +00:00
fvdl
ed7c318180 Fix ahc_print_register up. 2003-04-20 18:31:16 +00:00
fvdl
c620a2fd66 Fix some AHC_DEBUG printf cases, and undef AHC_DEBUG. 2003-04-20 16:04:54 +00:00
fvdl
c8a7cfc565 Actually define ahc_htole and reverse macros. 2003-04-20 15:32:10 +00:00
fvdl
6288ca0b93 Delay ahc_free until after shutdown hook disestablish. 2003-04-20 15:31:50 +00:00
bjh21
b05cf42fce Use %lu format and (u_long) cast when printing size_t. 2003-04-20 12:54:05 +00:00
fvdl
26813b6545 Get rid of AHC_LUN_WILDCARD, making differences with FreeBSD smaller. 2003-04-20 11:17:20 +00:00
fvdl
2d41d30fa5 NetBSD RCS Ids. 2003-04-19 19:38:21 +00:00
fvdl
ccadc2cbd3 Newer adaptec 7xxx driver. Written by Justin Gibbs for FreeBSD. Ported to
NetBSD by Pascal Renauld at Network Storage Solutions, Inc.
Some modifications by me.
2003-04-19 19:33:29 +00:00
thorpej
6f2e904450 Use the standard fixed-sized types on NetBSD. 2003-04-16 23:24:01 +00:00
thorpej
6c29c1f6fb In the polling case, don't call mpt_timeout() twice. 2003-04-16 23:17:30 +00:00
thorpej
98f531d377 mpt_dma_mem_alloc(): If we fail, only destroy request DMA maps that
were actually created.
2003-04-16 23:16:41 +00:00
thorpej
81a8dadfcf Correctly sync the MPT request buffers, and remove BUS_DMA_COHERENT
from the mapping of those buffers.
2003-04-16 23:02:14 +00:00
thorpej
7e4fd7b547 Device driver for the LSI Logic Fusion-MPT based SCSI and Fibre Channel
adapters.  Currently supports:

* LSI 53c1030 Ultra320 SCSI
* LSI FC909, FC909A, FC919, and FC929 Fibre Channel

Ported from the FreeBSD "mpt" driver, written by Greg Ansley.  Thanks
to Frank van der Linden for testing and some bug finding.

This work was sponsored by Wasabi Systems, Inc.
2003-04-16 22:02:59 +00:00
thorpej
ce68b169df * Change the APIs that handle the sync period to work with 100ths of ns,
rather than 10ths of ns.  This is necessary in order to represent
  Ultra320 SCSI.
* Add Ultra320 SCSI to the scsipi_syncparams[] table.

We're not going to bother bumping any version numbers with this change; only
the "hba" driver uses scsipi_sync_period_to_factor(), and the uses of
scsipi_sync_factor_to_period() are all internal to the scsipi code.  Most
things just pass the factor around, which is unchanged by this.

Reviewed by Frank van der Linden.
2003-04-16 20:25:59 +00:00
petrov
7d83b6157f Comment out debug printf. 2003-04-16 18:53:50 +00:00
tsutsui
8d11ba186d Add some delays between 8bit reads of DSTAT and SSTAT0 registers
as per the 53c710 manual. Pointed out by fredette in osiop_gsc.c long ago.
2003-04-12 06:42:38 +00:00
tsutsui
49c64e1d70 Fixes from OpenBSD:
- Fix index bounds checking in save data pointers logic.
- Fix an indent problem and an extra blank space.
2003-04-12 06:11:15 +00:00
thorpej
24a4b8faa6 Use PAGE_SIZE rather than NBPG. 2003-04-09 00:28:28 +00:00
kml
0ad9e0dccc Host AP power saving support. The Host AP notices that the power
saving bit is set in incoming frames from a station, and buffers the
outgoing frames for the station until they are polled for.  This
requires support in the driver to set a bit in the TIM bitmap sent
during 802.11 beacons.

So far, support for power saving in Host AP mode is only available
for the PRISM2 chipset.
2003-04-08 04:31:23 +00:00
junyoung
247328b16a As beginning of merging uwscons to -current:
- Add a (temporary) printf to vga_raster_load_font() for tracking font
  loading process. If you encountered "vga_raster_load_font: called"
  kernel message, please let me know.
- While here, some KNF.
2003-04-07 05:48:54 +00:00
wiz
68caa698b2 Respect the law: Use A-law and mu-law as spellings as far as easily possible.
Inspired by Igor Sobrado in PR 19680.
2003-04-06 18:20:07 +00:00
tsutsui
7b4697bdbe Add MI NCR/Symbios 53c700 SCSI driver.
This "oosiop" driver was originally written by Shuichiro URATA
for arc port, and then it was modified by me to make it work
also on hp700.

This driver has been tested on my NEC Express5800/240 with 53c700-66
for several months, and also tested on HP9000 735/125 with 53c700
(though current hp700 port has been broken since SA merge).
Both sync transfer and disconnect/reselect work fine,
but tagged queuing is not implemented yet.
2003-04-06 09:48:41 +00:00
dyoung
bfdccc21aa 802.11 MLME-JOIN.request is an abstract MAC function that is not
necessarily exposed to the host, so Lucent/Agere/whatever is correct
in not supporting it.
2003-03-27 07:22:47 +00:00
dyoung
016e6c270f HostAP broke in version 1.4.2 of station firmware. Try 1.3.x, 1.4.9,
or later.
2003-03-27 05:00:21 +00:00
dyoung
913d1b877a Cosmetic: move sc_reset closer to its siblings sc_disable and sc_enable. 2003-03-27 04:53:52 +00:00
dyoung
404d2ac6e8 Introduced sc_reset to wi_softc. The bus-specific front-end gets
to fill this.
2003-03-27 04:34:16 +00:00
mjacob
183d384362 Fix even stupider fix. It was, in fact, right the first time. Add
a comment clarifying things.
2003-03-25 06:25:35 +00:00
pk
3592333cbb #include <sys/lock.h> 2003-03-24 14:46:00 +00:00
mjacob
2b72827e41 Fibre Channel doesn't need bus reset settle time. 2003-03-21 18:05:16 +00:00
simonb
1ff45ded4f Fix some white-space niggles. 2003-03-14 02:21:01 +00:00
bsh
436b3debe1 make this compile with SLHCI_DEBUG 2003-03-13 06:50:23 +00:00
wiz
0cdd0c6614 Merge first bktr-sf import. 2003-03-12 00:14:40 +00:00
matt
7109fe9012 Add cn_halt and cn_flush entries to consdevs. (needed for dma-only console
devices).
2003-03-06 00:38:26 +00:00
mjacob
1ca48f3a5e Fix egregious bug where we meant to use bit 5 (1<<5) instead of the
value of 5.
2003-03-03 20:54:56 +00:00
mjacob
1a127bb90e spelling 2003-03-03 20:54:28 +00:00
mjacob
15332b558c Propagate iid && rxid when we're putting back an ATIO for FC.
Spelling fixes.
2003-03-03 20:54:12 +00:00
mjacob
9af98d9f8e Spelling fixes. Leave an example for how to set icbdelay timer for
ZIO operations. If we have ISP_FW_CRASH_DUMP defined, don't reinit
the chip on ISP_CONN_FATAL (that's up to the outer layers to do).
2003-03-03 20:53:14 +00:00
bsh
cf662c7814 add Philips UCB1400 2003-03-03 02:14:12 +00:00
bjh21
336f2d2049 Add support for the 82C710, the original Universal Peripheral Controller.
It turns out (now that I've found the data sheet) to have a substantially
different configuration mechanism from its successors.
2003-03-02 00:21:47 +00:00
pk
d46f710241 Enable the MII output drivers in hme_mifinit() based on the currently
selected transceiver. Save and restore this setting in hme_mii_readreg()
and hme_mii_writereg().
2003-02-27 14:58:22 +00:00
matt
65e5548a17 Add MBUFTRACE kernel option.
Do a little mbuf rework while here.  Change all uses of MGET*(*, M_WAIT, *)
to m_get*(M_WAIT, *).  These are not performance critical and making them
call m_get saves considerable space.  Add m_clget analogue of MCLGET and
make corresponding change for M_WAIT uses.
Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE.
Begin to change netstat to use sysctl.
2003-02-26 06:31:08 +00:00
dyoung
595c6d88b2 Add support for Prism monitor mode. From Kevin Lahey
<kml@patheticgeek.net>.

This patch does NOT add monitor mode support for the Lucent radios.

awi(4) was only modified for compatibility with the new mediaopt.
It does NOT support monitor mode.

Tested by Kevin, Daniel Carosone, and I.
2003-02-25 01:57:35 +00:00
dyoung
9b203bb525 Step 0 of adding Prism monitor mode: name the firmware command for
setting up manufacturing test modes. Name the sub-command for
turning on monitor mode.
2003-02-25 00:56:35 +00:00
dyoung
eb7810a127 Disable interrupts before ACKing them to avoid the obvious race. 2003-02-25 00:51:14 +00:00
dyoung
0691446706 Following implementation for other RIDs, read the driver's notion
of the fragmentation threshold instead of the hardware's notion.
2003-02-25 00:47:11 +00:00
tsutsui
0ff49f9f99 hz -> Hz 2003-02-21 17:14:04 +00:00