Skip to contentSkip to conversation

Sync up drivers/scsi/aic7xxx

PATCH In review Luben Tuikov 1 participant 1 message Sep 28, 2004 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 16/28 Sync up drivers/scsi/aic7xxx

Sync up drivers/scsi/aic7xxx/. (2603-2643)

==== //depot/aic7xxx/aic7xxx/aic79xx.reg#70 - /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.26963.0 +21 -19
@@ -39,7 +39,7 @@
  *
  * $FreeBSD$
  */
-VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $"
+VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#72 $"
 
 /*
  * This file is processed by the aic7xxx_asm utility for use in assembling
@@ -65,13 +65,6 @@
 		mvi	MODE_PTR, MK_MODE(src, dst);			\
 	}
 
-#define TOGGLE_DFF_MODE							\
-	if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) {			\
-		call	toggle_dff_mode_work_around;			\
-	} else {							\
-		xor	MODE_PTR, MK_MODE(M_DFF1, M_DFF1);		\
-	}
-	
 #define RESTORE_MODE(mode)						\
 	if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) {			\
 		mov	mode call set_mode_work_around;			\
@@ -3542,6 +3535,15 @@
 	COMPLETE_DMA_SCB_HEAD {
 		size		2
 	}
+	/*
+	 * head of list of SCBs that have
+	 * been uploaded to the host, but cannot
+	 * be completed until the QFREEZE is in
+	 * full effect (i.e. no selections pending).
+	 */
+	COMPLETE_ON_QFREEZE_HEAD {
+		size		2
+	}
 	/* Counting semaphore to prevent new select-outs */
 	QFREEZE_COUNT {
 		size		2
@@ -3625,6 +3627,17 @@
 		size		1
 	}
 	/*
+	 * Kernel and sequencer offsets into the queue of
+	 * incoming target mode command descriptors.  The
+	 * queue is full when the KERNEL_TQINPOS == TQINPOS.
+	 */
+	KERNEL_TQINPOS {
+		size		1
+	}
+	TQINPOS {
+		size		1
+	}
+	/*
 	 * Base address of our shared data with the kernel driver in host
 	 * memory.  This includes the qoutfifo and target mode
 	 * incoming command queue.
@@ -3639,17 +3652,6 @@
 	QOUTFIFO_NEXT_ADDR {
 		size		4
 	}
-	/*
-	 * Kernel and sequencer offsets into the queue of
-	 * incoming target mode command descriptors.  The
-	 * queue is full when the KERNEL_TQINPOS == TQINPOS.
-	 */
-	KERNEL_TQINPOS {
-		size		1
-	}
-	TQINPOS {
-		size		1
-	}
 	ARG_1 {
 		size		1
 		mask	SEND_MSG		0x80

==== //depot/aic7xxx/aic7xxx/aic79xx.seq#107 - /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.26963.1 +78 -25

183 lines not on this page · raw message

==== //depot/aic7xxx/aic7xxx/aic79xx.c#225 - /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.26963.2 +2 -1
@@ -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#225 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#226 $
  */
 
 #ifdef __linux__
@@ -8011,6 +8011,7 @@
 	} else {
 		paused = 0;
 		ahd_pause(ahd);
+		ahd_clear_critical_section(ahd);
 	}
 
 	/* Freeze the queue until the client sees the error. */

==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#195 - /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.26963.3 +29 -41

162 lines not on this page · raw message

==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_reg.h#77 - /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.26963.4 +4 -4
@@ -2,8 +2,8 @@
  * DO NOT EDIT - This file is automatically generated
  *		 from the following source files:
  *
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#107 $
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#109 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#71 $
  */
 typedef int (ahd_reg_print_t)(u_int, u_int *, u_int);
 typedef struct ahd_reg_parse_entry {
@@ -3772,5 +3772,5 @@
 
 
 /* Exported Labels */
-#define	LABEL_seq_isr 	0x269
-#define	LABEL_timer_isr	0x265
+#define	LABEL_seq_isr 	0x26d
+#define	LABEL_timer_isr	0x269

==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_reg_print.c#58 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped ====

home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped renamed from tmp/tmp.26963.5 +2 -2
@@ -2,8 +2,8 @@
  * DO NOT EDIT - This file is automatically generated
  *		 from the following source files:
  *
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#107 $
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#109 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#71 $
  */
 
 #include "aic79xx_osm.h"

==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_seq.h#78 - /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.26963.6 +394 -388

1,199 lines not on this page · raw message

==== //depot/aic7xxx/aic7xxx/aic7xxx.c#147 - /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.26963.7 +2 -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/aic7xxx.c#147 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#148 $
  */
 
 #ifdef __linux__
@@ -5525,7 +5525,7 @@
 				if (cstat != CAM_REQ_CMP)
 					aic_freeze_scb(scb);
 				if ((scb->flags & SCB_ACTIVE) == 0)
-					printf("Inactive SCB in Waiting List\n");
+					printf("Inactive SCB in Wait List\n");
 				ahc_done(ahc, scb);
 				/* FALLTHROUGH */
 			}
@@ -5631,8 +5631,6 @@
 				cstat = aic_get_transaction_status(scb);
 				if (cstat != CAM_REQ_CMP)
 					aic_freeze_scb(scb);
-				if ((scb->flags & SCB_ACTIVE) == 0)
-					printf("Inactive SCB in untaggedQ\n");
 				ahc_done(ahc, scb);
 				break;
 			}

==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#259 - /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.26963.8 +33 -15

88 lines not on this page · raw message

==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aiclib.h#31 - /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.26963.9 +6 -5
@@ -357,13 +357,14 @@
 #define AIC_SCSI_HAS_HOST_LOCK 1
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
-#define aic_assign_host_lock(aic)	\
-	scsi_assign_lock((aic)->host, &(aic)->spin_lock);
+#define aic_assign_host_lock(aic)			\
+    scsi_assign_lock((aic)->platform_data->host,	\
+		     &(aic)->platform_data->spin_lock);
 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,21) \
    && defined(RED_HAT_LINUX_KERNEL)
-#define aic_assign_host_lock(aic)			\
-do {							\
-        (aic)->host->host_lock = &(aic)->spin_lock;	\
+#define aic_assign_host_lock(aic)					\
+do {									\
+        (aic)->host->host_lock = &(aic)->platform_data->spin_lock;	\
 } while (0)
 #else
 #define aic_assign_host_lock(aic)		\