<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arc/kernel/irq.c, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-05-09T04:02:30Z</updated>
<entry>
<title>ARC: [intc-*] Do a domain lookup in primary handler for hwirq -&gt; linux virq</title>
<updated>2016-05-09T04:02:30Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2016-01-01T09:42:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b0ccb8a4eee2d8c14adc996e07335cb7aa9e2ac'/>
<id>urn:sha1:1b0ccb8a4eee2d8c14adc996e07335cb7aa9e2ac</id>
<content type='text'>
The primary interrupt handler arch_do_IRQ() was passing hwirq as linux
virq to core code. This was fragile and worked so far as we only had legacy/linear
domains.

This came out of a rant by Marc Zyngier.
http://lists.infradead.org/pipermail/linux-snps-arc/2015-December/000298.html

Cc: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Noam Camus &lt;noamc@ezchip.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: opencode arc_request_percpu_irq</title>
<updated>2016-05-09T04:02:28Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2016-01-28T07:26:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=569579401ae1c9b9f317f38261e32135b153e9b3'/>
<id>urn:sha1:569579401ae1c9b9f317f38261e32135b153e9b3</id>
<content type='text'>
- The idea is to remove the API usage since it has a subltle
  design flaw - relies on being called on cpu0 first. This is true for
  some early per cpu irqs such as TIMER/IPI, but not for late probed
  per cpu peripherals such a perf. And it's usage in perf has already
  bitten us once: see c6317bc7c5ab
  ("ARCv2: perf: Ensure perf intr gets enabled on all cores") where we
  ended up open coding it anyways

- The seeming duplication will go away once we start using cpu notifier
  for timer setup

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [intc-compact] setup TIMER as percpu_dev</title>
<updated>2016-05-09T04:02:28Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2016-01-28T07:22:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db4c4426daedffefcfd890d04a6ec9ed93268878'/>
<id>urn:sha1:db4c4426daedffefcfd890d04a6ec9ed93268878</id>
<content type='text'>
This removes the quirk from arc_request_percpu_irq() and paves way for
future simplifications

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: smp: Rename platform hook @init_cpu_smp -&gt; @init_per_cpu</title>
<updated>2015-12-17T07:26:56Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-12-17T06:52:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=575a9d4e2c09675c05db2bc781c5c33153ce932f'/>
<id>urn:sha1:575a9d4e2c09675c05db2bc781c5c33153ce932f</id>
<content type='text'>
Makes it similar to smp_ops which also has callback with same name

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: rename smp operation init_irq_cpu() to init_per_cpu()</title>
<updated>2015-12-17T07:26:43Z</updated>
<author>
<name>Noam Camus</name>
</author>
<published>2015-12-16T01:10:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b474a02382b75f4a75c4e94eb9847aad28dd4a37'/>
<id>urn:sha1:b474a02382b75f4a75c4e94eb9847aad28dd4a37</id>
<content type='text'>
This will better reflect its description i.e. "any needed setup..."
and not just do an "IPI request".

Signed-off-by: Noam Camus &lt;noamc@ezchip.com&gt;
Acked-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: intc: Document arc_request_percpu_irq() better</title>
<updated>2015-12-12T10:34:12Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-12-11T14:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c512c6ba7ac41b8bc196f17a85ee52099a109146'/>
<id>urn:sha1:c512c6ba7ac41b8bc196f17a85ee52099a109146</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: intc: No need to clear IRQ_NOAUTOEN</title>
<updated>2015-12-12T10:33:59Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-12-11T10:46:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bf704c204440b1e90251382ee07a2dc5e4960ec'/>
<id>urn:sha1:5bf704c204440b1e90251382ee07a2dc5e4960ec</id>
<content type='text'>
arc_request_percpu_irq() is called by all cores to request/enable percpu
irq. It has some "prep" calls needed by genirq:
 - setup percpu devid
 - disable IRQ_NOAUTOEN

However given that enable_percpu_irq() is called enayways, latter can be
avoided.

We are now left with irq_set_percpu_devid() quirk and that too for
ARCompact builds only, since previous patch updated ARCv2 intc to do this
in the "right" place, i.e. irq map function.

By next release, this will ultimately be fixed for ARCompact as well.

Cc: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: smp: Introduce smp hook @init_irq_cpu called for all cores</title>
<updated>2015-10-28T10:43:41Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-10-14T09:08:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=286130ebf196d9643800977d57bdb7cda266b49e'/>
<id>urn:sha1:286130ebf196d9643800977d57bdb7cda266b49e</id>
<content type='text'>
Note this is not part of platform owned static machine_desc,
but more of device owned plat_smp_ops (rather misnamed) which a IPI
provider or some such typically defines.

This will help us seperate out the IPI registration from platform
specific init_cpu_smp() into device specific init_irq_cpu()

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: smp: Rename platform hook @init_smp -&gt; @init_cpu_smp</title>
<updated>2015-10-28T10:43:40Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-10-13T09:56:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8721a7f5a6f95c38cacbe1be22c820a7698926ef'/>
<id>urn:sha1:8721a7f5a6f95c38cacbe1be22c820a7698926ef</id>
<content type='text'>
This conveys better that it is called for each cpu

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: remove @init_time, @init_irq platform callbacks</title>
<updated>2015-10-28T10:43:39Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-10-13T03:18:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c82f28617ab9ce938118f0b99156a96c64d3da0'/>
<id>urn:sha1:4c82f28617ab9ce938118f0b99156a96c64d3da0</id>
<content type='text'>
These are not in use for ARC platforms. Moreover DT mechanims exist to
probe them w/o explicit platform calls.

 - clocksource drivers can use CLOCKSOURCE_OF_DECLARE()
 - intc IRQCHIP_DECLARE() calls + cascading inside DT allows external
   intc to be probed automatically

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
</feed>
