* Is _do_IRQ() not needed anymore ?
@ 2006-12-01 9:40 Franck Bui-Huu
2006-12-01 9:57 ` Atsushi Nemoto
0 siblings, 1 reply; 13+ messages in thread
From: Franck Bui-Huu @ 2006-12-01 9:40 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: linux-mips
Atsushi,
First thanks for your work on irq cleanup.
Now it seems that __do_IRQ() is not needed anymore. I dunno if it's
true for all platforms though. Does something like this make sense for
example ?
-- >8 --
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 5ff94e5..a4c5306 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -913,8 +913,13 @@ config SYS_SUPPORTS_BIG_ENDIAN
config SYS_SUPPORTS_LITTLE_ENDIAN
bool
+config GENERIC_HARDIRQS_NO__DO_IRQ
+ bool
+ default n
+
config IRQ_CPU
bool
+ select GENERIC_HARDIRQS_NO__DO_IRQ
config IRQ_CPU_RM7K
bool
--
Franck
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 9:40 Is _do_IRQ() not needed anymore ? Franck Bui-Huu
@ 2006-12-01 9:57 ` Atsushi Nemoto
2006-12-01 10:06 ` Franck Bui-Huu
0 siblings, 1 reply; 13+ messages in thread
From: Atsushi Nemoto @ 2006-12-01 9:57 UTC (permalink / raw)
To: vagabon.xyz; +Cc: linux-mips
On Fri, 1 Dec 2006 10:40:52 +0100, "Franck Bui-Huu" <vagabon.xyz@gmail.com> wrote:
> Now it seems that __do_IRQ() is not needed anymore. I dunno if it's
> true for all platforms though. Does something like this make sense for
> example ?
>
> -- >8 --
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 5ff94e5..a4c5306 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -913,8 +913,13 @@ config SYS_SUPPORTS_BIG_ENDIAN
> config SYS_SUPPORTS_LITTLE_ENDIAN
> bool
>
> +config GENERIC_HARDIRQS_NO__DO_IRQ
> + bool
> + default n
> +
No, there are irq chips still need __do_IRQ(). Please grep
'set_irq_chip('.
If _all_ irq chip were converted to use flow handler,
GENERIC_HARDIRQS_NO__DO_IRQ will be good. But we have i8259...
---
Atsushi Nemoto
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 9:57 ` Atsushi Nemoto
@ 2006-12-01 10:06 ` Franck Bui-Huu
2006-12-01 10:10 ` Atsushi Nemoto
0 siblings, 1 reply; 13+ messages in thread
From: Franck Bui-Huu @ 2006-12-01 10:06 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: linux-mips
On 12/1/06, Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
> No, there are irq chips still need __do_IRQ(). Please grep
> 'set_irq_chip('.
>
> If _all_ irq chip were converted to use flow handler,
> GENERIC_HARDIRQS_NO__DO_IRQ will be good. But we have i8259...
That's why in my example I made GENERIC_HARDIRQS_NO__DO_IRQ config
default to 'n' and selected by a irq chip that doens't use __do_IRQ()
anymore, well I think...
--
Franck
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 10:06 ` Franck Bui-Huu
@ 2006-12-01 10:10 ` Atsushi Nemoto
2006-12-01 10:19 ` Franck Bui-Huu
2006-12-01 15:08 ` Sergei Shtylyov
0 siblings, 2 replies; 13+ messages in thread
From: Atsushi Nemoto @ 2006-12-01 10:10 UTC (permalink / raw)
To: vagabon.xyz; +Cc: linux-mips
On Fri, 1 Dec 2006 11:06:44 +0100, "Franck Bui-Huu" <vagabon.xyz@gmail.com> wrote:
> > If _all_ irq chip were converted to use flow handler,
> > GENERIC_HARDIRQS_NO__DO_IRQ will be good. But we have i8259...
>
> That's why in my example I made GENERIC_HARDIRQS_NO__DO_IRQ config
> default to 'n' and selected by a irq chip that doens't use __do_IRQ()
> anymore, well I think...
You can use both irq_cpu and i8259 same time. :)
---
Atsushi Nemoto
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 10:10 ` Atsushi Nemoto
@ 2006-12-01 10:19 ` Franck Bui-Huu
2006-12-01 10:41 ` Atsushi Nemoto
2006-12-01 15:08 ` Sergei Shtylyov
1 sibling, 1 reply; 13+ messages in thread
From: Franck Bui-Huu @ 2006-12-01 10:19 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: linux-mips
On 12/1/06, Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
> On Fri, 1 Dec 2006 11:06:44 +0100, "Franck Bui-Huu" <vagabon.xyz@gmail.com> wrote:
> > > If _all_ irq chip were converted to use flow handler,
> > > GENERIC_HARDIRQS_NO__DO_IRQ will be good. But we have i8259...
> >
> > That's why in my example I made GENERIC_HARDIRQS_NO__DO_IRQ config
> > default to 'n' and selected by a irq chip that doens't use __do_IRQ()
> > anymore, well I think...
>
> You can use both irq_cpu and i8259 same time. :)
>
ok bad example. Why not making the select thing part of the platform
config like this ?
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 5ff94e5..8565533 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -233,6 +233,7 @@ config LASAT
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
select SYS_SUPPORTS_LITTLE_ENDIAN
+ select GENERIC_HARDIRQS_NO__DO_IRQ
config MIPS_ATLAS
bool "MIPS Atlas board"
@@ -913,6 +914,10 @@ config SYS_SUPPORTS_BIG_ENDIAN
config SYS_SUPPORTS_LITTLE_ENDIAN
bool
+config GENERIC_HARDIRQS_NO__DO_IRQ
+ bool
+ default n
+
config IRQ_CPU
bool
--
Franck
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 10:19 ` Franck Bui-Huu
@ 2006-12-01 10:41 ` Atsushi Nemoto
2006-12-01 11:03 ` Franck Bui-Huu
0 siblings, 1 reply; 13+ messages in thread
From: Atsushi Nemoto @ 2006-12-01 10:41 UTC (permalink / raw)
To: vagabon.xyz; +Cc: linux-mips
On Fri, 1 Dec 2006 11:19:34 +0100, "Franck Bui-Huu" <vagabon.xyz@gmail.com> wrote:
> ok bad example. Why not making the select thing part of the platform
> config like this ?
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 5ff94e5..8565533 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -233,6 +233,7 @@ config LASAT
> select SYS_SUPPORTS_32BIT_KERNEL
> select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
> select SYS_SUPPORTS_LITTLE_ENDIAN
> + select GENERIC_HARDIRQS_NO__DO_IRQ
>
> config MIPS_ATLAS
> bool "MIPS Atlas board"
> @@ -913,6 +914,10 @@ config SYS_SUPPORTS_BIG_ENDIAN
> config SYS_SUPPORTS_LITTLE_ENDIAN
> bool
>
> +config GENERIC_HARDIRQS_NO__DO_IRQ
> + bool
> + default n
> +
> config IRQ_CPU
> bool
This looks good for me.
Also, if you selected GENERIC_HARDIRQS_NO__DO_IRQ, you can remove .end
handler. But adding "#ifdef GENERIC_HARDIRQS_NO__DO_IRQ" for each
.end might be slightly ugly...
---
Atsushi Nemoto
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 10:41 ` Atsushi Nemoto
@ 2006-12-01 11:03 ` Franck Bui-Huu
2006-12-01 11:12 ` Franck Bui-Huu
2006-12-01 11:12 ` Atsushi Nemoto
0 siblings, 2 replies; 13+ messages in thread
From: Franck Bui-Huu @ 2006-12-01 11:03 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: linux-mips
On 12/1/06, Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
>
> Also, if you selected GENERIC_HARDIRQS_NO__DO_IRQ, you can remove .end
> handler. But adding "#ifdef GENERIC_HARDIRQS_NO__DO_IRQ" for each
> .end might be slightly ugly...
>
why not simply removing it since it won't be used anymore ?
--
Franck
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 11:03 ` Franck Bui-Huu
@ 2006-12-01 11:12 ` Franck Bui-Huu
2006-12-01 11:12 ` Atsushi Nemoto
1 sibling, 0 replies; 13+ messages in thread
From: Franck Bui-Huu @ 2006-12-01 11:12 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: linux-mips
On 12/1/06, Franck Bui-Huu <vagabon.xyz@gmail.com> wrote:
> On 12/1/06, Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
> >
> > Also, if you selected GENERIC_HARDIRQS_NO__DO_IRQ, you can remove .end
> > handler. But adding "#ifdef GENERIC_HARDIRQS_NO__DO_IRQ" for each
> > .end might be slightly ugly...
> >
>
> why not simply removing it since it won't be used anymore ?
>
oops sorry I take it back, I already forgot my first wrong assumption...
--
Franck
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 11:03 ` Franck Bui-Huu
2006-12-01 11:12 ` Franck Bui-Huu
@ 2006-12-01 11:12 ` Atsushi Nemoto
1 sibling, 0 replies; 13+ messages in thread
From: Atsushi Nemoto @ 2006-12-01 11:12 UTC (permalink / raw)
To: vagabon.xyz; +Cc: linux-mips
On Fri, 1 Dec 2006 12:03:54 +0100, "Franck Bui-Huu" <vagabon.xyz@gmail.com> wrote:
> > Also, if you selected GENERIC_HARDIRQS_NO__DO_IRQ, you can remove .end
> > handler. But adding "#ifdef GENERIC_HARDIRQS_NO__DO_IRQ" for each
> > .end might be slightly ugly...
>
> why not simply removing it since it won't be used anymore ?
Indeed. If the irq chip was always used with flow handler we can
remove it.
---
Atsushi Nemoto
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 10:10 ` Atsushi Nemoto
2006-12-01 10:19 ` Franck Bui-Huu
@ 2006-12-01 15:08 ` Sergei Shtylyov
2006-12-01 15:22 ` Atsushi Nemoto
1 sibling, 1 reply; 13+ messages in thread
From: Sergei Shtylyov @ 2006-12-01 15:08 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: vagabon.xyz, linux-mips
Hello.
Atsushi Nemoto wrote:
>>>If _all_ irq chip were converted to use flow handler,
>>>GENERIC_HARDIRQS_NO__DO_IRQ will be good. But we have i8259...
>>That's why in my example I made GENERIC_HARDIRQS_NO__DO_IRQ config
>>default to 'n' and selected by a irq chip that doens't use __do_IRQ()
>>anymore, well I think...
> You can use both irq_cpu and i8259 same time. :)
What's wrong with 8259 I wonder? It's happily converted to genirq by other
arches...
> ---
> Atsushi Nemoto
WBR, Sergei
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 15:08 ` Sergei Shtylyov
@ 2006-12-01 15:22 ` Atsushi Nemoto
2006-12-01 15:29 ` Sergei Shtylyov
0 siblings, 1 reply; 13+ messages in thread
From: Atsushi Nemoto @ 2006-12-01 15:22 UTC (permalink / raw)
To: sshtylyov; +Cc: vagabon.xyz, linux-mips
On Fri, 01 Dec 2006 18:08:25 +0300, Sergei Shtylyov <sshtylyov@ru.mvista.com> wrote:
> > You can use both irq_cpu and i8259 same time. :)
>
> What's wrong with 8259 I wonder? It's happily converted to genirq by other
> arches...
Indeed. I missed other arch's i8259.c had changed. Maybe we should
update i8259.c entirely.
---
Atsushi Nemoto
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 15:22 ` Atsushi Nemoto
@ 2006-12-01 15:29 ` Sergei Shtylyov
2006-12-01 15:34 ` Sergei Shtylyov
0 siblings, 1 reply; 13+ messages in thread
From: Sergei Shtylyov @ 2006-12-01 15:29 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: vagabon.xyz, linux-mips
Hello.
Atsushi Nemoto wrote:
>>>You can use both irq_cpu and i8259 same time. :)
>> What's wrong with 8259 I wonder? It's happily converted to genirq by other
>>arches...
> Indeed. I missed other arch's i8259.c had changed. Maybe we should
> update i8259.c entirely.
The question is what flow to use: level/edge ones used in x86 code and
actually intended for simplistic controllers, not the likes of 8259 OR the
"fasteoi" one used in PowerPC code and (as it turned out in my earlier
discussion in linuxppc-dev) intended for the controllers that are smart enough
to mask off the lower-priority IRQs when getting the top level one
acknowledged and unmask them upon EOI command...
> ---
> Atsushi Nemoto
WBR, Sergei
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Is _do_IRQ() not needed anymore ?
2006-12-01 15:29 ` Sergei Shtylyov
@ 2006-12-01 15:34 ` Sergei Shtylyov
0 siblings, 0 replies; 13+ messages in thread
From: Sergei Shtylyov @ 2006-12-01 15:34 UTC (permalink / raw)
To: Atsushi Nemoto; +Cc: vagabon.xyz, linux-mips
Hello.
Sergei Shtylyov wrote:
>>>> You can use both irq_cpu and i8259 same time. :)
>>> What's wrong with 8259 I wonder? It's happily converted to genirq
>>> by other arches...
>> Indeed. I missed other arch's i8259.c had changed. Maybe we should
>> update i8259.c entirely.
> The question is what flow to use: level/edge ones used in x86 code
> and actually intended for simplistic controllers, not the likes of 8259
> OR the "fasteoi" one used in PowerPC code and (as it turned out in my
Sorry for some confusion: in arch/powerpc/ level flow is always used for
8259 code (just because it fits both leve and edge cases)...
> earlier discussion in linuxppc-dev) intended for the controllers that
> are smart enough to mask off the lower-priority IRQs when getting the
> top level one acknowledged and unmask them upon EOI command...
However, Benjamin Herrenschmidt said that 8259 should have used fasteoi
flow instead since it was intended for that exact type of controllers (he
claimed to have proposed this flow initially).
>> ---
>> Atsushi Nemoto
WBR, Sergei
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2006-12-01 15:33 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-01 9:40 Is _do_IRQ() not needed anymore ? Franck Bui-Huu
2006-12-01 9:57 ` Atsushi Nemoto
2006-12-01 10:06 ` Franck Bui-Huu
2006-12-01 10:10 ` Atsushi Nemoto
2006-12-01 10:19 ` Franck Bui-Huu
2006-12-01 10:41 ` Atsushi Nemoto
2006-12-01 11:03 ` Franck Bui-Huu
2006-12-01 11:12 ` Franck Bui-Huu
2006-12-01 11:12 ` Atsushi Nemoto
2006-12-01 15:08 ` Sergei Shtylyov
2006-12-01 15:22 ` Atsushi Nemoto
2006-12-01 15:29 ` Sergei Shtylyov
2006-12-01 15:34 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox