* [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