LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] ATA convert GSI to irq on ia64
@ 2007-02-08  7:40 Zhang, Yanmin
  2007-02-08  9:15 ` Luming Yu
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Zhang, Yanmin @ 2007-02-08  7:40 UTC (permalink / raw)
  To: LKML; +Cc: linux-scsi, linux-ide, Jeff Garzik

If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
fixed irq number. On ia64 platform, such numbers are GSI and should be converted
to irq vector.

Below patch against kernel 2.6.20 fixes it.

Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>

---

diff -Nraup linux-2.6.20/include/asm-generic/libata-portmap.h linux-2.6.20_fix/include/asm-generic/libata-portmap.h
--- linux-2.6.20/include/asm-generic/libata-portmap.h	2007-02-08 15:13:44.000000000 +0800
+++ linux-2.6.20_fix/include/asm-generic/libata-portmap.h	2007-02-08 15:20:13.000000000 +0800
@@ -3,10 +3,20 @@
 
 #define ATA_PRIMARY_CMD		0x1F0
 #define ATA_PRIMARY_CTL		0x3F6
+#if defined(__ia64__)
+#define ATA_PRIMARY_IRQ(dev)	isa_irq_to_vector(14)
+#else
 #define ATA_PRIMARY_IRQ(dev)	14
+#endif
+
 
 #define ATA_SECONDARY_CMD	0x170
 #define ATA_SECONDARY_CTL	0x376
+#if defined(__ia64__)
+#define ATA_SECONDARY_IRQ(dev)	isa_irq_to_vector(15)
+#else
 #define ATA_SECONDARY_IRQ(dev)	15
+#endif
+
 
 #endif

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08  7:40 [PATCH] ATA convert GSI to irq on ia64 Zhang, Yanmin
@ 2007-02-08  9:15 ` Luming Yu
  2007-02-08  9:17   ` Luming Yu
  2007-02-08 19:42 ` Christoph Hellwig
  2007-02-09  1:19 ` Jeff Garzik
  2 siblings, 1 reply; 11+ messages in thread
From: Luming Yu @ 2007-02-08  9:15 UTC (permalink / raw)
  To: Zhang, Yanmin; +Cc: LKML, linux-scsi, linux-ide, Jeff Garzik

if use ide_default_irq , then I guess the #if defined can be removed.
#define ATA_PRIMARY_IRQ(dev)   isa_irq_to_vector(0x1F0)


On 2/8/07, Zhang, Yanmin <yanmin_zhang@linux.intel.com> wrote:
> If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> to irq vector.
>
> Below patch against kernel 2.6.20 fixes it.
>
> Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
>
> ---
>
> diff -Nraup linux-2.6.20/include/asm-generic/libata-portmap.h linux-2.6.20_fix/include/asm-generic/libata-portmap.h
> --- linux-2.6.20/include/asm-generic/libata-portmap.h   2007-02-08 15:13:44.000000000 +0800
> +++ linux-2.6.20_fix/include/asm-generic/libata-portmap.h       2007-02-08 15:20:13.000000000 +0800
> @@ -3,10 +3,20 @@
>
>  #define ATA_PRIMARY_CMD                0x1F0
>  #define ATA_PRIMARY_CTL                0x3F6
> +#if defined(__ia64__)
> +#define ATA_PRIMARY_IRQ(dev)   isa_irq_to_vector(14)
> +#else
>  #define ATA_PRIMARY_IRQ(dev)   14
> +#endif
> +
>
>  #define ATA_SECONDARY_CMD      0x170
>  #define ATA_SECONDARY_CTL      0x376
> +#if defined(__ia64__)
> +#define ATA_SECONDARY_IRQ(dev) isa_irq_to_vector(15)
> +#else
>  #define ATA_SECONDARY_IRQ(dev) 15
> +#endif
> +
>
>  #endif
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08  9:15 ` Luming Yu
@ 2007-02-08  9:17   ` Luming Yu
  2007-02-09  1:07     ` Zhang, Yanmin
  0 siblings, 1 reply; 11+ messages in thread
From: Luming Yu @ 2007-02-08  9:17 UTC (permalink / raw)
  To: Zhang, Yanmin; +Cc: LKML, linux-scsi, linux-ide, Jeff Garzik

sorry, it should be
#define ATA_PRIMARY_IRQ(dev)  ide_default_irq(0x1F0)

On 2/8/07, Luming Yu <luming.yu@gmail.com> wrote:
> if use ide_default_irq , then I guess the #if defined can be removed.
> #define ATA_PRIMARY_IRQ(dev)   isa_irq_to_vector(0x1F0)
>
>
> On 2/8/07, Zhang, Yanmin <yanmin_zhang@linux.intel.com> wrote:
> > If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> > fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> > to irq vector.
> >
> > Below patch against kernel 2.6.20 fixes it.
> >
> > Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
> >
> > ---
> >
> > diff -Nraup linux-2.6.20/include/asm-generic/libata-portmap.h linux-2.6.20_fix/include/asm-generic/libata-portmap.h
> > --- linux-2.6.20/include/asm-generic/libata-portmap.h   2007-02-08 15:13:44.000000000 +0800
> > +++ linux-2.6.20_fix/include/asm-generic/libata-portmap.h       2007-02-08 15:20:13.000000000 +0800
> > @@ -3,10 +3,20 @@
> >
> >  #define ATA_PRIMARY_CMD                0x1F0
> >  #define ATA_PRIMARY_CTL                0x3F6
> > +#if defined(__ia64__)
> > +#define ATA_PRIMARY_IRQ(dev)   isa_irq_to_vector(14)
> > +#else
> >  #define ATA_PRIMARY_IRQ(dev)   14
> > +#endif
> > +
> >
> >  #define ATA_SECONDARY_CMD      0x170
> >  #define ATA_SECONDARY_CTL      0x376
> > +#if defined(__ia64__)
> > +#define ATA_SECONDARY_IRQ(dev) isa_irq_to_vector(15)
> > +#else
> >  #define ATA_SECONDARY_IRQ(dev) 15
> > +#endif
> > +
> >
> >  #endif
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
> >
>

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08  7:40 [PATCH] ATA convert GSI to irq on ia64 Zhang, Yanmin
  2007-02-08  9:15 ` Luming Yu
@ 2007-02-08 19:42 ` Christoph Hellwig
  2007-02-08 20:25   ` Andrew Morton
  2007-02-09  1:19 ` Jeff Garzik
  2 siblings, 1 reply; 11+ messages in thread
From: Christoph Hellwig @ 2007-02-08 19:42 UTC (permalink / raw)
  To: Zhang, Yanmin; +Cc: LKML, linux-scsi, linux-ide, Jeff Garzik

On Thu, Feb 08, 2007 at 03:40:22PM +0800, Zhang, Yanmin wrote:
> If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> to irq vector.
> 
> Below patch against kernel 2.6.20 fixes it.

These direct arch ifdefs in core aren't acceptable.  The again I'm
pretty sure we have patches floating around to turn these two macros
into architecture-supplied ones, IIRC it came from the powerpc side.


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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08 19:42 ` Christoph Hellwig
@ 2007-02-08 20:25   ` Andrew Morton
  2007-02-08 20:34     ` Christoph Hellwig
  0 siblings, 1 reply; 11+ messages in thread
From: Andrew Morton @ 2007-02-08 20:25 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Zhang, Yanmin, LKML, linux-scsi, linux-ide, Jeff Garzik

On Thu, 8 Feb 2007 19:42:04 +0000
Christoph Hellwig <hch@infradead.org> wrote:

> On Thu, Feb 08, 2007 at 03:40:22PM +0800, Zhang, Yanmin wrote:
> > If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> > fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> > to irq vector.
> > 
> > Below patch against kernel 2.6.20 fixes it.
> 
> These direct arch ifdefs in core aren't acceptable.

For 2.6.21 that's true.  But this is a suitable fix for 2.6.20.x, no?

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08 20:25   ` Andrew Morton
@ 2007-02-08 20:34     ` Christoph Hellwig
  2007-02-08 20:46       ` Andrew Morton
  0 siblings, 1 reply; 11+ messages in thread
From: Christoph Hellwig @ 2007-02-08 20:34 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Christoph Hellwig, Zhang, Yanmin, LKML, linux-scsi, linux-ide,
	Jeff Garzik

On Thu, Feb 08, 2007 at 12:25:39PM -0800, Andrew Morton wrote:
> On Thu, 8 Feb 2007 19:42:04 +0000
> Christoph Hellwig <hch@infradead.org> wrote:
> 
> > On Thu, Feb 08, 2007 at 03:40:22PM +0800, Zhang, Yanmin wrote:
> > > If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> > > fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> > > to irq vector.
> > > 
> > > Below patch against kernel 2.6.20 fixes it.
> > 
> > These direct arch ifdefs in core aren't acceptable.
> 
> For 2.6.21 that's true.  But this is a suitable fix for 2.6.20.x, no?

Just putting in an #ifndef and allow to to set it up in asm/ata.h
is almost as trivial and a lot nice conceptually.  Then again
what happened to the idea of putting fixes into mainline before
-stable?

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08 20:34     ` Christoph Hellwig
@ 2007-02-08 20:46       ` Andrew Morton
  0 siblings, 0 replies; 11+ messages in thread
From: Andrew Morton @ 2007-02-08 20:46 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Zhang, Yanmin, LKML, linux-scsi, linux-ide, Jeff Garzik

