<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/include/linux/irq.h, branch v3.12.25</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>genirq: Allow forcing cpu affinity of interrupts</title>
<updated>2014-06-06T09:40:20+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2014-04-16T14:36:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d12167320ffac0629411f16f50e360438abbb52a'/>
<id>d12167320ffac0629411f16f50e360438abbb52a</id>
<content type='text'>
commit 01f8fa4f01d8362358eb90e412bd7ae18a3ec1ad upstream.

The current implementation of irq_set_affinity() refuses rightfully to
route an interrupt to an offline cpu.

But there is a special case, where this is actually desired. Some of
the ARM SoCs have per cpu timers which require setting the affinity
during cpu startup where the cpu is not yet in the online mask.

If we can't do that, then the local timer interrupt for the about to
become online cpu is routed to some random online cpu.

The developers of the affected machines tried to work around that
issue, but that results in a massive mess in that timer code.

We have a yet unused argument in the set_affinity callbacks of the irq
chips, which I added back then for a similar reason. It was never
required so it got not used. But I'm happy that I never removed it.

That allows us to implement a sane handling of the above scenario. So
the affected SoC drivers can add the required force handling to their
interrupt chip, switch the timer code to irq_force_affinity() and
things just work.

This does not affect any existing user of irq_set_affinity().

Tagged for stable to allow a simple fix of the affected SoC clock
event drivers.

Reported-and-tested-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Cc: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;,
Cc: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;,
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Cc: linux-arm-kernel@lists.infradead.org,
Link: http://lkml.kernel.org/r/20140416143315.717251504@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 01f8fa4f01d8362358eb90e412bd7ae18a3ec1ad upstream.

The current implementation of irq_set_affinity() refuses rightfully to
route an interrupt to an offline cpu.

But there is a special case, where this is actually desired. Some of
the ARM SoCs have per cpu timers which require setting the affinity
during cpu startup where the cpu is not yet in the online mask.

If we can't do that, then the local timer interrupt for the about to
become online cpu is routed to some random online cpu.

The developers of the affected machines tried to work around that
issue, but that results in a massive mess in that timer code.

We have a yet unused argument in the set_affinity callbacks of the irq
chips, which I added back then for a similar reason. It was never
required so it got not used. But I'm happy that I never removed it.

That allows us to implement a sane handling of the above scenario. So
the affected SoC drivers can add the required force handling to their
interrupt chip, switch the timer code to irq_force_affinity() and
things just work.

This does not affect any existing user of irq_set_affinity().

Tagged for stable to allow a simple fix of the affected SoC clock
event drivers.

Reported-and-tested-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Cc: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;,
Cc: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;,
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Cc: linux-arm-kernel@lists.infradead.org,
Link: http://lkml.kernel.org/r/20140416143315.717251504@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Remove GENERIC_HARDIRQ config option</title>
<updated>2013-09-13T13:09:52+00:00</updated>
<author>
<name>Martin Schwidefsky</name>
<email>schwidefsky@de.ibm.com</email>
</author>
<published>2013-08-30T07:39:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0244ad004a54e39308d495fee0a2e637f8b5c317'/>
<id>0244ad004a54e39308d495fee0a2e637f8b5c317</id>
<content type='text'>
After the last architecture switched to generic hard irqs the config
options HAVE_GENERIC_HARDIRQS &amp; GENERIC_HARDIRQS and the related code
for !CONFIG_GENERIC_HARDIRQS can be removed.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After the last architecture switched to generic hard irqs the config
options HAVE_GENERIC_HARDIRQS &amp; GENERIC_HARDIRQS and the related code
for !CONFIG_GENERIC_HARDIRQS can be removed.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>genirq: Add irq_get_trigger_type() to get IRQ flags</title>
<updated>2013-06-25T09:48:24+00:00</updated>
<author>
<name>Javier Martinez Canillas</name>
<email>javier.martinez@collabora.co.uk</email>
</author>
<published>2013-06-14T16:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1f6236bfd7c38d5f9f7648fae7215e65274b9e63'/>
<id>1f6236bfd7c38d5f9f7648fae7215e65274b9e63</id>
<content type='text'>
Drivers that want to get the trigger edge/level type flags for a given
interrupt have to call irq_get_irq_data(irq) to get the struct
irq_data and then irqd_get_trigger_type(irq_data) to obtain the IRQ
flags.

This is not only error prone but also unnecessary exposes the struct
irq_data to callers.

It's better to have an irq_get_trigger_type() function to obtain the
edge/level flags for an IRQ.

