|
Translations |
Main /
WikiSandbox--testGPLv2 or later /* aha152x.c -- Adaptec AHA-152x driver * Author: Jürgen E. Fischer, fischer@norbit.de * Copyright 1993-2004 Jürgen E. Fischer * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * * $Id: aha152x.c,v 2.7 2004/01/24 11:42:59 fischer Exp $ * * $Log: aha152x.c,v $ * Revision 2.7 2004/01/24 11:42:59 fischer * - gather code that is not used by PCMCIA at the end * - move request_region for !PCMCIA case to detection * - migration to new scsi host api (remove legacy code) * - free host scribble before scsi_done * - fix error handling * - one isapnp device added to id_table * * Revision 2.6 2003/10/30 20:52:47 fischer * - interfaces changes for kernel 2.6 * - aha152x_probe_one introduced for pcmcia stub * - fixed pnpdev handling * - instead of allocation a new one, reuse command for request sense after check condition and reset * - fixes race in is_complete * * Revision 2.5 2002/04/14 11:24:53 fischer * - isapnp support * - abort fixed * - 2.5 support * * Revision 2.4 2000/12/16 12:53:56 fischer * - allow REQUEST SENSE to be queued * - handle shared PCI interrupts * * Revision 2.3 2000/11/04 16:40:26 fischer * - handle data overruns * - extend timeout for data phases * * Revision 2.2 2000/08/08 19:54:53 fischer * - minor changes * * Revision 2.1 2000/05/17 16:23:17 fischer * - signature update * - fix for data out w/o scatter gather * * Revision 2.0 1999/12/25 15:07:32 fischer * - interrupt routine completly reworked * - basic support for new eh code * * Revision 1.21 1999/11/10 23:46:36 fischer * - default to synchronous operation * - synchronous negotiation fixed * - added timeout to loops * - debugging output can be controlled through procfs * * Revision 1.20 1999/11/07 18:37:31 fischer * - synchronous operation works * - resid support for sg driver * * Revision 1.19 1999/11/02 22:39:59 fischer * - moved leading comments to README.aha152x * - new additional module parameters * - updates for 2.3 * - support for the Tripace TC1550 controller * - interrupt handling changed * * Revision 1.18 1996/09/07 20:10:40 fischer * - fixed can_queue handling (multiple outstanding commands working again) * * Revision 1.17 1996/08/17 16:05:14 fischer * - biosparam improved * - interrupt verification * - updated documentation * - cleanups * * Revision 1.16 1996/06/09 00:04:56 root * - added configuration symbols for insmod (aha152x/aha152x1) * * Revision 1.15 1996/04/30 14:52:06 fischer * - proc info fixed * - support for extended translation for >1GB disks * * Revision 1.14 1996/01/17 15:11:20 fischer * - fixed lockup in MESSAGE IN phase after reconnection * * Revision 1.13 1996/01/09 02:15:53 fischer * - some cleanups * - moved request_irq behind controller initialization * (to avoid spurious interrupts) * * Revision 1.12 1995/12/16 12:26:07 fischer * - barrier()s added * - configurable RESET delay added * * Revision 1.11 1995/12/06 21:18:35 fischer * - some minor updates * * Revision 1.10 1995/07/22 19:18:45 fischer * - support for 2 controllers * - started synchronous data transfers (not working yet) * * Revision 1.9 1995/03/18 09:20:24 root * - patches for PCMCIA and modules * * Revision 1.8 1995/01/21 22:07:19 root * - snarf_region => request_region * - aha152x_intr interface change * * Revision 1.7 1995/01/02 23:19:36 root * - updated COMMAND_SIZE to cmd_len * - changed sti() to restore_flags() * - fixed some #ifdef which generated warnings * * Revision 1.6 1994/11/24 20:35:27 root * - problem with odd number of bytes in fifo fixed * * Revision 1.5 1994/10/30 14:39:56 root * - abort code fixed * - debugging improved * * Revision 1.4 1994/09/12 11:33:01 root * - irqaction to request_irq * - abortion updated * * Revision 1.3 1994/08/04 13:53:05 root * - updates for mid-level-driver changes * - accept unexpected BUSFREE phase as error condition * - parity check now configurable * * Revision 1.2 1994/07/03 12:56:36 root * - cleaned up debugging code * - more tweaking on reset delays * - updated abort/reset code (pretty untested...) * * Revision 1.1 1994/05/28 21:18:49 root * - update for mid-level interface change (abort-reset) * - delays after resets adjusted for some slow devices * * Revision 1.0 1994/03/25 12:52:00 root * - Fixed "more data than expected" problem * - added new BIOS signatures * * Revision 0.102 1994/01/31 20:44:12 root * - minor changes in insw/outsw handling * * Revision 0.101 1993/12/13 01:16:27 root * - fixed STATUS phase (non-GOOD stati were dropped sometimes; * fixes problems with CD-ROM sector size detection & media change) * * Revision 0.100 1993/12/10 16:58:47 root * - fix for unsuccessful selections in case of non-continuous id assignments * on the scsi bus. * * Revision 0.99 1993/10/24 16:19:59 root * - fixed DATA IN (rare read errors gone) * * Revision 0.98 1993/10/17 12:54:44 root * - fixed some recent fixes (shame on me) * - moved initialization of scratch area to aha152x_queue * * Revision 0.97 1993/10/09 18:53:53 root * - DATA IN fixed. Rarely left data in the fifo. * * Revision 0.96 1993/10/03 00:53:59 root * - minor changes on DATA IN * * Revision 0.95 1993/09/24 10:36:01 root * - change handling of MSGI after reselection * - fixed sti/cli * - minor changes * * Revision 0.94 1993/09/18 14:08:22 root * - fixed bug in multiple outstanding command code * - changed detection * - support for kernel command line configuration * - reset corrected * - changed message handling * * Revision 0.93 1993/09/15 20:41:19 root * - fixed bugs with multiple outstanding commands * * Revision 0.92 1993/09/13 02:46:33 root * - multiple outstanding commands work (no problems with IBM drive) * * Revision 0.91 1993/09/12 20:51:46 root * added multiple outstanding commands * (some problem with this $%&? IBM device remain) * * Revision 0.9 1993/09/12 11:11:22 root * - corrected auto-configuration * - changed the auto-configuration (added some '#define's) * - added support for dis-/reconnection * * Revision 0.8 1993/09/06 23:09:39 root * - added support for the drive activity light * - minor changes * * Revision 0.7 1993/09/05 14:30:15 root * - improved phase detection * - now using the new snarf_region code of 0.99pl13 * * Revision 0.6 1993/09/02 11:01:38 root * first public release; added some signatures and biosparam() * * Revision 0.5 1993/08/30 10:23:30 root * fixed timing problems with my IBM drive * * Revision 0.4 1993/08/29 14:06:52 root * fixed some problems with timeouts due incomplete commands * * Revision 0.3 1993/08/28 15:55:03 root * writing data works too. mounted and worked on a dos partition * * Revision 0.2 1993/08/27 22:42:07 root * reading data works. Mounted a msdos partition. * * Revision 0.1 1993/08/25 13:38:30 root * first "damn thing doesn't work" version * * Revision 0.0 1993/08/14 19:54:25 root * empty function bodies; detect() works. * * ************************************************************************** see Documentation/scsi/aha152x.txt for configuration details **************************************************************************/ MODULE_LICENSE(GPL); |