Commit 403671e8 authored by Justin T. Gibbs's avatar Justin T. Gibbs

Update Aic7xxx Driver to 6.2.30

 o Fix initial DV scan to scan more than just the first target.
 o Fix compilation on SuSE 2.4.16 kernels.
parent e1f5aa3d
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7770_osm.c#12 $ * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7770_osm.c#13 $
*/ */
#include "aic7xxx_osm.h" #include "aic7xxx_osm.h"
...@@ -66,7 +66,7 @@ aic7770_linux_probe(Scsi_Host_Template *template) ...@@ -66,7 +66,7 @@ aic7770_linux_probe(Scsi_Host_Template *template)
continue; continue;
request_region(eisaBase, AHC_EISA_IOSIZE, "aic7xxx"); request_region(eisaBase, AHC_EISA_IOSIZE, "aic7xxx");
#else #else
if (request_region(eisaBase, AHC_EISA_IOSIZE, "aic7xxx") != 0) if (request_region(eisaBase, AHC_EISA_IOSIZE, "aic7xxx") == 0)
continue; continue;
#endif #endif
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#119 $ * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#121 $
* *
* $FreeBSD$ * $FreeBSD$
*/ */
...@@ -4796,7 +4796,9 @@ ahc_init(struct ahc_softc *ahc) ...@@ -4796,7 +4796,9 @@ ahc_init(struct ahc_softc *ahc)
/* DMA tag for mapping buffers into device visible space. */ /* DMA tag for mapping buffers into device visible space. */
if (ahc_dma_tag_create(ahc, ahc->parent_dmat, /*alignment*/1, if (ahc_dma_tag_create(ahc, ahc->parent_dmat, /*alignment*/1,
/*boundary*/BUS_SPACE_MAXADDR_32BIT + 1, /*boundary*/BUS_SPACE_MAXADDR_32BIT + 1,
/*lowaddr*/BUS_SPACE_MAXADDR, /*lowaddr*/ahc->flags & AHC_39BIT_ADDRESSING
? (bus_addr_t)0x7FFFFFFFFFULL
: BUS_SPACE_MAXADDR_32BIT,
/*highaddr*/BUS_SPACE_MAXADDR, /*highaddr*/BUS_SPACE_MAXADDR,
/*filter*/NULL, /*filterarg*/NULL, /*filter*/NULL, /*filterarg*/NULL,
/*maxsize*/(AHC_NSEG - 1) * PAGE_SIZE, /*maxsize*/(AHC_NSEG - 1) * PAGE_SIZE,
...@@ -6302,9 +6304,9 @@ static int ...@@ -6302,9 +6304,9 @@ static int
ahc_loadseq(struct ahc_softc *ahc) ahc_loadseq(struct ahc_softc *ahc)
{ {
struct cs cs_table[num_critical_sections]; struct cs cs_table[num_critical_sections];
struct patch *cur_patch;
u_int begin_set[num_critical_sections]; u_int begin_set[num_critical_sections];
u_int end_set[num_critical_sections]; u_int end_set[num_critical_sections];
struct patch *cur_patch;
u_int cs_count; u_int cs_count;
u_int cur_cs; u_int cur_cs;
u_int i; u_int i;
......
/* /*
* Adaptec AIC7xxx device driver for Linux. * Adaptec AIC7xxx device driver for Linux.
* *
* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#189 $ * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#192 $
* *
* Copyright (c) 1994 John Aycock * Copyright (c) 1994 John Aycock
* The University of Calgary Department of Computer Science. * The University of Calgary Department of Computer Science.
...@@ -1295,7 +1295,7 @@ Scsi_Host_Template aic7xxx_driver_template = { ...@@ -1295,7 +1295,7 @@ Scsi_Host_Template aic7xxx_driver_template = {
.max_sectors = 8192, .max_sectors = 8192,
#endif #endif
#if defined CONFIG_HIGHIO || LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) #if defined CONFIG_HIGHIO || LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,18) #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,10)
/* Assume RedHat Distribution with its different HIGHIO conventions. */ /* Assume RedHat Distribution with its different HIGHIO conventions. */
.can_dma_32 = 1, .can_dma_32 = 1,
.single_sg_okay = 1, .single_sg_okay = 1,
...@@ -1889,7 +1889,8 @@ ahc_linux_register_host(struct ahc_softc *ahc, Scsi_Host_Template *template) ...@@ -1889,7 +1889,8 @@ ahc_linux_register_host(struct ahc_softc *ahc, Scsi_Host_Template *template)
* negotiation will occur for the first command, and DV * negotiation will occur for the first command, and DV
* will comence should that first command be successful. * will comence should that first command be successful.
*/ */
for (target = 0; target < host->max_id*host->max_channel+1; target++) { for (target = 0;
target < host->max_id * (host->max_channel + 1); target++) {
u_int channel; u_int channel;
channel = 0; channel = 0;
...@@ -2344,7 +2345,7 @@ ahc_linux_start_dv(struct ahc_softc *ahc) ...@@ -2344,7 +2345,7 @@ ahc_linux_start_dv(struct ahc_softc *ahc)
/* /*
* Freeze the simq and signal ahc_linux_queue to not let any * Freeze the simq and signal ahc_linux_queue to not let any
* more commands through * more commands through.
*/ */
if ((ahc->platform_data->flags & AHC_DV_ACTIVE) == 0) { if ((ahc->platform_data->flags & AHC_DV_ACTIVE) == 0) {
#ifdef AHC_DEBUG #ifdef AHC_DEBUG
...@@ -2554,6 +2555,7 @@ ahc_linux_dv_target(struct ahc_softc *ahc, u_int target_offset) ...@@ -2554,6 +2555,7 @@ ahc_linux_dv_target(struct ahc_softc *ahc, u_int target_offset)
} }
case AHC_DV_STATE_TUR: case AHC_DV_STATE_TUR:
case AHC_DV_STATE_BUSY: case AHC_DV_STATE_BUSY:
timeout = 5 * HZ;
ahc_linux_dv_tur(ahc, cmd, &devinfo); ahc_linux_dv_tur(ahc, cmd, &devinfo);
break; break;
case AHC_DV_STATE_REBD: case AHC_DV_STATE_REBD:
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h#127 $ * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h#128 $
* *
*/ */
#ifndef _AIC7XXX_LINUX_H_ #ifndef _AIC7XXX_LINUX_H_
...@@ -299,7 +299,7 @@ ahc_scb_timer_reset(struct scb *scb, u_int usec) ...@@ -299,7 +299,7 @@ ahc_scb_timer_reset(struct scb *scb, u_int usec)
#include <linux/smp.h> #include <linux/smp.h>
#endif #endif
#define AIC7XXX_DRIVER_VERSION "6.2.29" #define AIC7XXX_DRIVER_VERSION "6.2.30"
/**************************** Front End Queues ********************************/ /**************************** Front End Queues ********************************/
/* /*
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#60 $ * $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#61 $
* *
* $FreeBSD$ * $FreeBSD$
*/ */
...@@ -1007,7 +1007,7 @@ ahc_pci_config(struct ahc_softc *ahc, struct ahc_pci_identity *entry) ...@@ -1007,7 +1007,7 @@ ahc_pci_config(struct ahc_softc *ahc, struct ahc_pci_identity *entry)
ahc->bus_softc.pci_softc.devconfig = ahc->bus_softc.pci_softc.devconfig =
ahc_pci_read_config(ahc->dev_softc, DEVCONFIG, /*bytes*/4); ahc_pci_read_config(ahc->dev_softc, DEVCONFIG, /*bytes*/4);
ahc->bus_softc.pci_softc.command = ahc->bus_softc.pci_softc.command =
ahc_pci_read_config(ahc->dev_softc, PCIR_COMMAND, /*bytes*/1); ahc_pci_read_config(ahc->dev_softc, PCIR_COMMAND, /*bytes*/1);
ahc->bus_softc.pci_softc.csize_lattime = ahc->bus_softc.pci_softc.csize_lattime =
ahc_pci_read_config(ahc->dev_softc, CSIZE_LATTIME, /*bytes*/1); ahc_pci_read_config(ahc->dev_softc, CSIZE_LATTIME, /*bytes*/1);
ahc->bus_softc.pci_softc.dscommand0 = ahc_inb(ahc, DSCOMMAND0); ahc->bus_softc.pci_softc.dscommand0 = ahc_inb(ahc, DSCOMMAND0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment