public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* qla2xxx and feral ISP updates in their respective BK trees
@ 2003-06-18 21:29 James Bottomley
  2003-06-19 15:51 ` Andrew Vasquez
  2003-06-20 17:12 ` Matthew Jacob
  0 siblings, 2 replies; 10+ messages in thread
From: James Bottomley @ 2003-06-18 21:29 UTC (permalink / raw)
  To: SCSI Mailing List; +Cc: mjacob, Andrew Vasquez, Andrew Morton

I've updated both these trees

bk://linux-scsi.bkbits.net/scsi-isp-2.5
bk://linux-scsi.bkbits.net/scsi-qla2xxx-2.5

To their latest respective versions.

I've tried building these:

Qlogic:

qla2100 still refuses to build, which is the only FC card I have.  Also,
I could do with the directory tree being laid out in a standard fashion
(i.e. with the docs under Documentation/scsi like I've done in the BK
tree).

Feral:

Still giving me a HPMC on parisc in isp_reset.

James





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-18 21:29 qla2xxx and feral ISP updates in their respective BK trees James Bottomley
@ 2003-06-19 15:51 ` Andrew Vasquez
  2003-06-20 17:12 ` Matthew Jacob
  1 sibling, 0 replies; 10+ messages in thread
From: Andrew Vasquez @ 2003-06-19 15:51 UTC (permalink / raw)
  To: SCSI Mailing List

[-- Attachment #1: Type: text/plain, Size: 564 bytes --]

On Wed, 18 Jun 2003, James Bottomley wrote:

> I've tried building these:
> 
> Qlogic:
> 
> qla2100 still refuses to build, which is the only FC card I have.
> 

Attached is a small patch against 8.00.00b3 that should get the
qla2100 driver to build properly -- some residual ip codes that are
not valid with isp2100 chips.

> Also, I could do with the directory tree being laid out in a
> standard fashion (i.e. with the docs under Documentation/scsi like
> I've done in the BK tree).
>

I'll make the changes before I release 8.00.00b4 (RSN).

--
Andrew Vasquez

[-- Attachment #2: 2100_build_fix-v8.00.00b3.diff --]
[-- Type: text/plain, Size: 4028 bytes --]

diff -X ../../dontdiff -Nurd 80000b3/Makefile 80000b3_isp2100/Makefile
--- 80000b3/Makefile	2003-05-30 09:11:11.000000000 -0700
+++ 80000b3_isp2100/Makefile	2003-06-19 08:59:59.045535864 -0700
@@ -5,33 +5,45 @@
 ISPTYPES := qla2100 qla2200 qla2300
 ISPDIRS := $(foreach dir, $(ISPTYPES), $(addsuffix /, $(addprefix .,$(dir))))
 
-ISP2100_FW := ql2100tp_fw.o
-ISP2200_FW := ql2200ip_fw.o
-ISP2300_FW := ql2300ipx_fw.o #ql2322tpx_fw.o
-
 COMMON_SRCS := qla_os.c qla_init.c qla_mbx.c qla_iocb.c qla_isr.c qla_xioct.c \
-	 qla_inioct.c qla_ip.c qla_fo.c qla_cfg.c qla_cfgln.c qla_vendor.c \
-	 qla_dbg.c qla_sup.c 
-COMMON_OBJS := $(foreach file, $(COMMON_SRCS), $(patsubst %.c, %.o, $(file)))
+	qla_inioct.c qla_fo.c qla_cfg.c qla_cfgln.c qla_vendor.c qla_dbg.c qla_sup.c 
+ISP2100_SRCS := $(COMMON_SRCS) ql2100tp_fw.c
+ISP2200_SRCS := $(COMMON_SRCS) qla_ip.c ql2200ip_fw.c
+ISP2300_SRCS := $(COMMON_SRCS) qla_ip.c ql2300ipx_fw.c #ql2322tpx_fw.c
+ISP2100_OBJS := $(foreach file, $(ISP2100_SRCS), $(patsubst %.c, %.o, $(file)))
+ISP2200_OBJS := $(foreach file, $(ISP2200_SRCS), $(patsubst %.c, %.o, $(file)))
+ISP2300_OBJS := $(foreach file, $(ISP2300_SRCS), $(patsubst %.c, %.o, $(file)))
 
-ISP2100_DIR_SRCS := $(foreach file, $(COMMON_SRCS), $(addprefix .qla2100/,$(file)))
-ISP2100_DIR_OBJS := $(foreach file, $(COMMON_OBJS), $(addprefix .qla2100/,$(file)))
-ISP2200_DIR_SRCS := $(foreach file, $(COMMON_SRCS), $(addprefix .qla2200/,$(file)))
-ISP2200_DIR_OBJS := $(foreach file, $(COMMON_OBJS), $(addprefix .qla2200/,$(file)))
-ISP2300_DIR_SRCS := $(foreach file, $(COMMON_SRCS), $(addprefix .qla2300/,$(file)))
-ISP2300_DIR_OBJS := $(foreach file, $(COMMON_OBJS), $(addprefix .qla2300/,$(file)))
+ISP2100_DIR_SRCS := $(foreach file, $(ISP2100_SRCS), $(addprefix .qla2100/,$(file)))
+ISP2200_DIR_SRCS := $(foreach file, $(ISP2200_SRCS), $(addprefix .qla2200/,$(file)))
+ISP2300_DIR_SRCS := $(foreach file, $(ISP2300_SRCS), $(addprefix .qla2300/,$(file)))
+ISP2100_DIR_OBJS := $(foreach file, $(ISP2100_OBJS), $(addprefix .qla2100/,$(file)))
+ISP2200_DIR_OBJS := $(foreach file, $(ISP2200_OBJS), $(addprefix .qla2200/,$(file)))
+ISP2300_DIR_OBJS := $(foreach file, $(ISP2300_OBJS), $(addprefix .qla2300/,$(file)))
 
 PREPALL := $(shell for dir in $(ISPDIRS) ; \
 	do \
 		if [ ! -d $(obj)/$${dir} ] ; then \
 			mkdir $(obj)/$${dir} ; \
 		fi ; \
-	 	for link in $(foreach file, $(COMMON_OBJS), $(patsubst %.o, %.c, $(file))) ; \
-	 	do \
-			if [ ! -h $(obj)/$${dir}$${link} ] ; then \
-				ln -sf ../$${link} $(obj)/$${dir}$${link} ; \
-			fi ; \
-	 	done \
+	done ; \
+	for link in $(ISP2100_SRCS) ; \
+	do \
+		if [ ! -h $(obj)/.qla2100/$${link} ] ; then \
+			ln -sf ../$${link} $(obj)/.qla2100/$${link} ; \
+		fi ; \
+	done ; \
+	for link in $(ISP2200_SRCS) ; \
+	do \
+		if [ ! -h $(obj)/.qla2200/$${link} ] ; then \
+			ln -sf ../$${link} $(obj)/.qla2200/$${link} ; \
+		fi ; \
+	done ; \
+	for link in $(ISP2300_SRCS) ; \
+	do \
+		if [ ! -h $(obj)/.qla2300/$${link} ] ; then \
+			ln -sf ../$${link} $(obj)/.qla2300/$${link} ; \
+		fi ; \
 	done)
 
 obj-$(CONFIG_SCSI_QLA2XXX_QLA21XX) += qla2100.o
@@ -46,8 +58,8 @@
 $(src)/.qla2200/%: EXTRA_CFLAGS += -Dqla22xx
 $(src)/.qla2300/%: EXTRA_CFLAGS += -Dqla23xx -DEXTENDED_IDS 
 
-qla2100-objs := $(ISP2100_DIR_OBJS) $(ISP2100_FW) 
-qla2200-objs := $(ISP2200_DIR_OBJS) $(ISP2200_FW) 
-qla2300-objs := $(ISP2300_DIR_OBJS) $(ISP2300_FW) 
+qla2100-objs := $(ISP2100_DIR_OBJS)
+qla2200-objs := $(ISP2200_DIR_OBJS)
+qla2300-objs := $(ISP2300_DIR_OBJS)
 
 clean-files := $(ISP2100_DIR_SRCS) $(ISP2200_DIR_SRCS) $(ISP2300_DIR_SRCS)
diff -X ../../dontdiff -Nurd 80000b3/qla_def.h 80000b3_isp2100/qla_def.h
--- 80000b3/qla_def.h	2003-05-30 09:11:11.000000000 -0700
+++ 80000b3_isp2100/qla_def.h	2003-06-19 08:53:58.179395856 -0700
@@ -60,6 +60,7 @@
 #include "exioct.h"
 #include "inioct.h"
 
+#if !defined(ISP2100)
 #define FC_IP_SUPPORT
 #if defined(FC_IP_SUPPORT)
 #include <linux/ip.h>
@@ -67,6 +68,7 @@
 #include <linux/skbuff.h>
 #include "qla_ip.h"
 #endif
+#endif
 
 
 /* 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-18 21:29 qla2xxx and feral ISP updates in their respective BK trees James Bottomley
  2003-06-19 15:51 ` Andrew Vasquez
@ 2003-06-20 17:12 ` Matthew Jacob
  2003-06-20 17:19   ` James Bottomley
  1 sibling, 1 reply; 10+ messages in thread
From: Matthew Jacob @ 2003-06-20 17:12 UTC (permalink / raw)
  To: James Bottomley; +Cc: SCSI Mailing List, Andrew Vasquez, Andrew Morton



On Wed, 18 Jun 2003, James Bottomley wrote:

> I've updated both these trees
>
> bk://linux-scsi.bkbits.net/scsi-isp-2.5
> bk://linux-scsi.bkbits.net/scsi-qla2xxx-2.5
>
> To their latest respective versions.
>
> I've tried building these:
>
> Qlogic:
>
> qla2100 still refuses to build, which is the only FC card I have.  Also,
> I could do with the directory tree being laid out in a standard fashion
> (i.e. with the docs under Documentation/scsi like I've done in the BK
> tree).
>
> Feral:
>
> Still giving me a HPMC on parisc in isp_reset.

HPMC?


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-20 17:12 ` Matthew Jacob
@ 2003-06-20 17:19   ` James Bottomley
  2003-06-20 17:25     ` Matthew Jacob
  0 siblings, 1 reply; 10+ messages in thread
From: James Bottomley @ 2003-06-20 17:19 UTC (permalink / raw)
  To: mjacob; +Cc: SCSI Mailing List, Andrew Vasquez, Andrew Morton

On Fri, 2003-06-20 at 12:12, Matthew Jacob wrote:
> HPMC?

High Priority Machine Check.  They usually occur if the driver pokes a
non-existent register using I/O cycles, or a DMA transfer overruns or
something.  The parisc platform I use has an IOMMU as well.

James



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-20 17:19   ` James Bottomley
@ 2003-06-20 17:25     ` Matthew Jacob
  2003-06-20 18:17       ` James Bottomley
  0 siblings, 1 reply; 10+ messages in thread
From: Matthew Jacob @ 2003-06-20 17:25 UTC (permalink / raw)
  To: James Bottomley; +Cc: SCSI Mailing List, Andrew Vasquez, Andrew Morton



> On Fri, 2003-06-20 at 12:12, Matthew Jacob wrote:
> > HPMC?
>
> High Priority Machine Check.  They usually occur if the driver pokes a
> non-existent register using I/O cycles, or a DMA transfer overruns or
> something.  The parisc platform I use has an IOMMU as well.

Oh- is parisc like PPC and doesn't really support io space? That is,
prefers memory mapped registers?

-matt


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-20 17:25     ` Matthew Jacob
@ 2003-06-20 18:17       ` James Bottomley
  2003-06-20 18:34         ` Jeff Garzik
  0 siblings, 1 reply; 10+ messages in thread
From: James Bottomley @ 2003-06-20 18:17 UTC (permalink / raw)
  To: mjacob; +Cc: SCSI Mailing List, Andrew Vasquez, Andrew Morton

On Fri, 2003-06-20 at 12:25, Matthew Jacob wrote:
> Oh- is parisc like PPC and doesn't really support io space? That is,
> prefers memory mapped registers?

Well, it does, for PCI (since it's required to by the spec).  However,
the cost of generating an I/O cycle is very high (you essentially go via
some memory mapped registers in the bus controller).  Parisc certainly
prefers memory mapped registers.

James



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-20 18:17       ` James Bottomley
@ 2003-06-20 18:34         ` Jeff Garzik
  2003-06-20 18:39           ` Matthew Jacob
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2003-06-20 18:34 UTC (permalink / raw)
  To: James Bottomley; +Cc: mjacob, SCSI Mailing List, Andrew Vasquez, Andrew Morton

On Fri, Jun 20, 2003 at 01:17:46PM -0500, James Bottomley wrote:
> On Fri, 2003-06-20 at 12:25, Matthew Jacob wrote:
> > Oh- is parisc like PPC and doesn't really support io space? That is,
> > prefers memory mapped registers?
> 
> Well, it does, for PCI (since it's required to by the spec).  However,
> the cost of generating an I/O cycle is very high (you essentially go via
> some memory mapped registers in the bus controller).  Parisc certainly
> prefers memory mapped registers.

Is there hardware that supports both PIO and MMIO... and actually
prefers PIO?

I know of no such situation -- outside of hardware bugs and driver bugs,
which force the use of PIO, where both are available.

Pretty much everybody prefers memory mapped registers :)

	Jeff




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-20 18:34         ` Jeff Garzik
@ 2003-06-20 18:39           ` Matthew Jacob
  2003-06-20 21:59             ` Jeff Garzik
  0 siblings, 1 reply; 10+ messages in thread
From: Matthew Jacob @ 2003-06-20 18:39 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: James Bottomley, SCSI Mailing List, Andrew Vasquez, Andrew Morton


>
> Is there hardware that supports both PIO and MMIO... and actually
> prefers PIO?
>
> I know of no such situation -- outside of hardware bugs and driver bugs,
> which force the use of PIO, where both are available.
>
> Pretty much everybody prefers memory mapped registers :)
>

Of course. But there are two things that mitigate MMIO vs. PIO-

a) Historically, MMIO has been buggy on ia32. This is no longer the
case, but there definitely were a lot of platforms with this broken.

b) MMIO is consumption of mapping resources, while PIO isn't.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-20 18:39           ` Matthew Jacob
@ 2003-06-20 21:59             ` Jeff Garzik
  2003-06-20 22:06               ` Matthew Jacob
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2003-06-20 21:59 UTC (permalink / raw)
  To: mjacob; +Cc: James Bottomley, SCSI Mailing List, Andrew Vasquez, Andrew Morton

Matthew Jacob wrote:
> a) Historically, MMIO has been buggy on ia32. This is no longer the
> case, but there definitely were a lot of platforms with this broken.

Could you elaborate?

What I've mostly found is (in order of frequency):  coders unfamiliar 
with x86 CPU write coalescing/posting rules, and PCI boards whose 
hardware designs contain inherent races when driven in MMIO mode 
(particularly on CPUs with deeply posted writes).


> b) MMIO is consumption of mapping resources, while PIO isn't.

agreed

	Jeff




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: qla2xxx and feral ISP updates in their respective BK trees
  2003-06-20 21:59             ` Jeff Garzik
@ 2003-06-20 22:06               ` Matthew Jacob
  0 siblings, 0 replies; 10+ messages in thread
From: Matthew Jacob @ 2003-06-20 22:06 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: James Bottomley, SCSI Mailing List, Andrew Vasquez, Andrew Morton



> Matthew Jacob wrote:
> > a) Historically, MMIO has been buggy on ia32. This is no longer the
> > case, but there definitely were a lot of platforms with this broken.
>
> Could you elaborate?
>
> What I've mostly found is (in order of frequency):  coders unfamiliar
> with x86 CPU write coalescing/posting rules, and PCI boards whose
> hardware designs contain inherent races when driven in MMIO mode
> (particularly on CPUs with deeply posted writes).

The latter, I believe.

>
>
> > b) MMIO is consumption of mapping resources, while PIO isn't.
>
> agreed
>
> 	Jeff
>
>
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-06-20 21:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-18 21:29 qla2xxx and feral ISP updates in their respective BK trees James Bottomley
2003-06-19 15:51 ` Andrew Vasquez
2003-06-20 17:12 ` Matthew Jacob
2003-06-20 17:19   ` James Bottomley
2003-06-20 17:25     ` Matthew Jacob
2003-06-20 18:17       ` James Bottomley
2003-06-20 18:34         ` Jeff Garzik
2003-06-20 18:39           ` Matthew Jacob
2003-06-20 21:59             ` Jeff Garzik
2003-06-20 22:06               ` Matthew Jacob

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox