From: Andrey Panin <pazke@donpac.ru>

Add a config option which allows ioport/mmio selection for QLA1280 SCSI
driver.

With this patch applied QLA1280 can be used on Visws again.



 drivers/scsi/Kconfig   |   10 ++++++++++
 drivers/scsi/qla1280.c |    8 +++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff -puN drivers/scsi/Kconfig~visws-qla1280-needs-pio drivers/scsi/Kconfig
--- 25/drivers/scsi/Kconfig~visws-qla1280-needs-pio	2003-09-01 11:36:56.000000000 -0700
+++ 25-akpm/drivers/scsi/Kconfig	2003-09-01 11:36:56.000000000 -0700
@@ -1298,6 +1298,16 @@ config SCSI_QLOGIC_1280
 	  The module will be called qla1280. If you want to compile it as
 	  a module, say M here and read <file:Documentation/modules.txt>.
 
+config SCSI_QLOGIC_1280_PIO
+	bool "Use PIO instead of MMIO" if !X86_VISWS
+	depends on SCSI_QLOGIC_1280
+	default y if X86_VISWS
+	help
+	  This instructs the driver to use programmed I/O ports (PIO) instead
+	  of PCI shared memory (MMIO).  This can possibly solve some problems
+	  in case your mainboard has memory consistency issues.  If unsure,
+	  say N.
+
 config SCSI_QLOGICPTI
 	tristate "PTI Qlogic, ISP Driver"
 	depends on SBUS && SCSI
diff -puN drivers/scsi/qla1280.c~visws-qla1280-needs-pio drivers/scsi/qla1280.c
--- 25/drivers/scsi/qla1280.c~visws-qla1280-needs-pio	2003-09-01 11:36:56.000000000 -0700
+++ 25-akpm/drivers/scsi/qla1280.c	2003-09-01 11:36:56.000000000 -0700
@@ -331,11 +331,17 @@
  */
 #define  QL1280_LUN_SUPPORT	0
 #define  WATCHDOGTIMER		0
-#define  MEMORY_MAPPED_IO	1
+
 #define  DEBUG_QLA1280_INTR	0
 #define  DEBUG_PRINT_NVRAM	0
 #define  DEBUG_QLA1280		0
 
+#ifdef	CONFIG_SCSI_QLOGIC_1280_PIO
+#define	MEMORY_MAPPED_IO	0
+#else
+#define	MEMORY_MAPPED_IO	1
+#endif
+
 #define UNIQUE_FW_NAME
 #include "qla1280.h"
 #include "ql12160_fw.h"		/* ISP RISC codes */

_