summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* update to new 802.11 supportsam2003-06-281-2/+1
|
* Fix several problems related to resume:simokawa2003-06-284-5/+40
| | | | | | | | - Initialize fc->status to process bus reset correctly after resume. - Initialize AT ring buffer pointer. - Requeue stdma to stfree for active IR buffer. - Stop DMA before suspend for safe. - Set powerstate after resume.
* update for new 802.11 supportsam2003-06-2811-160/+134
|
* Add 'umct', a driver for MCT Corp. and Belkin F5U109 USB-Serial adapters.scottl2003-06-281-0/+510
| | | | | | This is based on the ubsa driver by Alexander Kabaev along with documentation gleaned from the Linux mct_u232 driver. I've had this driver sitting in my tree for almost 6 months, and several others have found it useful.
* Fix a race condition in the flushing of commands thatgibbs2003-06-281-49/+379
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* aic79xx.h:gibbs2003-06-282-10/+16
| | | | | | | | | | | | | | | | | | | | | 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.
* Use clr instead of an explicit mov from ALLZEROSgibbs2003-06-281-2/+2
| | | | | to clear SCB_FIFO_USE_COUNT. This is just a syntactic change.
* Implement ahd_inq_scbram() and change the implementiongibbs2003-06-281-5/+12
| | | | | of ahd_inl_scbram to use ahd_inw_scbram instead of ahd_inb_scbram().
* Correct a typo in a comment.gibbs2003-06-281-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* aic79xx.seq:gibbs2003-06-281-5/+4
| | | | | | | | | Remove an old comment that no longer applies. Fix a jump in our unexpected non-packetized phase handler to use an explicit lable. The old code had a hardcoded jump offset that was off by one instruction.
* aic79xx.h:gibbs2003-06-282-16/+23
| | | | | | | | | | | | | | 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.
* Fix pointer/int warnings so this compiles on amd64. The driver wantspeter2003-06-273-4/+4
| | | | | | | to store an int in the bio->bio_driver1 (a void *). It is big enough, but you have to match the int sizes first before doing the cast. Glanced at by: scottl
* Whitespace cleanups (verified with MD5 1832ce5ede6c58c844dfb53fd48f0eea).njl2003-06-271-123/+133
| | | | | Also clarify a macro expansion with an XXX. I will be fixing access to Acpi Global Lock in a subsequent commit.
* Add support to eliminate a context switch per crypto op when using thesam2003-06-272-2/+2
| | | | | | | | | | | software crypto device: o record crypto device capabilities in each session id o add a capability that indicates if the crypto driver operates synchronously o tag the software crypto driver as operating synchronously This commit also introduces crypto session id macros that cleanup their construction and querying.
* Sort the list of PCI ID's in numerical order and fix a whitespace bogon.jhb2003-06-271-4/+4
|
* Prevent probing the secondary channel on CMD646 controllers if thegrehan2003-06-271-0/+6
| | | | | | | | | channel has been disabled by BIOS. This prevents a bus timeout machine check on B&W G3 PowerMacs, which have a primary-only CMD646 on the motherboard. Approved by: sos Obtained from: NetBSD
* Remove check to see if the get resource for the second resourceimp2003-06-271-4/+0
| | | | | | | | | | | | | | succeeds. There is a difference between how OLDCARD and NEWCARD deal with their resources, and this code exposes that difference. I'm not sure which behavior is correct, and will need to look into that in more detail. However, it appears that we go ahead and allocate the right thing in both cases that I have access to (CF cards, CDROM, and external ata enclosures), so go ahead and ignore the failure to get the resource for the other rid. There's already another check to make sure that the actual allocation works correctly, and that should be sufficient to catch cases that don't work. Submitted by: wpaul and iedowse
* Return support needed by dstumbler:sam2003-06-272-12/+174
| | | | | | | | | | | | | | | | | o add back rx monitor support o make WI_RID_SCAN_RES DTRT o fix a bug handling zero-length RID requests (used by dstumbler to set a zero-length SSID) o make RID_SCAN_REQ DTRT o add back WI_RID_OWN_SSID o fix wi_scan_ap to take a channel mask and txrate (for prism cards) These changes fix dstumbler -o (monitor mode). A minor change to dstumbler is needed to get normal AP scanning mode to work right; this is preferred to modifying the driver. PR: kern/53187 Reviewed by: Bruce M Simpson <bms@spc.org>
* - Use fwohci_poll() instead of fwohci_intr() to process the first bus reest.simokawa2003-06-273-3/+4
| | | | - Wait 2 cycles before starting the process for fast machines.
* Other minor style nits I missed in ep_if_start() in my previousmux2003-06-261-3/+4
| | | | commit.
* Make if_ep_start() look a bit more like other if_start() functions,mux2003-06-261-18/+13
| | | | | by calling the first mbuf in the chain m0 and fixing a few nearby style bugs, mostly s/0/NULL/.
* Fix a race condition that was introduced since pccbb interrupts aremux2003-06-261-7/+5
| | | | | | | | | | | | | flag'ed INTR_MPSAFE. In ep_if_start(), use the IF_DEQUEUE macro to grab the next mbuf to send, and use IF_PREPEND if the card is busy and we actually can't handle it right now. The old code was first getting the mbuf by taking it from the queue without using the macros, thus without locking, and without removing it from the queue either. It was later assuming that IF_DEQUEUE would give him this same mbuf. Tested by: mich
* Set a lower bound on fragment size rather than returning a failuremdodd2003-06-261-4/+2
| | | | | | | when the user specifies a maximum fragment size < 2. This is the behavior that Linux provides and fixes the problem I've observed in Tribes2 where sounds effects are delayed by 1/2 a second.
* Give the correct size for the command map to busdma.ps2003-06-261-1/+1
|
* Add amd64 support.peter2003-06-261-1/+1
|
* - Zero the buffers used to hold configuration data from the card. Not doingscottl2003-06-264-15/+38
| | | | | | | | | | so can leave stale data in the buffer and confuse the driver. - enable the ability to set the 'disable' hint for the driver to keep it from attaching. i.e. 'hw.ips.0.disable=1' will prevent the driver from attaching. - Only detach if attach suceeded. Submitted by: mjacob
* Regen.joe2003-06-252-11/+69
|
* Added some new devices and made slight changes to some existing ones.joe2003-06-251-3/+13
| | | | Submitted by: Andre Guibert de Bruet <andy@siliconlandmark.com>
* Set pointers to NULL after free() to prevent multiple free().mdodd2003-06-251-0/+3
| | | | | PR: kern/48808 Submitted by: Eugene Grosbein <eugen@grosbein.pp.ru>
* o correct mib spelling: reset -> retestsam2003-06-251-3/+15
| | | | o add #ifdef's needed to share code directly with -stable
* Fix some style bugs.cognet2003-06-251-49/+50
|
* /dev/null and /dev/zero does not need Giantphk2003-06-241-1/+2
|
* Drop locks before calling if_input() since it may re-enter fxp_start()njl2003-06-231-0/+10
| | | | | | | | | in the netisr case. This would result in a lock reversal. This fixes the net.isr.enable=1 case. Better performance might be obtained by chaining all packets received, dropping the lock, and then calling if_input() on each one. Reported by: hmp
* Add parenthesis so that we get all of the bits allgibbs2003-06-231-2/+2
| | | | | | | | 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.
* Atheros 802.11 driver. Requires Atheros Hardware Access Lay (HAL).sam2003-06-234-0/+3201
| | | | Supported by: Atheros Comunications
* Check compatibility partitions on all archs. This makes vinumharti2003-06-231-2/+0
| | | | | | | work on sparc64 again, because on sparc i386-compatibility partitions just happen to have the same name as sparc native partitions. Okay-ed by: grog@
* This is a driver for Fore PCA200E cards that uses busdma and works onharti2003-06-235-0/+6659
| | | | | little endian and big endian and with 32 and 64 bit pointers. It already has the hooks to be used for HARP, NATM and ngATM.
* Add a PCI ID for the Apollo Pro 133A.mdodd2003-06-231-0/+2
| | | | | PR: kern/46983 Submitted by: David Holm <david@realityrift.com>
* Add PCI IDs for the i82855 and i82875P AGP bridges.mdodd2003-06-231-0/+12
| | | | | PR: i386/53136, i386/51802 Submitted by: Kyunghwan Kim <redjade@atropos.snu.ac.kr>, Norikatsu Shigemura <nork@FreeBSD.org>
* prevent the number of patterns from exceeding the number of pci devices.jmg2003-06-231-1/+1
| | | | Submitted by: rwatson
* cleanup /dev/pci code some:jmg2003-06-231-54/+20
| | | | | | | | | read permision only required for listing, read/write required for read/write to registers fix a possible memory leak clean up error handling a bit Reviewed by: silence
* Remove 256 unit limit, there is no evil minor number encoding tophk2003-06-221-2/+0
| | | | | | deal with any more. Spotted by: "Darren Freestone" <df@cops.org>
* Re-enabled PCI irq routing on pc98.nyan2003-06-221-1/+1
|
* use a REG macro that was already defined.jmg2003-06-221-3/+10
| | | | | | | | Reorder how the pci probing in handled. before adding devices, check to see if the slot is a multi-function device to see if we should probe all the functions. Original idea by: imp
* fix another LP64 problem. READ_IVAR takes a pointer to an uintptr_t, notjmg2003-06-201-1/+3
| | | | an int.
* Add support for the HighPoint HPT302 & HPT371sos2003-06-191-0/+2
| | | | HW sponsored by: Martin Blapp <mbr@FreeBSD.ORG>
* make iicbb_devclass and iicbb_driver globally visible. This will letjmg2003-06-192-2/+5
| | | | | | | | drivers that implemnt the i2c bit banging bus interface not have to recompile iicbb in order to add an attachment for it. This will mean the bktr and other definitions can go back to their respective drivers.
* Add vm object locking.alc2003-06-191-0/+6
|
* Fixing some glaring problems with aac_disk_dump().scottl2003-06-191-2/+18
| | | | | | | | | | - Mark that it cannot handle greater than 4GB of RAM at this time. Fixing that will come later. Fail any attempts to dump above thati limit. - If a call to aac_disk_dump() needs to be split into multiple i/o's, increment the virtual offset after each i/o instead of just dumping the same offset over and over again. - Bail out if bus_dmamap_load() returns an error. Error recovery is likely not possible.
* Add a solaris compatible ofw interface for third party software thatjake2003-06-192-0/+264
| | | | | | | expects one to use. Only the functions used by XFree86 are actually implemented. Glanced at by: tmm
OpenPOWER on IntegriCloud