public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH 2/2] Implement platform_irq_to_vector() for SN
@ 2007-08-02  4:30 Kenji Kaneshige
  2007-08-02 20:27 ` Russ Anderson
  2007-08-03  5:26 ` Kenji Kaneshige
  0 siblings, 2 replies; 3+ messages in thread
From: Kenji Kaneshige @ 2007-08-02  4:30 UTC (permalink / raw)
  To: linux-ia64

Implement platform_irq_to_vector() for SN platform.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>

---
 arch/ia64/sn/kernel/irq.c      |    5 +++++
 include/asm-ia64/machvec_sn2.h |    2 ++
 2 files changed, 7 insertions(+)

Index: linux-2.6.23-rc1/arch/ia64/sn/kernel/irq.c
=================================--- linux-2.6.23-rc1.orig/arch/ia64/sn/kernel/irq.c
+++ linux-2.6.23-rc1/arch/ia64/sn/kernel/irq.c
@@ -256,6 +256,11 @@ struct irq_chip irq_type_sn = {
 	.set_affinity	= sn_set_affinity_irq
 };
 
+ia64_vector sn_irq_to_vector(int irq)
+{
+	return (ia64_vector)irq;
+}
+
 unsigned int sn_local_vector_to_irq(u8 vector)
 {
 	return (CPU_VECTOR_TO_IRQ(smp_processor_id(), vector));
Index: linux-2.6.23-rc1/include/asm-ia64/machvec_sn2.h
=================================--- linux-2.6.23-rc1.orig/include/asm-ia64/machvec_sn2.h
+++ linux-2.6.23-rc1/include/asm-ia64/machvec_sn2.h
@@ -35,6 +35,7 @@ extern ia64_mv_send_ipi_t sn2_send_IPI;
 extern ia64_mv_timer_interrupt_t sn_timer_interrupt;
 extern ia64_mv_global_tlb_purge_t sn2_global_tlb_purge;
 extern ia64_mv_tlb_migrate_finish_t	sn_tlb_migrate_finish;
+extern ia64_mv_irq_to_vector sn_irq_to_vector;
 extern ia64_mv_local_vector_to_irq sn_local_vector_to_irq;
 extern ia64_mv_pci_get_legacy_mem_t sn_pci_get_legacy_mem;
 extern ia64_mv_pci_legacy_read_t sn_pci_legacy_read;
@@ -104,6 +105,7 @@ extern ia64_mv_pci_fixup_bus_t		sn_pci_f
 #define platform_readw_relaxed		__sn_readw_relaxed
 #define platform_readl_relaxed		__sn_readl_relaxed
 #define platform_readq_relaxed		__sn_readq_relaxed
+#define platform_irq_to_vector		sn_irq_to_vector
 #define platform_local_vector_to_irq	sn_local_vector_to_irq
 #define platform_pci_get_legacy_mem	sn_pci_get_legacy_mem
 #define platform_pci_legacy_read	sn_pci_legacy_read



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

* Re: [RFC][PATCH 2/2] Implement platform_irq_to_vector() for SN
  2007-08-02  4:30 [RFC][PATCH 2/2] Implement platform_irq_to_vector() for SN Kenji Kaneshige
@ 2007-08-02 20:27 ` Russ Anderson
  2007-08-03  5:26 ` Kenji Kaneshige
  1 sibling, 0 replies; 3+ messages in thread
From: Russ Anderson @ 2007-08-02 20:27 UTC (permalink / raw)
  To: linux-ia64

Kenji Kaneshige wrote:
> 
> Implement platform_irq_to_vector() for SN platform.
> 
> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
> 
> ---
>  arch/ia64/sn/kernel/irq.c      |    5 +++++
>  include/asm-ia64/machvec_sn2.h |    2 ++
>  2 files changed, 7 insertions(+)
> 
> Index: linux-2.6.23-rc1/arch/ia64/sn/kernel/irq.c
> =================================> --- linux-2.6.23-rc1.orig/arch/ia64/sn/kernel/irq.c
> +++ linux-2.6.23-rc1/arch/ia64/sn/kernel/irq.c
> @@ -256,6 +256,11 @@ struct irq_chip irq_type_sn = {
>  	.set_affinity	= sn_set_affinity_irq
>  };
>  
> +ia64_vector sn_irq_to_vector(int irq)
> +{
> +	return (ia64_vector)irq;
> +}
> +
>  unsigned int sn_local_vector_to_irq(u8 vector)
>  {
>  	return (CPU_VECTOR_TO_IRQ(smp_processor_id(), vector));

One thing to be aware of is ia64_vector is u8, which can hold
a value from 0-255.  NR_IRQS is 1024.

So sn_irq_to_vector() will truncate any IRQ > 255.



-- 
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc          rja@sgi.com

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

* Re: [RFC][PATCH 2/2] Implement platform_irq_to_vector() for SN
  2007-08-02  4:30 [RFC][PATCH 2/2] Implement platform_irq_to_vector() for SN Kenji Kaneshige
  2007-08-02 20:27 ` Russ Anderson
@ 2007-08-03  5:26 ` Kenji Kaneshige
  1 sibling, 0 replies; 3+ messages in thread
From: Kenji Kaneshige @ 2007-08-03  5:26 UTC (permalink / raw)
  To: linux-ia64

2007-08-02 (木) の 15:27 -0500 に Russ Anderson さんは書きました:
> Kenji Kaneshige wrote:
> > 
> > Implement platform_irq_to_vector() for SN platform.
> > 
> > Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
> > 
> > ---
> >  arch/ia64/sn/kernel/irq.c      |    5 +++++
> >  include/asm-ia64/machvec_sn2.h |    2 ++
> >  2 files changed, 7 insertions(+)
> > 
> > Index: linux-2.6.23-rc1/arch/ia64/sn/kernel/irq.c
> > =================================> > --- linux-2.6.23-rc1.orig/arch/ia64/sn/kernel/irq.c
> > +++ linux-2.6.23-rc1/arch/ia64/sn/kernel/irq.c
> > @@ -256,6 +256,11 @@ struct irq_chip irq_type_sn = {
> >  	.set_affinity	= sn_set_affinity_irq
> >  };
> >  
> > +ia64_vector sn_irq_to_vector(int irq)
> > +{
> > +	return (ia64_vector)irq;
> > +}
> > +
> >  unsigned int sn_local_vector_to_irq(u8 vector)
> >  {
> >  	return (CPU_VECTOR_TO_IRQ(smp_processor_id(), vector));
> 
> One thing to be aware of is ia64_vector is u8, which can hold
> a value from 0-255.  NR_IRQS is 1024.
> 
> So sn_irq_to_vector() will truncate any IRQ > 255.
> 

What about this:

ia64_vector sn_irq_to_vector(int irq)
{
	if (irq >= IA64_NUM_VECTORS)
		return 0;
	return (ia64_vector)irq;
}

Thanks,
Kenji Kaneshige



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

end of thread, other threads:[~2007-08-03  5:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-02  4:30 [RFC][PATCH 2/2] Implement platform_irq_to_vector() for SN Kenji Kaneshige
2007-08-02 20:27 ` Russ Anderson
2007-08-03  5:26 ` Kenji Kaneshige

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