aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/Kconfig15
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_glue.c2
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_hipd.c29
3 files changed, 26 insertions, 20 deletions
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 52690fecc511..3e7302692dbe 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -1079,7 +1079,7 @@ config SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
1079 memory using PCI DAC cycles. 1079 memory using PCI DAC cycles.
1080 1080
1081config SCSI_SYM53C8XX_DEFAULT_TAGS 1081config SCSI_SYM53C8XX_DEFAULT_TAGS
1082 int "default tagged command queue depth" 1082 int "Default tagged command queue depth"
1083 depends on SCSI_SYM53C8XX_2 1083 depends on SCSI_SYM53C8XX_2
1084 default "16" 1084 default "16"
1085 help 1085 help
@@ -1090,7 +1090,7 @@ config SCSI_SYM53C8XX_DEFAULT_TAGS
1090 exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS. 1090 exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS.
1091 1091
1092config SCSI_SYM53C8XX_MAX_TAGS 1092config SCSI_SYM53C8XX_MAX_TAGS
1093 int "maximum number of queued commands" 1093 int "Maximum number of queued commands"
1094 depends on SCSI_SYM53C8XX_2 1094 depends on SCSI_SYM53C8XX_2
1095 default "64" 1095 default "64"
1096 help 1096 help
@@ -1099,13 +1099,14 @@ config SCSI_SYM53C8XX_MAX_TAGS
1099 possible. The driver supports up to 256 queued commands per device. 1099 possible. The driver supports up to 256 queued commands per device.
1100 This value is used as a compiled-in hard limit. 1100 This value is used as a compiled-in hard limit.
1101 1101
1102config SCSI_SYM53C8XX_IOMAPPED 1102config SCSI_SYM53C8XX_MMIO
1103 bool "use port IO" 1103 bool "Use memory mapped IO"
1104 depends on SCSI_SYM53C8XX_2 1104 depends on SCSI_SYM53C8XX_2
1105 default y
1105 help 1106 help
1106 If you say Y here, the driver will use port IO to access 1107 Memory mapped IO is faster than Port IO. Most people should
1107 the card. This is significantly slower then using memory 1108 answer Y here, but some machines may have problems. If you have
1108 mapped IO. Most people should answer N. 1109 to answer N here, please report the problem to the maintainer.
1109 1110
1110config SCSI_IPR 1111config SCSI_IPR
1111 tristate "IBM Power Linux RAID adapter support" 1112 tristate "IBM Power Linux RAID adapter support"
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index 1fffd2b3c654..ec9d93aa160d 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -1874,7 +1874,7 @@ sym_init_device(struct pci_dev *pdev, struct sym_device *device)
1874 i = pci_get_base_address(pdev, 1, &device->mmio_base); 1874 i = pci_get_base_address(pdev, 1, &device->mmio_base);
1875 pci_get_base_address(pdev, i, &device->ram_base); 1875 pci_get_base_address(pdev, i, &device->ram_base);
1876 1876
1877#ifndef CONFIG_SCSI_SYM53C8XX_IOMAPPED 1877#ifdef CONFIG_SCSI_SYM53C8XX_MMIO
1878 if (device->mmio_base) 1878 if (device->mmio_base)
1879 device->s.ioaddr = pci_iomap(pdev, 1, 1879 device->s.ioaddr = pci_iomap(pdev, 1,
1880 pci_resource_len(pdev, 1)); 1880 pci_resource_len(pdev, 1));
diff --git a/drivers/scsi/sym53c8xx_2/sym_hipd.c b/drivers/scsi/sym53c8xx_2/sym_hipd.c
index 60850cbe3a85..a95b262bbe89 100644
--- a/drivers/scsi/sym53c8xx_2/sym_hipd.c
+++ b/drivers/scsi/sym53c8xx_2/sym_hipd.c
@@ -973,8 +973,8 @@ static int sym_prepare_setting(struct Scsi_Host *shost, struct sym_hcb *np, stru
973 * 973 *
974 * Has to be called with interrupts disabled. 974 * Has to be called with interrupts disabled.
975 */ 975 */
976#ifndef CONFIG_SCSI_SYM53C8XX_IOMAPPED 976#ifdef CONFIG_SCSI_SYM53C8XX_MMIO
977static int sym_regtest (struct sym_hcb *np) 977static int sym_regtest(struct sym_hcb *np)
978{ 978{
979 register volatile u32 data; 979 register volatile u32 data;
980 /* 980 /*
@@ -992,20 +992,25 @@ static int sym_regtest (struct sym_hcb *np)
992#endif 992#endif
993 printf ("CACHE TEST FAILED: reg dstat-sstat2 readback %x.\n", 993 printf ("CACHE TEST FAILED: reg dstat-sstat2 readback %x.\n",
994 (unsigned) data); 994 (unsigned) data);
995 return (0x10); 995 return 0x10;
996 } 996 }
997 return (0); 997 return 0;
998}
999#else
1000static inline int sym_regtest(struct sym_hcb *np)
1001{
1002 return 0;
998} 1003}
999#endif 1004#endif
1000 1005
1001static int sym_snooptest (struct sym_hcb *np) 1006static int sym_snooptest(struct sym_hcb *np)
1002{ 1007{
1003 u32 sym_rd, sym_wr, sym_bk, host_rd, host_wr, pc, dstat; 1008 u32 sym_rd, sym_wr, sym_bk, host_rd, host_wr, pc, dstat;
1004 int i, err=0; 1009 int i, err;
1005#ifndef CONFIG_SCSI_SYM53C8XX_IOMAPPED 1010
1006 err |= sym_regtest (np); 1011 err = sym_regtest(np);
1007 if (err) return (err); 1012 if (err)
1008#endif 1013 return err;
1009restart_test: 1014restart_test:
1010 /* 1015 /*
1011 * Enable Master Parity Checking as we intend 1016 * Enable Master Parity Checking as we intend
@@ -1094,7 +1099,7 @@ restart_test:
1094 err |= 4; 1099 err |= 4;
1095 } 1100 }
1096 1101
1097 return (err); 1102 return err;
1098} 1103}
1099 1104
1100/* 1105/*