aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Put in offset definitions for FPM and FBM registers, plus just enoughMatt Jacob2001-01-151-0/+17
| | | | | | | bits defined so we can reset them. Notes: svn path=/head/; revision=71078
* Set default adapter role.Matt Jacob2001-01-151-0/+1
| | | | Notes: svn path=/head/; revision=71077
* Use the isp_lastmbxcmd tag to report timed out mailbox commands.Matt Jacob2001-01-151-2/+3
| | | | | | | | Arrrggghhhh! Very likely fix 22650 by remembering to, ahem, set CAM_AUTOSNS_VALID when one has sense data. Notes: svn path=/head/; revision=71076
* Do more cleanup of the usage of 0..125 for F-port topologies.Matt Jacob2001-01-151-11/+29
| | | | Notes: svn path=/head/; revision=71075
* When resetting the Qlogic 2X00 units, reset the FPM (Fibre ProtocolMatt Jacob2001-01-151-75/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Module) and FBM (Fibre Buffer Modules). Also remember to clear the semaphore registers. Tell the RISC processor to not halt on FPM parity errors. Throw out the ISP_CFG_NOINIT silliness and instead go to the use of adapter 'roles' to see whether one completes initialization or not (mostly for Fibre Channel). The ultimate intent, btw, of all of this is to have a warm standby adapter for failover reasons. Because we do roles now, setting of Target Capable Class 3 service parameters in the ICB for the 2x00 cards reflects from role. Also, in isp_start, if we're not supporting an initiator role, we bounce outgoing commands with a Selection Timeout error. Also clean out the TOGGLE_TMODE goop for FC- there is no toggling of target mode like there is for parallel SCSI cards. Do more cleanup with respect to using target ids 0..125 in F-port topologies. Also keep track of things which *were* fabric devices so that when you rescan the fabric you can notify the outer layers when fabric devices go away. Only force a LOGOUT for fabric devices if they're still logged in (i.e., you cat their Port Database entry. Clean up the Get All Next scanning. Finally, use a new tag in the softc to store the opcode for the last mailbox command used so we can report which opcode timed out. Notes: svn path=/head/; revision=71074
* Add support for SMC91C100FD chip of MELCO LPC-TX.Toshihiko ARAI2001-01-152-1/+3
| | | | | | | | | | sn1 at port 0x240-0x24f irq 10 slot 0 on pccard0 sn1: SMC91C100FD UTP MAC address 00:a0:dc:22:26:8c Submitted by: "KOMURO" <komujun@nifty.com> Notes: svn path=/head/; revision=71060
* Use prober atomic operations when test&set'ing ->active.Søren Schmidt2001-01-141-6/+4
| | | | | | | This turns some of my lockups under SMP into spontanious reboots... Notes: svn path=/head/; revision=71044
* Remove NOBLOCKRANDOM as a compile-time option. Instead, provideMark Murray2001-01-143-20/+58
| | | | | | | | | | | | | | | | | | | exactly the same functionality via a sysctl, making this feature a run-time option. The default is 1(ON), which means that /dev/random device will NOT block at startup. setting kern.random.sys.seeded to 0(OFF) will cause /dev/random to block until the next reseed, at which stage the sysctl will be changed back to 1(ON). While I'm here, clean up the sysctls, and make them dynamic. Reviewed by: des Tested on Alpha by: obrien Notes: svn path=/head/; revision=71037
* struct rangelock: Remove the field 'plex' from the entry. Range locksGreg Lehey2001-01-142-7/+3
| | | | | | | | are accessed only via the plex, so there's never any confusion as to the plex number. This value was, as a result, unused. Notes: svn path=/head/; revision=71012
* format_config: If a subdisk loses its drive (due to a bug which hasGreg Lehey2001-01-141-12/+25
| | | | | | | | | | | | | | | | | | not yet been caught), don't save the config with a null drive name (which causes the drive to be renamed "plex" on the next start), put in the text "*invalid*" instead. This is damage control, not a fix. Experienced by: peter Break some long format strings so that they fit in style(9)-sized lines. Remove some "outdentation". Notes: svn path=/head/; revision=71011
* config_plex: Check that we have specified a plex organization.Greg Lehey2001-01-141-3/+6
| | | | | | | Tripped over by: "Jeroen C. van Gelderen" <jeroen@vangelderen.org> Notes: svn path=/head/; revision=71010
* Add 3 new dynamic sysctl's to control the sleep states switched to on aJohn Baldwin2001-01-132-0/+53
| | | | | | | | | | power button, sleep button, or lid close event. The sysctl's use the ACPI sleep state names S0, S1, S2, S3, S4, S4B, and S5. Reviewed by: iwasaki Notes: svn path=/head/; revision=71001
* Catch up to the name changes in the hwvol API.John Baldwin2001-01-111-4/+4
| | | | Notes: svn path=/head/; revision=70945
* - Move all of the hwvol functions into a mixer_hwvol_* namespace, and makeJohn Baldwin2001-01-113-15/+21
| | | | | | | | | | | | | | all of the hwvol members of struct snd_mixer live in a hwvol_* namespace. - When changing the mixer device via the hwvol_mixer sysctl, reset the muted state so that a mute operation on a new device won't try to unmute the new device with the old device's saved volume. - When the volume is muted, if a down or up volume request is received, first restore the saved volume level and then adjust it. Reviewed by: cg Notes: svn path=/head/; revision=70944
* Woops, use the SYSCTL_STATIC_CHILDREN() macro instead of manuallyJohn Baldwin2001-01-111-2/+2
| | | | | | | expanding it for _hw_snd. Notes: svn path=/head/; revision=70943
* lmc_ifup() was not checking the state of the interface. This wouldArchie Cobbs2001-01-101-3/+8
| | | | | | | | | | | | cause the watchdog to (incorrectly) detect the interface state going from down to up one second after lmc_ifup() was called, causing lmc_ifup() to be called again, and resetting everything. Fix by checking the interface state within lmc_ifup(). Submitted by: Darren Croke <djc@packetdesign.com> Notes: svn path=/head/; revision=70910
* Reinstate 1.19.Greg Lehey2001-01-101-2/+3
| | | | | | | Prodded by: iedowse Notes: svn path=/head/; revision=70905
* Add session argument to *close_disk, allowing to set session type on fixate.Søren Schmidt2001-01-1015-61/+54
| | | | | | | | | Add support for different blank/erase types. Update headers. Notes: svn path=/head/; revision=70901
* Enable fixed event at not only boot but also wakeup.Mitsuru IWASAKI2001-01-101-13/+33
| | | | | | | Reported and patch tested by: Peter Dufault <dufault@hda.hda.com> Notes: svn path=/head/; revision=70897
* Remove a mismatched splbio() in aac_start (the called functions each protectMike Smith2001-01-101-2/+1
| | | | | | | | | themselves correctly). Submitted by: ps Notes: svn path=/head/; revision=70875
* Part of rewrite of RAID-[45] locking code:Greg Lehey2001-01-101-27/+29
| | | | | | | | | | | Rename INITIAL_LOCKS to PLEX_LOCKS, since it now stays a constant. struct plex: Add a mutex lockmtx. Remove alloclocks. Notes: svn path=/head/; revision=70868
* vinumstart: Don't check for B_DONE on return from bre(), it doesn'tGreg Lehey2001-01-101-12/+4
| | | | | | | | | | | | happen any more. abortrequest: don't bufdone the user bp on error, let vinumstart() do it. Based on analysis by: tegge Notes: svn path=/head/; revision=70867
* bre5: don't bufdone the user bp on error, let vinumstart() do it.Greg Lehey2001-01-101-2/+1
| | | | | | | Based on analysis by: tegge Notes: svn path=/head/; revision=70866
* Remove obsolete functions [un]lockplex and [un]lockvol.Greg Lehey2001-01-101-137/+62
| | | | | | | | | | | | | | | | Rewrite lockrange and unlockrange. The lock table is now a fixed size, so there is no possibility for race conditions when expanding. The current size (256 locked ranges) should be large enough that it makes no sense to expand it. To do expansion right would require quiescing the plex (requiring at least 256 I/O completions), and the performance implications are horrendous. Add a mutex per plex for accessing the lock table. Based on analysis by: tegge Notes: svn path=/head/; revision=70865
* Get definition of Malloc right when not using VINUMDEBUGGreg Lehey2001-01-101-1/+1
| | | | | | | Pointed out by: tegge Notes: svn path=/head/; revision=70864
* open_drive: Refuse to open partition c of a disk device.Greg Lehey2001-01-101-5/+9
| | | | | | | | | | | This should eliminate one case of foot shooting . vinum_scandisk: If a drive in the partition table is downed, free it. This duplicates code for the compatibility partition, which for some reason was omitted here. Notes: svn path=/head/; revision=70863
* config_plex: Initialize mutex for parity plexes.Greg Lehey2001-01-101-1/+10
| | | | | | | | | remove_plex_entry: Destroy mutex for parity plexes. Part of rewrite of RAID-[45] locking code. Notes: svn path=/head/; revision=70862
* Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variablesJake Burkholder2001-01-105-5/+5
| | | | | | | other then curproc. Notes: svn path=/head/; revision=70861
* Add a flag value to the board identifiers, and use this to enable theJonathan Lemon2001-01-093-19/+35
| | | | | | | | | firmware for selected revisions of the controller. Spotted by: Alexander Hausner <alex@hugo.bmg.gv.at> Notes: svn path=/head/; revision=70845
* select() DKI is now in <sys/selinfo.h>.Garrett Wollman2001-01-0921-8/+51
| | | | Notes: svn path=/head/; revision=70834
* Make it clear that the macro `inb' is being overridden.Garrett Wollman2001-01-091-0/+1
| | | | Notes: svn path=/head/; revision=70828
* Note new location of if_wavelan_ieee.h.Garrett Wollman2001-01-091-1/+1
| | | | Notes: svn path=/head/; revision=70827
* ISPASYNC_PDB_CHANGED -> ISPASYNC_LOGGED_INOUT.Matt Jacob2001-01-091-4/+3
| | | | Notes: svn path=/head/; revision=70825
* Add some SNS "Register FC4 type" subcommand defines. Add some definesMatt Jacob2001-01-091-1/+13
| | | | | | | | that are pertinetnt for state flags on Qlogic 2X00 status completion entries. Notes: svn path=/head/; revision=70824
* Up tsleep && poll time for mailbox commands from 2 to 10 seconds. PrintMatt Jacob2001-01-091-5/+9
| | | | | | | out the mailbox command opcode if the command times out. Notes: svn path=/head/; revision=70823
* Follow the ISPASYNC_PDB_CHANGED -> ISPASYNC_LOGGED_INOUT change. Also,Matt Jacob2001-01-091-2/+8
| | | | | | | ISPASYNC_NOTIFY_CHANGE now is for both local loop && fabric changes. Notes: svn path=/head/; revision=70822
* Add a isp_register_fc4_type function so that we work with McData switchesMatt Jacob2001-01-091-38/+107
| | | | | | | | | | | that require us to register our FC4 types of interest. Allow ourselves, in F-port topologies, to start logging in fabric devices in the target 0..125 range. Change ISPASYNC_PDB_CHANGED (misnamed) to ISPASYNC_LOGGED_INOUT. Fix (*SMACK*) again some default WWN stuff. This is *really* hard to get right across all the range of platforms. Notes: svn path=/head/; revision=70821
* add missing length argumentMatt Jacob2001-01-091-1/+1
| | | | Notes: svn path=/head/; revision=70820
* Move if_wl.c from sys/i386/isa to dev/wi - it is not i386 (or even isa)Peter Wemm2001-01-091-2/+2
| | | | | | | specific. Notes: svn path=/head/; revision=70808
* Index our "DMA safe" sense buffers by SCB rather than hscb.Justin T. Gibbs2001-01-094-4/+28
| | | | | | | | | | | hscbs may be traded during error recovery due to the way we manage the qinfifo. This has the effect of changing the index to the sense buffer even though the request sense command references the original buffer. SCBs don't play this swapping game and so serve as a more consistent reference. Notes: svn path=/head/; revision=70807
* Back out the "close tray on open" feature, its not clear whatSøren Schmidt2001-01-081-2/+0
| | | | | | | color it should have... Notes: svn path=/head/; revision=70802
* make PCI DEFPA fiddi adapters work on alpha:Andrew Gallatin2001-01-081-2/+5
| | | | | | | | | | | | | | | - add a dma hack similar to the NetBSD one - change PDQ_OS_MEM{RD,WR} to use readl/writel rather than deref'ing a 32 bit va. Note that I did just enough to get this working on alpha. I probably should have updated it to use busspace, but I was too lazy to navigate the twisty minefield of ifdefs that make up this driver. Tested by: wilko (on both x86 and alpha) Notes: svn path=/head/; revision=70801
* Part 2 of the netgraph rewrite.Julian Elischer2001-01-087-107/+114
| | | | | | | | | This is mostly cosmetic changes, (though I caught a bug or two while makeing them) Reviewed by: archie@freebsd.org Notes: svn path=/head/; revision=70784
* Completed move of Digiboard drivers to dev/dgbSergey Babkin2001-01-082-6/+6
| | | | Notes: svn path=/head/; revision=70783
* Add aic to the list of drivers that might work with NEWCARD. I've addedWarner Losh2001-01-081-6/+43
| | | | | | | | the same config lines that NetBSD has. This builds with both NEWCARD and GENERIC config files. Notes: svn path=/head/; revision=70782
* Add a quirk for drives that do not handle long inquiry data.Nick Hibma2001-01-081-22/+41
| | | | | | | | | | | | Add the entry for the Yano U640MO-03 MO drive. (ifdef-0-ed out for now) Fix a hack were an original buffer was modified instead of copied (cmd[] -> (*rcmd)[]) Submitted by: Iwasa Kazmi <kzmi@ca2.so-net.ne.jp> Notes: svn path=/head/; revision=70779
* Add the Synchronize command to umass_atapi_transform. It seems to workNick Hibma2001-01-071-0/+1
| | | | | | | unmodified for ATAPI type devices. Notes: svn path=/head/; revision=70778
* Print the correct value in a debugging printf.Nick Hibma2001-01-071-1/+1
| | | | | | | Submitted by: Iwasa Kazmi <kzmi@ca2.so-net.ne.jp> Notes: svn path=/head/; revision=70777
* 1) Return the requestad length - the transferred length as the residue,Nick Hibma2001-01-071-4/+6
| | | | | | | | | | | | | | | instead of the requested length. Otherwise all transfers look like 0 byte transfers to CAM. Submitted by: Iwasa Kazmi <kzmi@ca2.so-net.ne.jp> 2) Finalise the command in the case of CBI transfers with CCI (command completion interrupt). 3) Remove a redundant bzero of a buffer. Notes: svn path=/head/; revision=70775
* This is a bandaid for a problem that is not entirely fixed yet.Peter Wemm2001-01-071-1/+5
| | | | | | | | | | | | | | | | | | | | | The pccard_function_init() call creates a bunch of inactive resources that are persistant and configured on demand. When the child driver "allocates" a resource it is connected up to one of these. When the child releases the resource, we should not delete our copy, just deactivate it again. Otherwise there is nothing to recreate it again after several probe functions have run and done an alloc/release cycle. INVARIANTS shows 0xdeadc0de without this. More work is needed to do a sweep though the pccard_function_disable() call to actually delete the resources for real. Right now, we leak memory on eject (at best), so Dont Do That(TM) yet. This affects 16 bit pccards on a cardbus bridge only. This will be fixed soon, but for now it gets the cards working. Reviewed by: imp Notes: svn path=/head/; revision=70766