On Thu, 8 Feb 2007 20:34:53 +0000
Christoph Hellwig <hch@infradead.org> wrote:

> On Thu, Feb 08, 2007 at 12:25:39PM -0800, Andrew Morton wrote:
> > On Thu, 8 Feb 2007 19:42:04 +0000
> > Christoph Hellwig <hch@infradead.org> wrote:
> > 
> > > On Thu, Feb 08, 2007 at 03:40:22PM +0800, Zhang, Yanmin wrote:
> > > > If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> > > > fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> > > > to irq vector.
> > > > 
> > > > Below patch against kernel 2.6.20 fixes it.
> > > 
> > > These direct arch ifdefs in core aren't acceptable.
> > 
> > For 2.6.21 that's true.  But this is a suitable fix for 2.6.20.x, no?
> 
> Just putting in an #ifndef and allow to to set it up in asm/ata.h
> is almost as trivial and a lot nice conceptually.

Well if that's what the 2.6.21 solution looks like then OK.  Would want to
see the patch though.

>  Then again
> what happened to the idea of putting fixes into mainline before
> -stable?

If the preferred mainline patch involves a lot of not-really-needed
restructuring then an alternative short-but-obvious fix for -stable is
sometimes more appropriate.

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08  9:17   ` Luming Yu
@ 2007-02-09  1:07     ` Zhang, Yanmin
  0 siblings, 0 replies; 11+ messages in thread
From: Zhang, Yanmin @ 2007-02-09  1:07 UTC (permalink / raw)
  To: Luming Yu; +Cc: LKML, linux-scsi, linux-ide, Jeff Garzik

On Thu, 2007-02-08 at 17:17 +0800, Luming Yu wrote:
> sorry, it should be
> #define ATA_PRIMARY_IRQ(dev)  ide_default_irq(0x1F0)
> 
> On 2/8/07, Luming Yu <luming.yu@gmail.com> wrote:
> > if use ide_default_irq , then I guess the #if defined can be removed.
> > #define ATA_PRIMARY_IRQ(dev)   isa_irq_to_vector(0x1F0)
ata driver will replace old ide driver, so I don't use ide codes in
ata driver.

> >
> >
> > On 2/8/07, Zhang, Yanmin <yanmin_zhang@linux.intel.com> wrote:
> > > If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> > > fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> > > to irq vector.
> > >
> > > Below patch against kernel 2.6.20 fixes it.
> > >
> > > Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
> > >
> > > ---
> > >
> > > diff -Nraup linux-2.6.20/include/asm-generic/libata-portmap.h linux-2.6.20_fix/include/asm-generic/libata-portmap.h
> > > --- linux-2.6.20/include/asm-generic/libata-portmap.h   2007-02-08 15:13:44.000000000 +0800
> > > +++ linux-2.6.20_fix/include/asm-generic/libata-portmap.h       2007-02-08 15:20:13.000000000 +0800
> > > @@ -3,10 +3,20 @@
> > >
> > >  #define ATA_PRIMARY_CMD                0x1F0
> > >  #define ATA_PRIMARY_CTL                0x3F6
> > > +#if defined(__ia64__)
> > > +#define ATA_PRIMARY_IRQ(dev)   isa_irq_to_vector(14)
> > > +#else
> > >  #define ATA_PRIMARY_IRQ(dev)   14
> > > +#endif
> > > +
> > >
> > >  #define ATA_SECONDARY_CMD      0x170
> > >  #define ATA_SECONDARY_CTL      0x376
> > > +#if defined(__ia64__)
> > > +#define ATA_SECONDARY_IRQ(dev) isa_irq_to_vector(15)
> > > +#else
> > >  #define ATA_SECONDARY_IRQ(dev) 15
> > > +#endif
> > > +
> > >
> > >  #endif

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-08  7:40 [PATCH] ATA convert GSI to irq on ia64 Zhang, Yanmin
  2007-02-08  9:15 ` Luming Yu
  2007-02-08 19:42 ` Christoph Hellwig
@ 2007-02-09  1:19 ` Jeff Garzik
  2007-02-09  3:29   ` Zhang, Yanmin
  2 siblings, 1 reply; 11+ messages in thread
From: Jeff Garzik @ 2007-02-09  1:19 UTC (permalink / raw)
  To: Zhang, Yanmin; +Cc: LKML, linux-scsi, linux-ide

Zhang, Yanmin wrote:
> If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> to irq vector.
> 
> Below patch against kernel 2.6.20 fixes it.
> 
> Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>

IA64 should create its own libata-portmap.h, rather than modifying the 
one in asm-generic with arch-specific choices.