Signed-off-by: Javier Martinez Canillas &lt;javier.martinez@collabora.co.uk&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mips@linux-mips.org
Link: http://lkml.kernel.org/r/1371228049-27080-2-git-send-email-javier.martinez@collabora.co.uk
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Drivers that want to get the trigger edge/level type flags for a given
interrupt have to call irq_get_irq_data(irq) to get the struct
irq_data and then irqd_get_trigger_type(irq_data) to obtain the IRQ
flags.

This is not only error prone but also unnecessary exposes the struct
irq_data to callers.

It's better to have an irq_get_trigger_type() function to obtain the
edge/level flags for an IRQ.

Signed-off-by: Javier Martinez Canillas &lt;javier.martinez@collabora.co.uk&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mips@linux-mips.org
Link: http://lkml.kernel.org/r/1371228049-27080-2-git-send-email-javier.martinez@collabora.co.uk
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>genirq: irqchip: Add mask to block out invalid irqs</title>
<updated>2013-05-29T08:57:11+00:00</updated>
<author>
<name>Grant Likely</name>
<email>grant.likely@linaro.org</email>
</author>
<published>2013-05-29T02:10:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e8bd834f73714378ef110a64287db1b77033c8da'/>
<id>e8bd834f73714378ef110a64287db1b77033c8da</id>
<content type='text'>
Some controllers have irqs that aren't wired up and must never be used.
For the generic chip attached to an irq_domain this provides a mask that
can be used to block out particular irqs so that they never get mapped.

Signed-off-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Link: http://lkml.kernel.org/r/1369793454-19197-2-git-send-email-grant.likely@linaro.org
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some controllers have irqs that aren't wired up and must never be used.
For the generic chip attached to an irq_domain this provides a mask that
can be used to block out particular irqs so that they never get mapped.

Signed-off-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Link: http://lkml.kernel.org/r/1369793454-19197-2-git-send-email-grant.likely@linaro.org
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>genirq: Generic chip: Add linear irq domain support</title>
<updated>2013-05-29T08:57:11+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2013-05-06T14:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=088f40b7b027dad6519712ff224a5798dd62a204'/>
<id>088f40b7b027dad6519712ff224a5798dd62a204</id>
<content type='text'>
Provide infrastructure for irq chip implementations which work on
linear irq domains.

- Interface to allocate multiple generic chips which are associated to
  the irq domain.

- Interface to get the generic chip pointer for a particular hardware
  interrupt in the domain.

- irq domain mapping function to install the chip for a particular
  interrupt.

Note: This lacks a removal function for now.

[ Sebastian Hesselbarth: Mask cache and pointer math fixups ]

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.450634298@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide infrastructure for irq chip implementations which work on
linear irq domains.

- Interface to allocate multiple generic chips which are associated to
  the irq domain.

- Interface to get the generic chip pointer for a particular hardware
  interrupt in the domain.

- irq domain mapping function to install the chip for a particular
  interrupt.

Note: This lacks a removal function for now.

[ Sebastian Hesselbarth: Mask cache and pointer math fixups ]

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.450634298@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>genirq: irqchip: Add a mask calculation function</title>
<updated>2013-05-29T08:57:10+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2013-05-06T14:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d0051816e619f8f082582bec07ffa51bdb4f2104'/>
<id>d0051816e619f8f082582bec07ffa51bdb4f2104</id>
<content type='text'>
Some chips have weird bit mask access patterns instead of the linear
you expect. Allow them to calculate the cached mask themself.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.302898834@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some chips have weird bit mask access patterns instead of the linear
you expect. Allow them to calculate the cached mask themself.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.302898834@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>genirq: Generic chip: Cache per irq bit mask</title>
<updated>2013-05-29T08:57:10+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2013-05-06T14:30:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=966dc736b819999cd2d3a6408d47d33b579f7d56'/>
<id>966dc736b819999cd2d3a6408d47d33b579f7d56</id>
<content type='text'>
Cache the per irq bit mask instead of recalculating it over and over.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.227119865@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cache the per irq bit mask instead of recalculating it over and over.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.227119865@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>genirq: Generic chip: Handle separate mask registers</title>
<updated>2013-05-29T08:57:10+00:00</updated>
<author>
<name>Gerlando Falauto</name>
<email>gerlando.falauto@keymile.com</email>
</author>
<published>2013-05-06T14:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=af80b0fed67261dcba2ce2406db1d553d07cbe75'/>
<id>af80b0fed67261dcba2ce2406db1d553d07cbe75</id>
<content type='text'>
There are cases where all irq_chip_type instances have separate mask
registers, making a shared mask register cache unsuitable for the
purpose.

