ia64/xen-unstable

changeset 356:1a214a999de6

bitkeeper revision 1.164 (3e955023D4pXlN3OeywA3uvFrE7d9g)

few megaraid changes
author jws@cairnwell.research
date Thu Apr 10 11:06:11 2003 +0000 (2003-04-10)
parents b2897c7b8bbf
children c9a8a90c8a96 a7e0ae68a542
files xen/drivers/scsi/Makefile xen/drivers/scsi/megaraid.c xen/drivers/scsi/megaraid.h
line diff
     1.1 --- a/xen/drivers/scsi/Makefile	Wed Apr 09 11:41:42 2003 +0000
     1.2 +++ b/xen/drivers/scsi/Makefile	Thu Apr 10 11:06:11 2003 +0000
     1.3 @@ -1,11 +1,13 @@
     1.4  
     1.5  include $(BASEDIR)/Rules.mk
     1.6  
     1.7 +# naive OBJS rule gets link order wrong
     1.8 +SCSIOBJS := scsi.o hosts.o scsicam.o scsi_dma.o scsi_error.o scsi_ioctl.o scsi_lib.o scsi_merge.o scsi_proc.o scsi_queue.o scsi_scan.o scsi_syms.o constants.o sd.o aacraid/aacraid.o aic7xxx/aic7xxx.o megaraid.o
     1.9 +
    1.10  default: $(OBJS)
    1.11  	$(MAKE) -C aacraid
    1.12  	$(MAKE) -C aic7xxx
    1.13 -	$(LD) -r -o driver.o $(OBJS) aacraid/aacraid.o aic7xxx/aic7xxx.o
    1.14 -#	$(LD) -r -o driver.o $(OBJS) 
    1.15 +	$(LD) -r -o driver.o $(SCSIOBJS)
    1.16  
    1.17  clean:
    1.18  	$(MAKE) -C aacraid clean
     2.1 --- a/xen/drivers/scsi/megaraid.c	Wed Apr 09 11:41:42 2003 +0000
     2.2 +++ b/xen/drivers/scsi/megaraid.c	Thu Apr 10 11:06:11 2003 +0000
     2.3 @@ -3118,9 +3118,11 @@ static int mega_findCard (Scsi_Host_Temp
     2.4  		megaCfg->lock_pend = SPIN_LOCK_UNLOCKED;
     2.5  		megaCfg->lock_scsicmd = SPIN_LOCK_UNLOCKED;
     2.6  		megaCfg->flag = flag;
     2.7 +#if XENO_KILLED_DELLOGDRV
     2.8  		megaCfg->int_qh = NULL;
     2.9  		megaCfg->int_qt = NULL;
    2.10  		megaCfg->int_qlen = 0;
    2.11 +#endif
    2.12  
    2.13  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
    2.14  		megaCfg->dev = pdev;
    2.15 @@ -3955,7 +3957,9 @@ int megaraid_queue (Scsi_Cmnd * SCpnt, v
    2.16  		 * logical drive opertion. If it is, queue the commands in the
    2.17  		 * internal queue until the delete operation is complete.
    2.18  		 */
    2.19 +#if XENO_KILLED_DELLOGDRV
    2.20  		if( ! megaCfg->quiescent ) {
    2.21 +#endif
    2.22  			/* Add SCB to the head of the pending queue */
    2.23  			if (megaCfg->qPendingH == NULL) {
    2.24  				megaCfg->qPendingH = megaCfg->qPendingT = pScb;
    2.25 @@ -3970,6 +3974,7 @@ int megaraid_queue (Scsi_Cmnd * SCpnt, v
    2.26  				DRIVER_UNLOCK (megaCfg);
    2.27  				return 0;
    2.28  			}
    2.29 +#if XENO_KILLED_DELLOGDRV
    2.30  		}
    2.31  		else {
    2.32  			/* Add SCB to the internal queue */
    2.33 @@ -3982,6 +3987,7 @@ int megaraid_queue (Scsi_Cmnd * SCpnt, v
    2.34  			megaCfg->int_qt->next = NULL;
    2.35  			megaCfg->int_qlen++;
    2.36  		}
    2.37 +#endif
    2.38  
    2.39  		if (pScb->SCpnt->cmnd[0] == M_RD_IOCTL_CMD_NEW) {
    2.40  #if XENO_KILLED
    2.41 @@ -5329,7 +5335,7 @@ static int
    2.42  mega_del_logdrv(mega_host_config *this_hba, int logdrv)
    2.43  {
    2.44    return -ENOSYS;
    2.45 -#if XENO_KILLED
    2.46 +#if XENO_KILLED_DELLOGDRV
    2.47  	int		rval;
    2.48  	IO_LOCK_T;
    2.49  	DECLARE_WAIT_QUEUE_HEAD(wq);
     3.1 --- a/xen/drivers/scsi/megaraid.h	Wed Apr 09 11:41:42 2003 +0000
     3.2 +++ b/xen/drivers/scsi/megaraid.h	Thu Apr 10 11:06:11 2003 +0000
     3.3 @@ -236,6 +236,7 @@
     3.4      present:	  	0,		       	/* Present			*/\
     3.5      unchecked_isa_dma:	0,		       	/* Default Unchecked ISA DMA	*/\
     3.6      use_clustering:   	ENABLE_CLUSTERING, 	/* Enable Clustering		*/\
     3.7 +    use_new_eh_code:    1,                      /* Uses new error handling code */\
     3.8    }
     3.9  #endif
    3.10  // XENO: REMOVED     command:	  	megaraid_command,	/* Command Function		*/
    3.11 @@ -802,6 +803,7 @@ typedef struct _mega_host_config {
    3.12  	int		support_random_del;	/* Do we support random deletion of logdrvs */
    3.13  	int		read_ldidmap;	/* set after logical drive deltion. The logical
    3.14  								drive number must be read from the map */
    3.15 +#if XENO_KILLED_DELLOGDRV
    3.16  	int		quiescent;	/* a stage reached when delete logical drive needs to
    3.17  						   be done. Stop sending requests to the hba till
    3.18  						   delete operation is completed */
    3.19 @@ -809,6 +811,7 @@ typedef struct _mega_host_config {
    3.20  	mega_scb	*int_qh;	/* commands are queued in the internal queue */
    3.21  	mega_scb	*int_qt;	/* while the hba is quiescent */
    3.22  	int			int_qlen;
    3.23 +#endif
    3.24  	char		logdrv_chan[MAX_CHANNEL+NVIRT_CHAN]; /* logical drive are on
    3.25  														 what channels. */
    3.26  	int			mega_ch_class;