powerpc is a current example of this (and currently the only 
non-asm-generic user) found in kernel 2.6.20.

	Jeff




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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-09  1:19 ` Jeff Garzik
@ 2007-02-09  3:29   ` Zhang, Yanmin
  2007-02-15 23:09     ` Jeff Garzik
  0 siblings, 1 reply; 11+ messages in thread
From: Zhang, Yanmin @ 2007-02-09  3:29 UTC (permalink / raw)
  To: Jeff Garzik, Andrew Morton; +Cc: LKML, linux-scsi, linux-ide

On Thu, 2007-02-08 at 20:19 -0500, Jeff Garzik wrote:
> Zhang, Yanmin wrote:
> > If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
> > fixed irq number. On ia64 platform, such numbers are GSI and should be converted
> > to irq vector.
> > 
> > Below patch against kernel 2.6.20 fixes it.
> > 
> > Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
> 
> IA64 should create its own libata-portmap.h, rather than modifying the 
> one in asm-generic with arch-specific choices.
> 
> powerpc is a current example of this (and currently the only 
> non-asm-generic user) found in kernel 2.6.20.
Thank Jeff. I worked out a new patch.

If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the fixed
irq number. On ia64 platform, such numbers are GSI and should be converted to irq
vector.

Below patch against kernel 2.6.20 fixes it.
 
Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>

---

diff -Nraup linux-2.6.20/arch/ia64/Kconfig linux-2.6.20_fix/arch/ia64/Kconfig
--- linux-2.6.20/arch/ia64/Kconfig	2007-02-08 15:13:41.000000000 +0800
+++ linux-2.6.20_fix/arch/ia64/Kconfig	2007-02-09 11:19:35.000000000 +0800
@@ -11,6 +11,7 @@ menu "Processor type and features"
 
 config IA64
 	bool
+	select ATA_NONSTANDARD if ATA
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
diff -Nraup linux-2.6.20/include/asm-ia64/libata-portmap.h linux-2.6.20_fix/include/asm-ia64/libata-portmap.h
--- linux-2.6.20/include/asm-ia64/libata-portmap.h	1970-01-01 08:00:00.000000000 +0800
+++ linux-2.6.20_fix/include/asm-ia64/libata-portmap.h	2007-02-09 11:19:55.000000000 +0800
@@ -0,0 +1,12 @@
+#ifndef __ASM_IA64_LIBATA_PORTMAP_H
+#define __ASM_IA64_LIBATA_PORTMAP_H
+
+#define ATA_PRIMARY_CMD		0x1F0
+#define ATA_PRIMARY_CTL		0x3F6
+#define ATA_PRIMARY_IRQ(dev)	isa_irq_to_vector(14)
+
+#define ATA_SECONDARY_CMD	0x170
+#define ATA_SECONDARY_CTL	0x376
+#define ATA_SECONDARY_IRQ(dev)	isa_irq_to_vector(15)
+
+#endif

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

* Re: [PATCH] ATA convert GSI to irq on ia64
  2007-02-09  3:29   ` Zhang, Yanmin
@ 2007-02-15 23:09     ` Jeff Garzik
  0 siblings, 0 replies; 11+ messages in thread
From: Jeff Garzik @ 2007-02-15 23:09 UTC (permalink / raw)
  To: Zhang, Yanmin; +Cc: Andrew Morton, LKML, linux-scsi, linux-ide

Zhang, Yanmin wrote:
> On Thu, 2007-02-08 at 20:19 -0500, Jeff Garzik wrote:
>> Zhang, Yanmin wrote:
>>> If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the
>>> fixed irq number. On ia64 platform, such numbers are GSI and should be converted
>>> to irq vector.
>>>
>>> Below patch against kernel 2.6.20 fixes it.
>>>
>>> Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
>> IA64 should create its own libata-portmap.h, rather than modifying the 
>> one in asm-generic with arch-specific choices.
>>
>> powerpc is a current example of this (and currently the only 
>> non-asm-generic user) found in kernel 2.6.20.
> Thank Jeff. I worked out a new patch.
> 
> If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the fixed
> irq number. On ia64 platform, such numbers are GSI and should be converted to irq
> vector.
> 
> Below patch against kernel 2.6.20 fixes it.
>  
> Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>

applied



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

end of thread, other threads:[~2007-02-15 23:09 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-08  7:40 [PATCH] ATA convert GSI to irq on ia64 Zhang, Yanmin
2007-02-08  9:15 ` Luming Yu
2007-02-08  9:17   ` Luming Yu
2007-02-09  1:07     ` Zhang, Yanmin
2007-02-08 19:42 ` Christoph Hellwig
2007-02-08 20:25   ` Andrew Morton
2007-02-08 20:34     ` Christoph Hellwig
2007-02-08 20:46       ` Andrew Morton
2007-02-09  1:19 ` Jeff Garzik
2007-02-09  3:29   ` Zhang, Yanmin
2007-02-15 23:09     ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).