summaryrefslogtreecommitdiff
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/2.1.5cvs2svn1996-10-061-685/+0
| | | | | | | | 'RELENG_2_1_5_RELEASE'. Notes: svn path=/stable/2.1/; revision=18740 svn path=/release/2.1.5/; revision=18741; tag=release/2.1.5
* Detect and report dataphase overruns. Put the adapter into 'Bit Bucket'Justin T. Gibbs1996-06-092-2/+32
| | | | | | | | | mode when this occurs and allow the target to complete the transaction. Force a retry on overruns since they are usually caused by termination or cable problems. Notes: svn path=/stable/2.1/; revision=16260
* Sync with HEAD.Justin T. Gibbs1996-06-082-4/+15
| | | | Notes: svn path=/stable/2.1/; revision=16202
* Merge with HEAD:Justin T. Gibbs1996-05-271-3/+3
| | | | | | | | | | Fix a race condition in p_mesgout* and inb* code that could allow a phasemiss to sneak by without detection. This should fix the Wide/Narrow boot problems that have been reported since this bug caused the driver ignore a narrow target rejecting wide negotiation. Notes: svn path=/stable/2.1/; revision=15952
* Merge with HEAD:Justin T. Gibbs1996-05-231-3/+4
| | | | | | | Use the right patch file this time. Notes: svn path=/stable/2.1/; revision=15882
* Merge with HEAD. Dynamically Enable/Disable Ultra mode on a per targetJustin T. Gibbs1996-05-212-3/+21
| | | | | | | basis. Notes: svn path=/stable/2.1/; revision=15846
* Merge from HEAD:Satoshi Asami1996-05-131-1/+3
| | | | | | | | | | Add #ifndef/#endif around the "#define CCD_OFFSET 16", so you can override it in your kernel config file. Requested (in essence) by: phk Notes: svn path=/stable/2.1/; revision=15766
* Merge from HEAD:Satoshi Asami1996-05-131-3/+10
| | | | | | | | | | | Leave 16 lines in front of each component partition. It's now safe to use sd87a or sd237e even if they start at the beginning of the slice. You can also use sd85c if you prefer, although you need to change the type field in the disklabel to "4.2BSD". Notes: svn path=/stable/2.1/; revision=15764
* Merge with HEAD. Add bit definitions for determining if we should resetJustin T. Gibbs1996-05-102-5/+8
| | | | | | | the scsi bus on probe, probe the B channel first, etc. Notes: svn path=/stable/2.1/; revision=15715
* Merge with HEAD.Justin T. Gibbs1996-04-282-92/+160
| | | | | | | Implement SCB PAGING. Fix some bugs in find_scb. Notes: svn path=/stable/2.1/; revision=15433
* Backport this to 2.1-stable.Satoshi Asami1996-04-271-37/+3
| | | | Notes: svn path=/stable/2.1/; revision=15408
* This commit was manufactured by cvs2svn to create branch 'RELENG_2_1_0'.cvs2svn1996-04-261-0/+1603
| | | | Notes: svn path=/stable/2.1/; revision=15402
* Merge with HEAD. Fix comments, change handling of parity errors, and supportJustin T. Gibbs1996-04-014-255/+176
| | | | | | | the aic7850. Notes: svn path=/stable/2.1/; revision=14972
* Always dsgone slices when we leave.Poul-Henning Kamp1996-03-171-3/+2
| | | | Notes: svn path=/stable/2.1/; revision=14661
* Merge with HEAD:Justin T. Gibbs1996-01-112-4/+20
| | | | | | | | | | | | Take a different approach to the SPIORDY race condition. Simply clear SPIORDY just before we ack on the bus so that there is no chance to see SPIORDY for the same byte twice. Make some small modifications so that the Linux aic7xxx driver can use our sequencer and register definition files verbatum. Notes: svn path=/stable/2.1/; revision=13387
* Merge with HEAD. Change inb_first to not poll SPIORDY.Justin T. Gibbs1996-01-091-14/+6
| | | | Notes: svn path=/stable/2.1/; revision=13362
* Merge with HEAD.Justin T. Gibbs1996-01-082-10/+21
| | | | | | | | | | | aic7xxx.seq: Add additional checking to the message out phase. aic7xxx_reg.h: Add definition of the DSCommand register. Notes: svn path=/stable/2.1/; revision=13324
* Merge with HEAD. Revert to safer inb* routines.Justin T. Gibbs1996-01-051-5/+13
| | | | Notes: svn path=/stable/2.1/; revision=13253
* Merge with HEAD. Null terminate execl's arg list. For some reason thisJustin T. Gibbs1996-01-052-4/+4
| | | | | | | | | didn't cause a problem on my -current system. :( Submitted by: Ron Lenk <rlenk@widget.xmission.com> Notes: svn path=/stable/2.1/; revision=13231
* This commit was manufactured by cvs2svn to create branch 'RELENG_2_1_0'.cvs2svn1996-01-041-0/+736
| | | | Notes: svn path=/stable/2.1/; revision=13222
* Merge with HEAD. New and improved aic7xxx driver.Justin T. Gibbs1996-01-043-903/+885
| | | | Notes: svn path=/stable/2.1/; revision=13214
* Brought in fixes from rev 1.24: fix data corruption with wide drives.David Greenman1995-11-071-3/+4
| | | | Notes: svn path=/stable/2.1/; revision=12141
* Brought in Justin's recent fixes: Work correctly with aha-2940U, fixDavid Greenman1995-10-291-15/+12
| | | | | | | timeout time (was 1 tick rather than 2 seconds). Notes: svn path=/stable/2.1/; revision=11911
* Brought in all of Justin's changes/fixes from the main branch.David Greenman1995-08-231-301/+234
| | | | Notes: svn path=/stable/2.1/; revision=10163
* Brought Adaptec driver and sequencer code up to date with main branch,David Greenman1995-07-221-7/+8
| | | | | | | | brought in misc SCSI fixes from main branch, and added support for wiring a specific SCSI bus to a specific controller. REQUIRES A REBUILD OF CONFIG! Notes: svn path=/stable/2.1/; revision=9633
* This commit was manufactured by cvs2svn to create branch 'RELENG_2_1_0'.cvs2svn1995-06-1352-37687/+0
| | | | Notes: svn path=/stable/2.1/; revision=9211
* Merge RELENG_2_0_5 into HEADRodney W. Grimes1995-06-112-5/+5
| | | | Notes: svn path=/head/; revision=9202
* Remove trailing whitespace.Rodney W. Grimes1995-05-3032-543/+543
| | | | Notes: svn path=/head/; revision=8876
* Remove trailing whitespace.Rodney W. Grimes1995-05-305-26/+26
| | | | Notes: svn path=/head/; revision=8871
* Increased delay after reset to 10ms. Suggested by several people, the lastDavid Greenman1995-05-271-2/+2
| | | | | | | | of which was Scott Mace. This fixes a bug where the card would be missed sometimes during the device probe. Notes: svn path=/head/; revision=8789
* Fixed bugs in multicast address handling (flag was set in wrong register,David Greenman1995-05-261-266/+427
| | | | | | | | | | | | | | etc.). The tulip_start routine was rewritten to use less stack space (I've been having problems with wcarchive overflowing the stack and this should help a little). This version also has preliminary NetBSD support. Rod Grimes helped in testing this version of the driver. Thanks Rod. It's additionally been extensively tested here and on wcarchive. Submitted by: Matt Thomas Notes: svn path=/head/; revision=8754
* There are two serious bugs in if_de.c. The first should not matterDavid Greenman1995-05-221-3/+4
| | | | | | | | | | | | | to most users (the wrong length is passed to ether_input). The second is more serious. The multicast hash algorithm uses the wrong (low) bits instead of the right (high) bits. This is only an issue if you use >12 multicast addresses but if you are using IP multicast then it might affect you... Submitted by: Matt Thomas Notes: svn path=/head/; revision=8699
* Fixed bug in bpf/multicast support that caused multicast packets to getDavid Greenman1995-05-221-7/+5
| | | | | | | | | | | thrown out if bpfilter support and no BPF listener. (submitted by Bill Fenner) Removed unused variable and changed another from a stack variable to a static - the variable was a rather large array of structs that consumed a lot of stack space. (me) Notes: svn path=/head/; revision=8694
* Fixed problem with "char" cursor..Søren Schmidt1995-05-211-2/+6
| | | | | | | Submitted by: ache Notes: svn path=/head/; revision=8683
* Changed read_csr and write_csr to static so that they don't clashDavid Greenman1995-05-171-2/+2
| | | | | | | | | | with another driver. Reviewed by: Paul Richards Submitted by: Brian Litzinger Notes: svn path=/head/; revision=8575
* Fixes to the aic7xxx sequencer code and device driver from Justin Gibbs:David Greenman1995-05-171-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) If a target initiated a sync negotiation with us and happened to chose a value above 15, the old code inadvertantly truncated it with an "& 0x0f". If the periferal picked something really bad like 0x32, you'd end up with an offset of 2 which would hang the drive since it didn't expect to ever get something so low. We now do a MIN(maxoffset, given_offset). 2) In the case of Wide cards, we were turning on sync transfers after a sucessfull wide negotiation. Now we leave the offset alone in the per target scratch space (which implies asyncronous transfers since we initialize it that way) until a syncronous negotation occurs. 3) We were advertizing a max offset of 15 instead of 8 for wide devices. 4) If the upper level SCSI code sent down a "SCSI_RESET", it would hang the system because we would end up sending a null command to the sequencer. Now we handle SCSI_RESET correctly by having the sequencer interrupt us when it is about to fill the message buffer so that we can fill it in ourselves. The sequencer will also "simulate" a command complete for these "message only" SCBs so that the kernel driver can finish up properly. The cdplay utility will send a "SCSI_REST" to the cdplayer if you use the reset command. 5) The code that handles SCSIINTs was broken in that if more than one type of error was true at once, we'd do outbs without the card being paused. The else clause after the busfree case was also an accident waiting to happen. I've now turned this into an if, else if, else type of thing, since in most cases when we handle one type of error, it should be okay to ignore the rest (ie if we have a SELTO, who cares if there was a parity error on the transaction?), but the section should really be rewritten after 2.0.5. This fix was the least obtrusive way to patch the problem. 6) Only tag either SDTR or WDTR negotiation on an SCB. The real problem is that I don't account for the case when an SCB that is tagged to do a particular type of negotiation completes or SELTOs (selection timeout) without the negotiation taking place, so the accounting of sdtrpending and wdtrpending gets screwed up. In the wide case, if we tag it to do both wdtr and sdtr, it only performs wdtr (since wdtr must occur first and we spread out the negotiation over two commands) so we always have sdtrpending set for that target and we never do a real SDTR. I fill properly fix the accounting after 2.0.5 goes out the door, but this works (as confirmed by Dan) on wide targets. Other stuff that is also included: 1) Don't do a bzero when recycling SCBs. The only thing that must explicitly be set to zero is the scb control byte which is done in ahc_get_scb. We also need to set the SG_list_pointer and SG_list_count to 0 for commands that do not transfer data. 2) Mask the interrupt type printout for the aic7870 case. The bit we were using to determine interrupt type is only valid for the aic7770. Submitted by: Justin Gibbs Notes: svn path=/head/; revision=8567
* Changed relase number in snake_saver.c from 2.1 to 2.0.5Søren Schmidt1995-05-161-2/+2
| | | | Notes: svn path=/head/; revision=8560
* After carefully reading three reference documents, and analyzingDavid Greenman1995-05-141-4/+4
| | | | | | | | | | | | | | | | | | the 802.3 frames generated by the DC21040 (which does automatic padding of less-than-minimum frames) and the frames generated by the 'ed' driver, I've found that there is indeed a bug in the size of "ETHER_MIN_LEN" as reported by several people, John Hay being the most recent. The driver was actually setting the length to 6+6+2+50 (64 bytes), which when adding in the CRC (which is automatically appended to the frame and not included in the length), the minimum frame is 4 bytes larger than it is supposed to be. All of this is confirmed by tcpdump showing 50 bytes of data for minimum frames from the 'ed' cards and 46 bytes from 'de' cards. This analysis has also revealed that there is garbage in the un-filled in portion at the end of the minimum frames from the 'ed' driver; I don't plan to fix this. Notes: svn path=/head/; revision=8511
* Only use card's soft-configured irq if no irq was specified in the kernelDavid Greenman1995-05-121-5/+7
| | | | | | | | config file. This should fix a number of complaints regarding the auto detection behavior. Notes: svn path=/head/; revision=8486
* RISCom/8 driverAndrey A. Chernov1995-05-123-0/+1682
| | | | Notes: svn path=/head/; revision=8471
* Fix -Wformat warnings from LINT kernel.Rodney W. Grimes1995-05-112-4/+4
| | | | Notes: svn path=/head/; revision=8456
* Fix -Wformat warnings, still need to do something about %b and pointerRodney W. Grimes1995-05-092-8/+8
| | | | | | | type args. Notes: svn path=/head/; revision=8376
* Rewrite the MCD_TRACE macro to be a varargs macro so that the extraneousRodney W. Grimes1995-05-091-18/+25
| | | | | | | | | | arguments to printf could be fixed. Correct all but 1 -Wformat warning. Some would have caused garbage to be printed due to missing args! Notes: svn path=/head/; revision=8375
* Add hook for pstat -tAndrey A. Chernov1995-05-071-1/+3
| | | | Notes: svn path=/head/; revision=8333
* Restructured the floppy tape probe.Joerg Wunsch1995-05-061-6/+2
| | | | | | | | | | The ``flags 1'' in the fdc line is now only needed for owners of an Insight tape (perhaps there aren't any? Mine is disfunctional). All other probes are safe wrt. to the motor-control line of floppy disk drives. Document the flag in LINT finally. Notes: svn path=/head/; revision=8310
* Fixed mbuf leak and panic that occurred when packets got too memoryDavid Greenman1995-05-051-99/+313
| | | | | | | | | | | | fragmented. Added support for Cogent em100 boards. Fixed bug that caused BPF to toggle the card to UTP. Various other improvements. Submitted by: Matt Thomas and David Greenman Notes: svn path=/head/; revision=8296
* Check for 0 before dividing by it. Patch from Paul Traina, modifiedDavid Greenman1995-05-051-2/+10
| | | | | | | slightly by me. Notes: svn path=/head/; revision=8288
* Kill bogus duplicated code that resulted in an editing screwup of mineDavid Greenman1995-05-041-24/+1
| | | | | | | that happend about 4 months ago. Notes: svn path=/head/; revision=8266
* bzero the malloced pci_devconf structure. This should fix the problem withDavid Greenman1995-05-041-1/+2
| | | | | | | several of freefall's recent crashes. Notes: svn path=/head/; revision=8263
* Change dsioctl() interface to allow DIOCSYNCSLICEINFO to update the caller'sBruce Evans1995-04-301-2/+3
| | | | | | | slice pointer and to print the device name in error messages. Notes: svn path=/head/; revision=8188