summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Spell noread() and nowrite() correctly (ie: not "NULL")phk2003-03-021-2/+2
|
* Don't use evil casts in cdevsw initialization.phk2003-03-021-5/+13
|
* Use canonical format for cdevsw initialization.phk2003-03-026-50/+79
|
* Use canonical format for cdevsw initilization.phk2003-03-021-13/+13
|
* Use canonical name for cdevsw initialization.phk2003-03-021-13/+13
|
* Use canonical form for cdevsw initialization.phk2003-03-021-13/+13
|
* More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).des2003-03-0221-57/+57
|
* Put cdevsw initialization on canonical format.phk2003-03-021-3/+14
|
* Fix cdevsw initialization commit to follow canonical format.phk2003-03-021-1/+1
|
* Format the cdevsw like all other drivers do it for improved grepability.phk2003-03-021-4/+13
|
* NO_GEOM cleanup:phk2003-03-022-19/+1
| | | | Remove cdevsw->d_psize() implementation. It is no longer needed.
* NO_GEOM cleanup:phk2003-03-021-4/+4
| | | | | mcdsize() is not a cdevsw->d_psize function (any more ?) so rename it, give it a better prototype to avoid misusing d_psize_t.
* Fix 'bulk in' and 'bulk out' being reversed in a couple of error messages.scottl2003-03-021-2/+2
|
* Don't reset agent before processing OCB has done.simokawa2003-03-011-6/+12
|
* Fix support for HPT controllers they where always left in PIO mode.sos2003-03-011-1/+1
| | | | Amazing what a ';' can do :/
* Make /dev/pci use MAJOR_AUTO.se2003-03-011-0/+4
|
* The aac driver has evolved enough over the last few months that it noscottl2003-03-015-126/+15
| | | | | longer resembles the 4.x version very much. Garbage collect the legacy bits.
* Implement outgoing interrupt pipes. It is part of the USB 1.1 spec.jhay2003-02-284-3/+90
| | | | The Lego Infrared Tower use it.
* o Move vendor ids into separate table.orion2003-02-281-62/+139
| | | | o Add assorted vendor and codec ids.
* ufm doesn't care what major it uses.imp2003-02-281-1/+1
|
* These appear to work as cardbus cards tooimp2003-02-282-0/+2
|
* NO_GEOM cleanup:phk2003-02-282-39/+30
| | | | | | Convert to "struct disk *" centric API. OK'ed by: sos
* Use MAJOR_AUTO. GC statically assigned majors.jake2003-02-282-6/+2
|
* aic79xx.c:gibbs2003-02-277-109/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clear the LQICRC_NLQ status should it pop up after we have already handled the SCSIPERR. During some streaming operations this status can be delayed until the stream ends. Without this change, the driver would complain about a "Missing case in ahd_handle_scsiint". In the LQOBUSFREE handler... Don't return the LQOMGR back to the idle state until after we have cleaned up ENSELO and any status related to this selection. The last thing we need is the LQO manager starting another select-out before we have updated the execution queue. It is not clear whether the LQOMGR would, or would not start a new selection early. Make sure ENSELO is off prior to clearing SELDO by flushing device writes. Move assignment of the next target SCB pointer inside of an if to make the code clearer. The effect is the same. Dump card state in both "Unexpected PKT busfree" paths. In ahd_reset(), set the chip to SCSI mode before reading SXFRCTL1. That register only exists in the SCSI mode. Also set the mode explicitly to the SCSI mode after chip reset due to paranoia. Re-arrange code so that SXFRCTL1 is restored as quickly after the chip reset as possible. S/G structurs must be 8byte aligned. Make this official by saying so in our DMA tag. Disable CIO bus stretch on MDFFSTAT if SHVALID is about to come true. This can cause a CIO bus lockup if a PCI or PCI-X error occurs while the stretch is occurring - the host cannot service the PCI-X error since the CIO bus is locked out and SHVALID will never resolve. The stretch was added in the Rev B to simplify the wait for SHVALID to resolve, but the code to do this in the open source sequencer is so simple it was never removed. Consistently use MAX_OFFSET for the user max syncrate set from non-volatile storage. This ensures that the offset does not conflict with AH?_OFFSET_UNKNOWN. Have ahd_pause_and_flushwork set the mode to ensure that it has access to the registers it checks. Also modify the checking of intstat so that the check against 0xFF can actually succeed if the INT_PEND mask is something other than 0xFF. Although there are no cardbus U320 controllers, this check may be needed to recover from a hot-plug PCI removal that occurs without informing the driver. Fix a typo. sg_prefetch_cnt -> sg_prefetch_align. This fixes an infinite loop at card initialization if the cacheline size is 0. aic79xx.h: Add AHD_EARLY_REQ_BUG bug flag. Fix spelling errors. Include the CDB's length just after the CDB pointer in the DMA'ed CDB case. Change AH?_OFFSET_UNKNOWN to 0xFF. This is a value that the curr->offset can never be, unlike '0' which we previously used. This fixes code that only checks for a non-zero offset to determine if a sync negotiation is required since it will fire in the unknown case even if the goal is async. aic79xx.reg: Add comments for LQISTAT bits indicating their names in the 7902 data book. We use slightly different and more descriptive names in the firmware. Fix spelling errors. Include the CDB's length just after the CDB pointer in the DMA'ed CDB case. aic79xx.seq: Update comments regarding rundown of the GSFIFO to reflect reality. Fix spelling errors. Since we use an 8byte address and 1 byte length, shorten the size of a block move for the legacy DMA'ed CDB case from 11 to 9 bytes. Remove code that, assuming the abort pending feature worked, would set MK_MESSAGE in the SCB's control byte on completion to catch invalid reselections. Since we don't see interrupts for completed selections, this status update could occur prior to us noticing the SELDO. The "select-out" queue logic will get confused by the MK_MESSAGE bit being set as this is used to catch packatized connections where we select-out with ATN. Since the abort pending feature doesn't work on any released controllers yet, this code was never executed. Add support for the AHD_EARLY_REQ_BUG. Don't ignore persistent REQ assertions just because they were asserted within the bus settle delay window. This allows us to tolerate devices like the GEM318 that violate the SCSI spec. Remove unintentional settnig of SG_CACHE_AVAIL. Writing this bit should have no effect, but who knows... On the Rev A, we must wait for HDMAENACK before loading additional segments to avoid clobbering the address of the first segment in the S/G FIFO. This resolves data-corruption issues with certain IBM (now Hitachi) and Fujitsu U320 drives. Rearrange calc_residual to avoid an extra jmp instruction. On RevA Silicon, if the target returns us to data-out after we have already trained for data-out, it is possible for us to transition the free running clock to data-valid before the required 100ns P1 setup time (8 P1 assertions in fast-160 mode). This will only happen if this L-Q is a continuation of a data transfer for which we have already prefetched data into our FIFO (LQ/Data followed by LQ/Data for the same write transaction). This can cause some target implementations to miss the first few data transfers on the bus. We detect this situation by noticing that this is the first data transfer after an LQ (LQIWORKONLQ true), that the data transfer is a continuation of a transfer already setup in our FIFO (SAVEPTRS interrupt), and that the transaction is a write (DIRECTION set in DFCNTRL). The delay is performed by disabling SCSIEN until we see the first REQ from the target. Only compile in snapshot savepointers handler for RevA silicon where it is enabled. Handle the cfg4icmd packetized interrupt. We just need to load the address and count, start the DMA, and CLRCHN once the transfer is complete. Fix an oversight in the overrun handler for packetized status operations. We need to wait for either CTXTDONE or an overrun when checking for an overrun. The previous code did not wait and thus could decide that no overrun had occurred even though an overrun will occur on the next data-valid req. Add some comment to this section for clarity. Use LAST_SEG_DONE instead of LASTSDONE for testing transfer completion in the packetized status case. LASTSDONE may come up more quickly since it only records completion on the SCSI side, but since LAST_SEG_DONE is used everywhere else (and needs to be), this is less confusing. Add a missing invalidation of the longjmp address in the non-pack handler. This code needs additional review. aic79xx_inline.h: Fix spelling error. aic79xx_osm.c: Set the cdb length for CDBs dma'ed from host memory. Add a comment indicating that, should CAM start supporting cdbs larger than 16bytes, the driver could store the CDB in the status buffer. aic79xx_pci.c: Add a table entry for the 39320A. Added a missing comma to an error string table. Fix spelling errors.
* NO_GEOM cleanup:phk2003-02-271-115/+42
| | | | | | | | | | | Move <sys/conf.h> before <sys/disk.h>. No need for raidread()/raidwrite(), we have generic code for that. Remove non-functional dump code. Make raidinit() return the softc, not the dev_t. Move to "struct disk*" centric API. Fix printfs' to get name from struct disk instead of dev_t. OK'ed by: scottl
* add 5801 and 5802 recognition (somehow lost in transition from openbsd)sam2003-02-272-2/+9
| | | | Noticed by: Larry Baird <lab@gta.com>
* Zero cpi->target_sprt since atapi-cam does not support target mode. Thisnjl2003-02-271-0/+1
| | | | | | | gets rid of annoying messages when targbh tries to attach to the ATA bus and gets rejected. MFC after: 1 day
* Remember to set if_capenable when setting up checksum offload in fxp_attach().wpaul2003-02-271-0/+1
| | | | Pointed out by: jlemon
* When DDB is in the kernel, unlock VTY switching so that wemux2003-02-271-0/+4
| | | | | | | | don't end up freezing the box. This makes VTY locking useless in the DDB case but a box which is supposed to be physically secure shouldn't compile DDB anyway. Reviewed by: silence on -audit
* Warns and lint fix. Nearly all trivial stuff.markm2003-02-271-7/+8
|
* Add yet a patch for the patchwork quilt called sio(4):phk2003-02-271-0/+4
| | | | Allow people set set flags on pci based SIO ports.
* Typo, I must have hit xZZ in vi(1).phk2003-02-271-1/+1
|
* MFp4(simokawa_sbp branch)simokawa2003-02-275-108/+310
| | | | | | | | | | | | | | | | | | | Improve SBP device probeing: - Wait 2 sec before issuing LOGIN ORB expecting the reconnection hold timer expires. - Serialize management ORB and scanning LUN by CAM on each target. This should fix the problem for devices which have multiple LUNs. Test device is donated by: Jaye Mathisen <mrcpu@internetcds.com> - Freeze SIM queue for 2 sec after BUS RESET. - Retry with LOGIN rather than RECONNECT after LOGIN is not completed for BUS RESET. - Use appropriate CAM status for BUS RESET and DEVICE RESET. - Let CAM to scan targets after BUS REST. - Implement CAM scan target function. - Keep our own devq freeze count. - Let CAM to know that SBP does tagged queuing. These should be merged to RELENG_4 before 4.8-RELEASE.
* Make flags bit 0x10000 mean that PPS timestamping should use thephk2003-02-271-2/+11
| | | | CTS instead of the DCD pin.
* Only use function 1 not 0 on cypress chips.sos2003-02-271-1/+3
|
* When we have found a chunk of memory that is large enough and have computedharti2003-02-271-1/+1
| | | | | | | | | | a correctly aligned address in this block we really want to check, that the part of the chunk that starts at the aligned address is large enough with regard to the original request. Comparing it to 0 makes no sense, because this is always true except in the rare case, that the aligned address is just at the end of the chunk. Approved by: jake (mentor)
* Fix UDMA modes setup on CMD chips.sos2003-02-271-1/+1
|
* Add the ID for the CS4205 codec found in Dell laptops. Obtained fromscottl2003-02-271-0/+1
| | | | the CS4205 spec.
* As previously threatened, add TCP/IP checksum offload support towpaul2003-02-263-10/+236
| | | | | | | | | | | the fxp driver. This is enabled only for the 82550/82551 chips (PCI revision code 12 or 13). RX and TX checksum offload are both supported. Transmit offload is limited to TCP and UDP only right now: there seems to be a problem with IP header checksumming on transmit in some cases. This chip has hardware VLAN support as well. I hope to enable support for this eventually.
* NODEVFS cleanup:phk2003-02-261-2/+3
| | | | | Don't call cdevsw_{add,remove}() Bracket a more correct subset in "#if experimental"
* msgphk2003-02-261-15/+0
|
* msgphk2003-02-261-2/+0
|
* Move an optimization check so that it breaks out of the correct loop.jhb2003-02-261-4/+3
| | | | | Basically, as soon as we have run out of events to handle in the swi, we stop looping through all the channels in a for loop.
* Fix a reversed test for ATAPI_DEVICE in the Promise setup code.sos2003-02-261-4/+3
|
* Add SigmaTel STAC9750 entry.cognet2003-02-261-0/+1
| | | | Submitted by: Paulius Bulotas <paulius.bulotas@microlink.lt>
* Change default setting of hw.wi.txerate to zero so that tx error msgs aresam2003-02-261-2/+2
| | | | | ignored (as before). This was the original setting but a bug in ppsratecheck made me do stupid things.
* Unbreak emu10k1 by properly using the buffer address.cognet2003-02-261-4/+4
| | | | New contestant for the lamest commit of the year award: cognet
* Replicate OSS behaviour when rate settings fails.orion2003-02-261-1/+1
| | | | PR: kern/26563
* Add a number of IDs from linux for old, rare pci devices:imp2003-02-261-5/+6
| | | | | | o A second 82092AA id. o SMC 34c90 Plus a couple of trivial formatting changes.
* Bring aac out from under Giant:scottl2003-02-264-18/+46
| | | | | | | | | | | | | | - the mutex aac_io_lock protects the main codepaths which handle queues and hardware registers. Only one acquire/release is done in the top-half and the taskqueue. This mutex also applies to the userland command path and CAM data path. - Move the taskqueue to the new Giant-free version. - Register the disk device with DISKFLAG_NOGIANT so the top-half processing runs without Giant. - Move the dynamic command allocator to the worker thread to avoid locking issues with bus_dmamem_alloc(). This gives about 20% improvement in most of my benchmarks.
OpenPOWER on IntegriCloud