Introduce a new flag IRQ_GC_MASK_CACHE_PER_TYPE. If set, point the per
chip mask pointer to the per chip private mask cache instead.

[ tglx: Simplified code, renamed flag and massaged changelog ]

Signed-off-by: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Joey Oravec &lt;joravec@drewtech.com&gt;
Cc: Lennert Buytenhek &lt;kernel@wantstofly.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Holger Brunck &lt;Holger.Brunck@keymile.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Simon Guinot &lt;simon@sequanux.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.152569748@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are cases where all irq_chip_type instances have separate mask
registers, making a shared mask register cache unsuitable for the
purpose.

Introduce a new flag IRQ_GC_MASK_CACHE_PER_TYPE. If set, point the per
chip mask pointer to the per chip private mask cache instead.

[ tglx: Simplified code, renamed flag and massaged changelog ]

Signed-off-by: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Joey Oravec &lt;joravec@drewtech.com&gt;
Cc: Lennert Buytenhek &lt;kernel@wantstofly.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Holger Brunck &lt;Holger.Brunck@keymile.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Simon Guinot &lt;simon@sequanux.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.152569748@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>genirq: Generic chip: Add support for per chip type mask cache</title>
<updated>2013-05-29T08:57:10+00:00</updated>
<author>
<name>Gerlando Falauto</name>
<email>gerlando.falauto@keymile.com</email>
</author>
<published>2013-05-06T14:30:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=899f0e66fff36ebb6dd6a83af9aa631f6cb7e0dc'/>
<id>899f0e66fff36ebb6dd6a83af9aa631f6cb7e0dc</id>
<content type='text'>
Today the same interrupt mask cache (stored within struct irq_chip_generic)
is shared between all the irq_chip_type instances. As there are instances
where each irq_chip_type uses a distinct mask register (as it is the case
for Orion SoCs), sharing a single mask cache may be incorrect.
So add a distinct pointer for each irq_chip_type, which for now
points to the original mask register within irq_chip_generic.
So no functional changes here.

[ tglx: Minor cosmetic tweaks ]

Reported-by: Joey Oravec &lt;joravec@drewtech.com&gt;
Signed-off-by: Simon Guinot &lt;sguinot@lacie.com&gt;
Signed-off-by: Holger Brunck &lt;holger.brunck@keymile.com&gt;
Signed-off-by: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Lennert Buytenhek &lt;kernel@wantstofly.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Holger Brunck &lt;Holger.Brunck@keymile.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Simon Guinot &lt;simon@sequanux.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.082226607@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Today the same interrupt mask cache (stored within struct irq_chip_generic)
is shared between all the irq_chip_type instances. As there are instances
where each irq_chip_type uses a distinct mask register (as it is the case
for Orion SoCs), sharing a single mask cache may be incorrect.
So add a distinct pointer for each irq_chip_type, which for now
points to the original mask register within irq_chip_generic.
So no functional changes here.

[ tglx: Minor cosmetic tweaks ]

Reported-by: Joey Oravec &lt;joravec@drewtech.com&gt;
Signed-off-by: Simon Guinot &lt;sguinot@lacie.com&gt;
Signed-off-by: Holger Brunck &lt;holger.brunck@keymile.com&gt;
Signed-off-by: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Lennert Buytenhek &lt;kernel@wantstofly.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Cc: Holger Brunck &lt;Holger.Brunck@keymile.com&gt;
Cc: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Gregory Clement &lt;gregory.clement@free-electrons.com&gt;
Cc: Simon Guinot &lt;simon@sequanux.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Cc: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Cc: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Cc: Rob Landley &lt;rob@landley.net&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Link: http://lkml.kernel.org/r/20130506142539.082226607@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86, msi: Use IRQ remapping specific setup_msi_irqs routine</title>
<updated>2013-01-28T11:17:25+00:00</updated>
<author>
<name>Joerg Roedel</name>
<email>joro@8bytes.org</email>
</author>
<published>2012-09-26T10:44:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5afba62cc8a16716508605e02c1b02ee5f969184'/>
<id>5afba62cc8a16716508605e02c1b02ee5f969184</id>
<content type='text'>
Use seperate routines to setup MSI IRQs for both
irq_remapping_enabled cases.

Signed-off-by: Joerg Roedel &lt;joro@8bytes.org&gt;
Acked-by: Sebastian Andrzej Siewior &lt;sebastian@breakpoint.cc&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use seperate routines to setup MSI IRQs for both
irq_remapping_enabled cases.

Signed-off-by: Joerg Roedel &lt;joro@8bytes.org&gt;
Acked-by: Sebastian Andrzej Siewior &lt;sebastian@breakpoint.cc&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
