Sync up drivers/scsi/aic7xxx
PATCH 13/28 Sync up drivers/scsi/aic7xxx
Sync up drivers/scsi/aic7xxx/. (2396-2437)
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7770_osm.c#14 - /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.26602.0 +5 -3
@@ -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#14 $ +* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7770_osm.c#15 $ */ #include "aic7xxx_osm.h"
@@ -267,12 +267,14 @@if (ahc !=NULL ) {u_long s; +TAILQ_REMOVE (&ahc_tailq, ahc, links); +ahc_list_unlock (&l);ahc_lock (ahc, &s);ahc_intr_enable (ahc, FALSE);ahc_unlock (ahc, &s);ahc_free (ahc); - } -ahc_list_unlock (&l); + }else +ahc_list_unlock (&l);return (0 ); }
==== //depot/aic7xxx/aic7xxx/aic79xx.seq#104 - /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.26602.1 +2 -2
@@ -40,7 +40,7 @@ * $FreeBSD$ */ -VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#104 $" +VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#105 $" PATCH_ARG_LIST = "struct ahd_softc *ahd" PREFIX = "ahd_"
@@ -1701,7 +1701,7 @@ test DFCNTRL, DIRECTION jz interrupt_return; and DFCNTRL, ~SCSIEN; snapshot_wait_data_valid: - test SEQINTSRC, (CTXTDONE|SAVEPTRS) jnz snapshot_data_valid; + test SEQINTSRC, (CTXTDONE|SAVEPTRS) jnz interrupt_return; test SSTAT1, REQINIT jz snapshot_wait_data_valid; snapshot_data_valid: or DFCNTRL, SCSIEN;
==== //depot/aic7xxx/aic7xxx/aic79xx.c#217 - /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.26602.2 +7 -8
@@ -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#217 $ +* $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#219 $ * * $FreeBSD$ */
@@ -5176,24 +5176,24 @@ {struct ahd_softc *list_ahd; -#if AHD_PCI_CONFIG >0 +#if AIC_PCI_CONFIG >0 /* * Second Function PCI devices need to inherit some * settings from function 0. */ if ((ahd->features &AHD_MULTI_FUNC ) !=0 ) { TAILQ_FOREACH(list_ahd, &ahd_tailq, links) { -ahd_dev_softc_t list_pci; -ahd_dev_softc_t pci; +aic_dev_softc_t list_pci; +aic_dev_softc_t pci; list_pci = list_ahd->dev_softc; pci = ahd->dev_softc; -if (ahd_get_pci_slot (list_pci) ==ahd_get_pci_slot (pci) - &&ahd_get_pci_bus (list_pci) ==ahd_get_pci_bus (pci)) { +if (aic_get_pci_slot (list_pci) ==aic_get_pci_slot (pci) + &&aic_get_pci_bus (list_pci) ==aic_get_pci_bus (pci)) {struct ahd_softc *master;struct ahd_softc *slave; -if (ahd_get_pci_function (list_pci) ==0 ) { +if (aic_get_pci_function (list_pci) ==0 ) { master = list_ahd; slave = ahd; }else {
@@ -5263,7 +5263,6 @@default :case 5 :ahd_shutdown (ahd); -TAILQ_REMOVE (&ahd_tailq, ahd, links);/* FALLTHROUGH */ case 4 : aic_dmamap_unload(ahd, ahd->shared_data_dmat,
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#182 - /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.26602.3 +48 -36
166 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.h#147 - /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.26602.4 +12 -136
197 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm_pci.c#26 - /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.26602.5 +28 -26
146 lines not on this page · raw message
==== //depot/aic7xxx/aic7xxx/aic79xx_pci.c#81 - /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.26602.6 +12 -24
@@ -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#81 $ +* $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#83 $ * * $FreeBSD$ */
@@ -75,13 +75,13 @@#define ID_AHA_29320ALP 0x8017900500449005ull#define ID_AIC7901A 0x801E9005FFFF9005ull -#define ID_AHA_29320 0x8012900500429005ull -#define ID_AHA_29320B 0x8013900500439005ull#define ID_AHA_29320LP 0x8014900500449005ull#define ID_AIC7902 0x801F9005FFFF9005ull#define ID_AIC7902_B 0x801D9005FFFF9005ull#define ID_AHA_39320 0x8010900500409005ull +#define ID_AHA_29320 0x8012900500429005ull +#define ID_AHA_29320B 0x8013900500439005ull#define ID_AHA_39320_B 0x8015900500409005ull#define ID_AHA_39320A 0x8016900500409005ull#define ID_AHA_39320D 0x8011900500419005ull
@@ -136,24 +136,24 @@ },/* aic7901A based controllers */ { -ID_AHA_29320 , +ID_AHA_29320LP ,ID_ALL_MASK , -"Adaptec 29320 Ultra320 SCSI adapter" , +"Adaptec 29320LP Ultra320 SCSI adapter" , ahd_aic7901A_setup }, +/* aic7902 based controllers */ { -ID_AHA_29320B , +ID_AHA_29320 ,ID_ALL_MASK , -"Adaptec 29320B Ultra320 SCSI adapter" , - ahd_aic7901A_setup +"Adaptec 29320 Ultra320 SCSI adapter" , + ahd_aic7902_setup }, { -ID_AHA_29320LP , +ID_AHA_29320B ,ID_ALL_MASK , -"Adaptec 29320LP Ultra320 SCSI adapter" , - ahd_aic7901A_setup +"Adaptec 29320B Ultra320 SCSI adapter" , + ahd_aic7902_setup }, -/* aic7902 based controllers */ {ID_AHA_39320 , ID_ALL_MASK,
@@ -196,18 +196,6 @@"Adaptec (HP OEM) 39320D Ultra320 SCSI adapter" , ahd_aic7902_setup }, - { -ID_AHA_29320 , -ID_ALL_MASK , -"Adaptec 29320 Ultra320 SCSI adapter" , - ahd_aic7902_setup - }, - { -ID_AHA_29320B , -ID_ALL_MASK , -"Adaptec 29320B Ultra320 SCSI adapter" , - ahd_aic7902_setup - },/* Generic chip probes for devices we don't know 'exactly' */ { ID_AIC7901 & ID_DEV_VENDOR_MASK,
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_reg.h#75 - /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.26602.7 +1 -1
@@ -2,7 +2,7 @@ * DO NOT EDIT - This file is automatically generated * from the following source files: * - * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#104 $ + * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#105 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $ */ typedef int (ahd_reg_print_t)(u_int, u_int *, u_int);
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_reg_print.c#56 - /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.26602.8 +1 -1
@@ -2,7 +2,7 @@ * DO NOT EDIT - This file is automatically generated * from the following source files: * - * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#104 $ + * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#105 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $ */
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_seq.h#76 - /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.26602.9 +2 -2
@@ -2,7 +2,7 @@ * DO NOT EDIT - This file is automatically generated * from the following source files: * - * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#104 $ + * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#105 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $ */ static uint8_t seqprog[] = {
@@ -631,7 +631,7 @@ 0x11, 0x00, 0x00, 0x10, 0x04, 0x19, 0x08, 0x7d, 0xdf, 0x19, 0x32, 0x08, - 0x60, 0x5b, 0xe6, 0x6c, + 0x60, 0x5b, 0x08, 0x6d, 0x01, 0x4c, 0xe2, 0x7c, 0x20, 0x19, 0x32, 0x00, 0x01, 0xd9, 0xb2, 0x05,
==== //depot/aic7xxx/aic7xxx/aic7xxx.c#142 - /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.26602.10 +1 -10
@@ -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#142 $ +* $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#144 $ * * $FreeBSD$ */
@@ -3974,7 +3974,6 @@default :case 5 :ahc_shutdown (ahc); -TAILQ_REMOVE (&ahc_tailq, ahc, links);/* FALLTHROUGH */ case 4 : aic_dmamap_unload(ahc, ahc->shared_data_dmat,
@@ -4083,14 +4082,6 @@* to disturb the integrity of the bus. */ ahc_pause (ahc); -if ((ahc_inb (ahc,HCNTRL ) &CHIPRST ) !=0 ) { -/* -* The chip has not been initialized since -* PCI/EISA/VLB bus reset. Don't trust -* "left over BIOS data". -*/ - ahc->flags |=AHC_NO_BIOS_INIT ; - } sxfrctl1_b =0 ;if ((ahc->chip &AHC_CHIPID_MASK ) ==AHC_AIC7770 ) {u_int sblkctl;
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#246 - /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.26602.11 +48 -35
161 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h#159 - /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.26602.12 +13 -137
200 lines not on this page · raw message
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c#48 - /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.26602.13 +27 -25
146 lines not on this page · raw message
==== //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#73 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_pci.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_pci.c renamed from tmp/tmp.26602.14 +11 -1
@@ -39,7 +39,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_pci.c#73 $ +* $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#75 $ * * $FreeBSD$ */
@@ -1276,9 +1276,19 @@* use for this test. */ hcntrl =ahc_inb (ahc,HCNTRL ); +if (hcntrl ==0xFF ) goto fail; +if ((hcntrl &CHIPRST ) !=0 ) { +/* +* The chip has not been initialized since +* PCI/EISA/VLB bus reset. Don't trust +* "left over BIOS data". +*/ + ahc->flags |=AHC_NO_BIOS_INIT ; + } +/* * Next create a situation where write combining * or read prefetching could be initiated by the
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_proc.c#31 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_proc.c ====
home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_proc.c renamed from tmp/tmp.26602.15 +3 -3
@@ -37,7 +37,7 @@* String handling code courtesy of Gerard Roudier's <[email protected]> * sym driver. * -* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_proc.c#31 $ +* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_proc.c#32 $ */ #include "aic7xxx_osm.h" #include "aic7xxx_inline.h"
@@ -216,7 +216,7 @@ } sd.sd_ahc = ahc; -#if AHC_PCI_CONFIG >0 +#if AIC_PCI_CONFIG >0 if ((ahc->chip &AHC_PCI ) !=0 ) { sd.sd_control_offset =SEECTL ; sd.sd_status_offset =SEECTL ;
@@ -272,7 +272,7 @@ sizeof(struct seeprom_config)/2);ahc_read_seeprom (&sd, (uint16_t *)ahc->seep_config, start_addr,sizeof (struct seeprom_config )/2 ); -#if AHC_PCI_CONFIG >0 +#if AIC_PCI_CONFIG >0 if ((ahc->chip &AHC_VL ) ==0 )ahc_release_seeprom (&sd);#endif
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aiclib.c#13 - /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.26602.16 +21 -0
@@ -1643,6 +1643,27 @@ }void +aic_bus_settle_complete (u_long data) +{ +struct aic_softc *aic; +u_long s; + + aic = (struct aic_softc *)data; +/* +* Guard against our bottom half scheduling another +* bus settle delay just as our timer runs. If this +* occurs, do nothing. The newly scheduled timer will +* take care of things. +*/ +aic_lock (aic, &s); +if (timer_pending (&aic->platform_data->bus_settle_timer) ==0 ) { + aic->platform_data->flags &= ~AIC_BUS_SETTLE_TIMER ; +aic_release_simq_locked (aic); + } +aic_unlock (aic, &s); +} + +void aic_freeze_simq (struct aic_softc *aic) { aic->platform_data->qfrozen++;
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aiclib.h#17 - /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.26602.17 +129 -6
188 lines not on this page · raw message