Sync up drivers/scsi/aic7xxx
PATCH 14/28 Sync up drivers/scsi/aic7xxx
Sync up drivers/scsi/aic7xxx/. (2437-2541)
==== //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#7 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/Kconfig.aic7xxx ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/Kconfig.aic7xxx renamed from tmp/tmp.26656.0 +1 -6
@@ -1,6 +1,6 @@ # # AIC7XXX and AIC79XX 2.5.X Kernel configuration File. -# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#7 $ +# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#8 $ # config SCSI_AIC7XXX tristate "Adaptec AIC7xxx Fast -> U160 support (New Driver)"
@@ -11,11 +11,6 @@ SCSI controllers (the 274x and 284x series). For AAA and ARO based configurations, only SCSI functionality is provided. - If you want to compile the driver as a module ( = code which can be - inserted in and removed from the running kernel whenever you want), - say M here and read <file:Documentation/modules.txt>. The module - will be called aic7xxx. - config AIC7XXX_CMDS_PER_DEVICE int "Maximum number of TCQ commands per device" depends on SCSI_AIC7XXX
==== //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#7 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/Makefile ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/Makefile renamed from tmp/tmp.26656.1 +15 -1
@@ -1,7 +1,7 @@ # # Makefile for the Linux aic7xxx SCSI driver. # -# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#7 $ +# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $ # # Let kbuild descend into aicasm when cleaning
@@ -58,6 +58,13 @@ -p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y) +# Create a dependency chain in generated files +# to avoid concurrent invocations of the single +# rule that builds them all. +aic7xxx_seq.h: aic7xxx_reg.h +ifeq ($(CONFIG_AIC7XXX_REG_PRETTY_PRINT),y) +aic7xxx_reg.h: aic7xxx_reg_print.c +endif $(aic7xxx-gen-y): $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm $(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic7xxx_reg.h \ $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
@@ -72,6 +79,13 @@ -p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y) +# Create a dependency chain in generated files +# to avoid concurrent invocations of the single +# rule that builds them all. +aic79xx_seq.h: aic79xx_reg.h +ifeq ($(CONFIG_AIC79XX_REG_PRETTY_PRINT),y) +aic79xx_reg.h: aic79xx_reg_print.c +endif $(aic79xx-gen-y): $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm $(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic79xx_reg.h \ $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
==== //depot/aic7xxx/aic7xxx/aic7770.c#32 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7770.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7770.c renamed from tmp/tmp.26656.2 +2 -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/aic7770.c#32 $ +* $Id: //depot/aic7xxx/aic7xxx/aic7770.c#33 $ * * $FreeBSD$ */
@@ -175,7 +175,7 @@case 15 :break ;default : -printf ("aic7770_config: illegal irq setting %d\n" , intdef); +printf ("aic7770_config: invalid irq setting %d\n" , intdef);return (ENXIO ); }
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7770_osm.c#15 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7770_osm.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7770_osm.c renamed from tmp/tmp.26656.3 +2 -1
@@ -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/aic7770_osm.c#15 $ +* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7770_osm.c#16 $ */ #include "aic7xxx_osm.h"
@@ -190,6 +190,7 @@free (name,M_DEVBUF );return (ENOMEM ); } + ahc->dev_softc = dev; error =aic7770_config (ahc, entry, eisaBase);if (error !=0 ) { ahc->bsh.ioport =0 ;
==== //depot/aic7xxx/aic7xxx/aic79xx.seq#105 - /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.26656.4 +8 -6
@@ -40,7 +40,7 @@ * $FreeBSD$ */ -VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#105 $" +VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#106 $" PATCH_ARG_LIST = "struct ahd_softc *ahd" PREFIX = "ahd_"
@@ -108,9 +108,9 @@ call idle_loop_cchan; jmp idle_loop; -BEGIN_CRITICAL; idle_loop_gsfifo: SET_MODE(M_SCSI, M_SCSI) +BEGIN_CRITICAL; idle_loop_gsfifo_in_scsi_mode: test LQISTAT2, LQIGSAVAIL jz return; /*
@@ -159,11 +159,15 @@ idle_loop_service_fifos: SET_MODE(M_DFF0, M_DFF0) +BEGIN_CRITICAL; test LONGJMP_ADDR[1], INVALID_ADDR jnz idle_loop_next_fifo; call longjmp; +END_CRITICAL; idle_loop_next_fifo: SET_MODE(M_DFF1, M_DFF1) +BEGIN_CRITICAL; test LONGJMP_ADDR[1], INVALID_ADDR jz longjmp; +END_CRITICAL; return: ret;
@@ -177,7 +181,6 @@ test CCSCBCTL, CCARREN|CCSCBEN jz scbdma_idle; test CCSCBCTL, CCSCBDIR jnz fetch_new_scb_inprog; test CCSCBCTL, CCSCBDONE jz return; -END_CRITICAL; /* FALLTHROUGH */ scbdma_tohost_done: test CCSCBCTL, CCARREN jz fill_qoutfifo_dmadone;
@@ -207,6 +210,7 @@ test QOFF_CTLSTA, SDSCB_ROLLOVR jz return; bmov QOUTFIFO_NEXT_ADDR, SHARED_DATA_ADDR, 4; xor QOUTFIFO_ENTRY_VALID_TAG, QOUTFIFO_ENTRY_VALID_TOGGLE ret; +END_CRITICAL; qoutfifo_updated: /*
@@ -541,6 +545,7 @@ SET_SRC_MODE M_SCSI; SET_DST_MODE M_SCSI; select_out: +BEGIN_CRITICAL; if ((ahd->bugs & AHD_FAINT_LED_BUG) != 0) { /* * On Rev A. hardware, the busy LED is only
@@ -556,7 +561,6 @@ */ or SBLKCTL, DIAGLEDEN|DIAGLEDON; } -BEGIN_CRITICAL; /* Clear out all SCBs that have been successfully sent. */ if ((ahd->bugs & AHD_SENT_SCB_UPDATE_BUG) != 0) { /*
@@ -1868,7 +1872,6 @@ dec SCB_FIFO_USE_COUNT; test SCB_CONTROL, STATUS_RCVD jnz pkt_complete_scb_if_fifos_idle; mvi DFFSXFRCTL, CLRCHN ret; -END_CRITICAL; /* * LAST_SEG_DONE status has been seen in the current FIFO.
@@ -1877,7 +1880,6 @@ * Check for overrun and see if we can complete this command. */ pkt_last_seg_done: -BEGIN_CRITICAL; /* * Mark transfer as completed. */
==== //depot/aic7xxx/aic7xxx/aic79xx.c#219 - /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.26656.5 +6 -4
@@ -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.c#219 $ +* $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#220 $ * * $FreeBSD$ */
@@ -3190,11 +3190,13 @@ iocell_opts[AHD_PRECOMP_SLEW_INDEX ] &= ~AHD_PRECOMP_MASK ;if ((ahd->features &AHD_NEW_IOCELL_OPTS ) !=0 - && (ppr_opts &MSG_EXT_PPR_DT_REQ ) !=0 ) { + && (ppr_opts &MSG_EXT_PPR_DT_REQ ) !=0 + && (ppr_opts &MSG_EXT_PPR_IU_REQ ) ==0 ) {/* * Slow down our CRC interval to be -* compatible with devices that can't -* handle a CRC at full speed. +* compatible with non-packetized +* U160 devices that can't handle a +* CRC at full speed. */ con_opts |=ENSLOWCRC ; }
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#188 - /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.26656.6 +28 -60
174 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.h#149 - /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.26656.7 +15 -40
94 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm_pci.c#28 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm_pci.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm_pci.c renamed from tmp/tmp.26656.8 +22 -23
137 lines not on this page · raw message
==== //depot/aic7xxx/aic7xxx/aic7xxx.reg#39 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx.reg ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx.reg renamed from tmp/tmp.26656.9 +2 -2
@@ -39,7 +39,7 @@ * * $FreeBSD$ */ -VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#39 $" +VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $" /* * This file is processed by the aic7xxx_asm utility for use in assembling
@@ -1306,7 +1306,6 @@ */ MWI_RESIDUAL { size 1 - alias TARG_IMMEDIATE_SCB } /* * SCBID of the next SCB to be started by the controller.
@@ -1461,6 +1460,7 @@ */ LAST_MSG { size 1 + alias TARG_IMMEDIATE_SCB } /*
==== //depot/aic7xxx/aic7xxx/aic7xxx.c#144 - /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.26656.10 +8 -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/aic7xxx.c#144 $ +* $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#145 $ * * $FreeBSD$ */
@@ -5115,8 +5115,14 @@ ahc->flags |=AHC_ALL_INTERRUPTS ; paused = FALSE; do { - if (paused) + if (paused) { ahc_unpause(ahc); + /* + * Give the sequencer some time to service + * any active selections. + */ + aic_delay(200); + } ahc_intr(ahc); ahc_pause(ahc); paused = TRUE;
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#251 - /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.26656.11 +30 -62
191 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h#162 - /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.26656.12 +15 -39
92 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c#51 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c renamed from tmp/tmp.26656.13 +20 -21
123 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_reg.h#28 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_reg.h_shipped ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_reg.h_shipped renamed from tmp/tmp.26656.14 +2 -2
@@ -3,7 +3,7 @@ * from the following source files: * * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $ - * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#39 $ + * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $ */ typedef int (ahc_reg_print_t)(u_int, u_int *, u_int); typedef struct ahc_reg_parse_entry {
@@ -1298,7 +1298,6 @@ #define CMDSIZE_TABLE_TAIL 0x34 #define MWI_RESIDUAL 0x38 -#define TARG_IMMEDIATE_SCB 0x38 #define NEXT_QUEUED_SCB 0x39
@@ -1380,6 +1379,7 @@ #define RETURN_2 0x52 #define LAST_MSG 0x53 +#define TARG_IMMEDIATE_SCB 0x53 #define SCSISEQ_TEMPLATE 0x54 #define ENSELO 0x40
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_reg_print.c#15 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped renamed from tmp/tmp.26656.15 +1 -1
@@ -3,7 +3,7 @@ * from the following source files: * * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $ - * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#39 $ + * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $ */ #include "aic7xxx_osm.h"
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_seq.h#29 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped renamed from tmp/tmp.26656.16 +4 -4
@@ -3,7 +3,7 @@ * from the following source files: * * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $ - * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#39 $ + * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $ */ static uint8_t seqprog[] = { 0xb2, 0x00, 0x00, 0x08,
@@ -155,12 +155,12 @@ 0x04, 0x3c, 0x92, 0x69, 0x02, 0x3c, 0x98, 0x69, 0x01, 0x3c, 0x44, 0x79, - 0xff, 0x6a, 0x70, 0x00, + 0xff, 0x6a, 0xa6, 0x00, 0x00, 0x65, 0xa4, 0x59, 0x00, 0x6a, 0xc2, 0x5e, - 0xff, 0x38, 0x30, 0x71, + 0xff, 0x53, 0x30, 0x71, 0x0d, 0x6a, 0x76, 0x00, - 0x00, 0x38, 0x14, 0x5e, + 0x00, 0x53, 0x14, 0x5e, 0x00, 0x65, 0xea, 0x58, 0x12, 0x01, 0x02, 0x00, 0x00, 0x65, 0x18, 0x41,
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aiclib.c#14 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib.c renamed from tmp/tmp.26656.17 +14 -46
118 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aiclib.h#20 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib.h ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib.h renamed from tmp/tmp.26656.18 +246 -35
361 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aiclib_pci.c#1 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib_pci.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib_pci.c renamed from tmp/tmp.26656.19 +1 -1
@@ -43,7 +43,7 @@ aic_power_state_change(struct aic_softc *aic, aic_power_state new_state) {#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,4 ,0 ) -pci_set_power_state (aic->dev_softc, new_state); +pci_set_power_state (aic_dev_to_pci_dev (aic->dev_softc), new_state);#else uint32_t cap;u_int cap_offset;