<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arc/kernel/intc-arcv2.c, branch linux-5.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-06-19T15:09:55Z</updated>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500</title>
<updated>2019-06-19T15:09:55Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2019-06-04T08:11:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d2912cb15bdda8ba4a5dd73396ad62641af2f520'/>
<id>urn:sha1:d2912cb15bdda8ba4a5dd73396ad62641af2f520</id>
<content type='text'>
Based on 2 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation #

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 4122 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Enrico Weigelt &lt;info@metux.net&gt;
Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ARCv2: Add explcit unaligned access support (and ability to disable too)</title>
<updated>2019-02-25T20:10:58Z</updated>
<author>
<name>Eugeniy Paltsev</name>
</author>
<published>2019-01-30T16:32:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76551468833cd5c356b1d9ff4bc9393fcf768a59'/>
<id>urn:sha1:76551468833cd5c356b1d9ff4bc9393fcf768a59</id>
<content type='text'>
As of today we enable unaligned access unconditionally on ARCv2.
Do this under a Kconfig option to allow disable it for test, benchmarking
etc. Also while at it

  - Select HAVE_EFFICIENT_UNALIGNED_ACCESS
  - Although gcc defaults to unaligned access (since GNU 2018.03), add the
    right toggles for enabling or disabling as appropriate
  - update bootlog to prints both HW feature status (exists, enabled/disabled)
    and SW status (used / not used).
  - wire up the relaxed memcpy for unaligned access

Signed-off-by: Eugeniy Paltsev &lt;Eugeniy.Paltsev@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
[vgupta: squashed patches, handle gcc -mno-unaligned-access quick]
</content>
</entry>
<entry>
<title>ARCv2: support manual regfile save on interrupts</title>
<updated>2019-02-21T19:03:18Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2018-06-06T17:20:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e494239a007e601448110ac304fe055951f9de3b'/>
<id>urn:sha1:e494239a007e601448110ac304fe055951f9de3b</id>
<content type='text'>
There's a hardware bug which affects the HSDK platform, triggered by
micro-ops for auto-saving regfile on taken interrupt. The workaround is
to inhibit autosave.

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARCv2: SMP: Mask only private-per-core IRQ lines on boot at core intc</title>
<updated>2017-08-28T23:11:15Z</updated>
<author>
<name>Alexey Brodkin</name>
</author>
<published>2017-08-28T22:03:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8206d2baa41a4c7cf4590929f8819f8309b564d'/>
<id>urn:sha1:e8206d2baa41a4c7cf4590929f8819f8309b564d</id>
<content type='text'>
Recent commit a8ec3ee861b6 "arc: Mask individual IRQ lines during core
INTC init" breaks interrupt handling on ARCv2 SMP systems.

That commit masked all interrupts at onset, as some controllers on some
boards (customer as well as internal), would assert interrutps early
before any handlers were installed.  For SMP systems, the masking was
done at each cpu's core-intc.  Later, when the IRQ was actually
requested, it was unmasked, but only on the requesting cpu.

For "common" interrupts, which were wired up from the 2nd level IDU
intc, this was as issue as they needed to be enabled on ALL the cpus
(given that IDU IRQs are by default served Round Robin across cpus)

So fix that by NOT masking "common" interrupts at core-intc, but instead
at the 2nd level IDU intc (latter already being done in idu_of_init())

Fixes: a8ec3ee861b6 ("arc: Mask individual IRQ lines during core INTC init")
Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
[vgupta: reworked changelog, removed the extraneous idu_irq_mask_raw()]
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>arc: Mask individual IRQ lines during core INTC init</title>
<updated>2017-08-11T01:08:31Z</updated>
<author>
<name>Alexey Brodkin</name>
</author>
<published>2017-08-10T15:07:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8ec3ee861b6e4e6b82a98777c65510ae63766c1'/>
<id>urn:sha1:a8ec3ee861b6e4e6b82a98777c65510ae63766c1</id>
<content type='text'>
ARC cores on reset have all interrupt lines of built-in INTC enabled.
Which means once we globally enable interrupts (very early on boot)
faulty hardware blocks may trigger an interrupt that Linux kernel
cannot handle yet as corresponding handler is not yet installed.

In that case system falls in "interrupt storm" and basically never
does anything useful except entering and exiting generic IRQ handling
code.

One real example of that kind of problematic hardware is DW GMAC which
also has interrupts enabled on reset and if Ethernet PHY informs GMAC
about link state, GMAC immediately reports that upstream to ARC core
and here we are.

Now with that change we mask all individual IRQ lines making entire
system more fool-proof.

[This patch was motivated by Adaptrum platform support]

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Cc: Eugeniy Paltsev &lt;paltsev@synopsys.com&gt;
Tested-by: Alexandru Gagniuc &lt;alex.g@adaptrum.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARCv2: intc: Set default priority for all core interrupts</title>
<updated>2017-02-06T17:37:57Z</updated>
<author>
<name>Yuriy Kolerov</name>
</author>
<published>2017-01-31T11:45:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be568e78dbb35383fdfd0563fd0cfbbff1bc42d0'/>
<id>urn:sha1:be568e78dbb35383fdfd0563fd0cfbbff1bc42d0</id>
<content type='text'>
After reset all interrupts in the core interrupt controller has
the highest priority P0. If the platform supports Fast IRQs and
has more than 1 banks of registers then CPU automatically switch
banks of registers when P0 interrupt comes.

The problem is that the kernel expects that by default switching
of banks is not used by all interrupts. It is necessary to set a
default nonzero priority for all available interrupts to avoid
undefined behaviour.

Signed-off-by: Yuriy Kolerov &lt;yuriy.kolerov@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARCv2: intc: Use runtime value of irq count for setting up intc</title>
<updated>2017-02-06T17:37:57Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2017-02-01T17:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=179cf194e6d153fb6daeca811253502d5c84e4c8'/>
<id>urn:sha1:179cf194e6d153fb6daeca811253502d5c84e4c8</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [intc-*]: confine NR_CPU_IRQS to intc code</title>
<updated>2017-02-06T17:37:57Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2017-02-01T18:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fe7b10994618c846481fbcf9212d296df47bc1dc'/>
<id>urn:sha1:fe7b10994618c846481fbcf9212d296df47bc1dc</id>
<content type='text'>
And even this willl change in subsequent patches where we resort to
using run time info instead...

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARCv2: intc: Use ARC_REG_STATUS32 for addressing STATUS32 reg</title>
<updated>2017-02-06T17:37:57Z</updated>
<author>
<name>Yuriy Kolerov</name>
</author>
<published>2017-01-31T11:45:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e98a7bf0b094dea1ceed3a4d52584dcd59af0980'/>
<id>urn:sha1:e98a7bf0b094dea1ceed3a4d52584dcd59af0980</id>
<content type='text'>
It is better to use it instead of magic numbers.

Signed-off-by: Yuriy Kolerov &lt;yuriy.kolerov@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: IRQ: Use hwirq instead of virq in mask/unmask</title>
<updated>2017-01-05T01:12:10Z</updated>
<author>
<name>Yuriy Kolerov</name>
</author>
<published>2016-12-28T08:46:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2163266c2704aa44211b6b61924a0fa570fe0d4b'/>
<id>urn:sha1:2163266c2704aa44211b6b61924a0fa570fe0d4b</id>
<content type='text'>
It is necessary to use hwirq instead of virq when you communicate
with an interrupt controller since there is no guaranty that virq
numbers match hwirq numbers.

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