Sync up drivers/scsi/aic7xxx
PATCH 24/28 Sync up drivers/scsi/aic7xxx
Sync up drivers/scsi/aic7xxx/. (3367-3707)
==== //depot/aic7xxx/aic7xxx/aic79xx.h#106 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.h ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.h renamed from tmp/tmp.27211.0 +1 -2
@@ -37,7 +37,7 @@* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * -* $Id: //depot/aic7xxx/aic7xxx/aic79xx.h#106 $ +* $Id: //depot/aic7xxx/aic7xxx/aic79xx.h#107 $ * * $FreeBSD$ */
@@ -1065,7 +1065,6 @@ {uint16_t tag;uint8_t sg_status; -uint8_t pad[4 ];uint8_t valid_tag; };
==== //depot/aic7xxx/aic7xxx/aic79xx.reg#75 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.reg ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.reg renamed from tmp/tmp.27211.1 +2 -1
@@ -39,7 +39,7 @@ * * $FreeBSD$ */ -VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#75 $" +VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#76 $" /* * This file is processed by the aic7xxx_asm utility for use in assembling
@@ -3968,6 +3968,7 @@ const SG_SIZEOF download const PKT_OVERRUN_BUFOFFSET download const SCB_TRANSFER_SIZE download +const CACHELINE_MASK download /* * BIOS SCB offsets
==== //depot/aic7xxx/aic7xxx/aic79xx.seq#118 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.seq ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.seq renamed from tmp/tmp.27211.2 +14 -2
@@ -40,7 +40,7 @@ * $FreeBSD$ */ -VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#118 $" +VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#119 $" PATCH_ARG_LIST = "struct ahd_softc *ahd" PREFIX = "ahd_"
@@ -364,11 +364,11 @@ bmov COMPLETE_SCB_DMAINPROG_HEAD, COMPLETE_SCB_HEAD, 2; mvi CCSCBCTL, CCSCBRESET; bmov SCBHADDR, QOUTFIFO_NEXT_ADDR, 4; + mov A, QOUTFIFO_NEXT_ADDR; bmov SCBPTR, COMPLETE_SCB_HEAD, 2; fill_qoutfifo_loop: bmov CCSCBRAM, SCBPTR, 2; mov CCSCBRAM, SCB_SGPTR[0]; - bmov CCSCBRAM, ALLZEROS, 4; mov CCSCBRAM, QOUTFIFO_ENTRY_VALID_TAG; mov NONE, SDSCB_QOFF; inc INT_COALESCING_CMDCOUNT;
@@ -377,6 +377,18 @@ cmp SCB_NEXT_COMPLETE[1], SCB_LIST_NULL je fill_qoutfifo_done; cmp CCSCBADDR, CCSCBADDR_MAX je fill_qoutfifo_done; test QOFF_CTLSTA, SDSCB_ROLLOVR jnz fill_qoutfifo_done; + /* + * Don't cross an ADB or Cachline boundary when DMA'ing + * completion entries. In PCI mode, at least in 32/33 + * configurations, the SCB DMA engine may lose its place + * in the data-stream should the target force a retry on + * something other than an 8byte aligned boundary. In + * PCI-X mode, we do this to avoid split transactions since + * many chipsets seem to be unable to format proper split + * completions to continue the data transfer. + */ + add SINDEX, A, CCSCBADDR; + test SINDEX, CACHELINE_MASK jz fill_qoutfifo_done; bmov SCBPTR, SCB_NEXT_COMPLETE, 2; jmp fill_qoutfifo_loop; fill_qoutfifo_done:
==== //depot/aic7xxx/aic7xxx/aic79xx.c#242 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_core.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_core.c renamed from tmp/tmp.27211.3 +70 -28
191 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#208 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm.c renamed from tmp/tmp.27211.4 +15 -1
@@ -1,7 +1,7 @@/* * Adaptec AIC79xx device driver for Linux. * -* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#208 $ +* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#209 $ * * -------------------------------------------------------------------------- * Copyright (c) 1994-2000 Justin T. Gibbs.
@@ -4904,7 +4904,21 @@ new_status =DID_BAD_TARGET ;break ;case CAM_SEL_TIMEOUT : +#if LINUX_VERSION_CODE <KERNEL_VERSION (2 ,5 ,0 ) +/* +* The 2.4.X SCSI layer will not offline +* devices in response to DID_NO_CONNECT. +* Return a command timeout here instead +* so that for commands other than inquiry +* and request sense commands (which the +* mid-layer special cases) recovery will +* take place and persistently missing +* devices are eventually offlined. +*/ + new_status =DID_TIME_OUT ; +#else new_status =DID_NO_CONNECT ; +#endif break ;case CAM_SCSI_BUS_RESET :case CAM_BDR_SENT :
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.h#159 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm.h ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm.h renamed from tmp/tmp.27211.5 +2 -2
@@ -36,7 +36,7 @@* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * -* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.h#159 $ +* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.h#161 $ * */ #ifndef _AIC79XX_LINUX_H_
@@ -94,7 +94,7 @@#include <linux/smp.h> #endif -#define AIC79XX_DRIVER_VERSION "2.0.8" +#define AIC79XX_DRIVER_VERSION "2.0.10"/********************* Definitions Required by the Core ***********************/ /*
==== //depot/aic7xxx/aic7xxx/aic79xx_pci.c#87 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_pci.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_pci.c renamed from tmp/tmp.27211.6 +8 -1
@@ -38,7 +38,7 @@* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * -* $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#87 $ +* $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#88 $ */ #ifdef __linux__
@@ -83,6 +83,7 @@#define ID_AHA_29320 0x8012900500429005ull#define ID_AHA_29320B 0x8013900500439005ull#define ID_AHA_39320_B 0x8015900500409005ull +#define ID_AHA_39320_B_DELL 0x8015900501681028ull#define ID_AHA_39320A 0x8016900500409005ull#define ID_AHA_39320D 0x8011900500419005ull#define ID_AHA_39320D_B 0x801C900500419005ull
@@ -168,6 +169,12 @@ ahd_aic7902_setup }, { +ID_AHA_39320_B_DELL , +ID_ALL_MASK , +"Adaptec (Dell OEM) 39320 Ultra320 SCSI adapter" , + ahd_aic7902_setup + }, + {ID_AHA_39320A ,ID_ALL_MASK , "Adaptec 39320A Ultra320 SCSI adapter",
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_reg.h#85 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped renamed from tmp/tmp.27211.7 +4 -3
@@ -3788,6 +3788,7 @@ /* Downloaded Constant Definitions */ +#define CACHELINE_MASK 0x07 #define SCB_TRANSFER_SIZE 0x06 #define PKT_OVERRUN_BUFOFFSET 0x05 #define SG_SIZEOF 0x04
@@ -3795,9 +3796,9 @@ #define SG_PREFETCH_ALIGN_MASK 0x02 #define SG_PREFETCH_CNT_LIMIT 0x01 #define SG_PREFETCH_CNT 0x00 -#define DOWNLOAD_CONST_COUNT 0x07 +#define DOWNLOAD_CONST_COUNT 0x08 /* Exported Labels */ -#define LABEL_seq_isr 0x283 -#define LABEL_timer_isr 0x27f +#define LABEL_seq_isr 0x285 +#define LABEL_timer_isr 0x281
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_seq.h#86 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped renamed from tmp/tmp.27211.8 +423 -421
1,218 lines not on this page · raw message
==== //depot/aic7xxx/aic7xxx/aic7xxx.c#153 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_core.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_core.c renamed from tmp/tmp.27211.9 +60 -13
103 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#270 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm.c renamed from tmp/tmp.27211.10 +15 -1
@@ -1,7 +1,7 @@/* * Adaptec AIC7xxx device driver for Linux. * -* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#270 $ +* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#271 $ * * Copyright (c) 1994 John Aycock * The University of Calgary Department of Computer Science.
@@ -4563,7 +4563,21 @@ new_status =DID_BAD_TARGET ;break ;case CAM_SEL_TIMEOUT : +#if LINUX_VERSION_CODE <KERNEL_VERSION (2 ,5 ,0 ) +/* +* The 2.4.X SCSI layer will not offline +* devices in response to DID_NO_CONNECT. +* Return a command timeout here instead +* so that for commands other than inquiry +* and request sense commands (which the +* mid-layer special cases) recovery will +* take place and persistently missing +* devices are eventually offlined. +*/ + new_status =DID_TIME_OUT ; +#else new_status =DID_NO_CONNECT ; +#endif break ;case CAM_SCSI_BUS_RESET :case CAM_BDR_SENT :
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h#170 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm.h ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm.h renamed from tmp/tmp.27211.11 +2 -2
@@ -53,7 +53,7 @@* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * -* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h#170 $ +* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h#172 $ * */ #ifndef _AIC7XXX_LINUX_H_
@@ -113,7 +113,7 @@#include <linux/smp.h> #endif -#define AIC7XXX_DRIVER_VERSION "6.3.6" +#define AIC7XXX_DRIVER_VERSION "6.3.8"/********************* Definitions Required by the Core ***********************/ /*