This file is shared

MainSite

Wiki

Bugs

Download

Translations

WikiSandbox--test

 GPLv2 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);
Edit - History - Print - Recent Changes - Search
Page last modified on May 24, 2008, at 12:10 AM
Content is licensed under the GFDL (without invariant sections).
This project is run with the assistance of the FSF.