<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/irqchip, branch v5.16</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v5.16</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v5.16'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2021-12-10T13:23:13+00:00</updated>
<entry>
<title>irqchip/irq-bcm7120-l2: Add put_device() after of_find_device_by_node()</title>
<updated>2021-12-10T13:23:13+00:00</updated>
<author>
<name>Ye Guojin</name>
<email>ye.guojin@zte.com.cn</email>
</author>
<published>2021-11-09T05:59:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c3fbab7767c53397d7b849799474f5a27cf306e6'/>
<id>urn:sha1:c3fbab7767c53397d7b849799474f5a27cf306e6</id>
<content type='text'>
This was found by coccicheck:
./drivers/irqchip/irq-bcm7120-l2.c,328,1-7,ERROR  missing put_device;
call of_find_device_by_node on line 234, but without a corresponding
object release within this function.
./drivers/irqchip/irq-bcm7120-l2.c,341,1-7,ERROR  missing put_device;
call of_find_device_by_node on line 234, but without a corresponding
object release within this function.

Reported-by: Zeal Robot &lt;zealci@zte.com.cn&gt;
Signed-off-by: Ye Guojin &lt;ye.guojin@zte.com.cn&gt;
Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211109055958.130287-1-ye.guojin@zte.com.cn
</content>
</entry>
<entry>
<title>irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL</title>
<updated>2021-12-08T11:13:18+00:00</updated>
<author>
<name>Wudi Wang</name>
<email>wangwudi@hisilicon.com</email>
</author>
<published>2021-12-08T01:54:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b383a42ca523ce54bcbd63f7c8f3cf974abc9b9a'/>
<id>urn:sha1:b383a42ca523ce54bcbd63f7c8f3cf974abc9b9a</id>
<content type='text'>
INVALL CMD specifies that the ITS must ensure any caching associated with
the interrupt collection defined by ICID is consistent with the LPI
configuration tables held in memory for all Redistributors. SYNC is
required to ensure that INVALL is executed.

Currently, LPI configuration data may be inconsistent with that in the
memory within a short period of time after the INVALL command is executed.

Signed-off-by: Wudi Wang &lt;wangwudi@hisilicon.com&gt;
Signed-off-by: Shaokun Zhang &lt;zhangshaokun@hisilicon.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Fixes: cc2d3216f53c ("irqchip: GICv3: ITS command queue")
Link: https://lore.kernel.org/r/20211208015429.5007-1-zhangshaokun@hisilicon.com
</content>
</entry>
<entry>
<title>irqchip/apple-aic: Mark aic_init_smp() as __init</title>
<updated>2021-12-07T09:33:11+00:00</updated>
<author>
<name>Donghyeok Kim</name>
<email>dthex5d@gmail.com</email>
</author>
<published>2021-12-04T16:42:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3d9e575f2acef57528ed6950b5f8ba99f5e52f3f'/>
<id>urn:sha1:3d9e575f2acef57528ed6950b5f8ba99f5e52f3f</id>
<content type='text'>
This function is only called from the driver init code.

Signed-off-by: Donghyeok Kim &lt;dthex5d@gmail.com&gt;
Acked-by: Hector Martin &lt;marcan@marcan.st&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211204164228.5920-1-dthex5d@gmail.com
</content>
</entry>
<entry>
<title>irqchip: nvic: Fix offset for Interrupt Priority Offsets</title>
<updated>2021-12-02T09:27:06+00:00</updated>
<author>
<name>Vladimir Murzin</name>
<email>vladimir.murzin@arm.com</email>
</author>
<published>2021-12-01T11:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c5e0cbe2858d278a27d5b3fe31890aea5be064c4'/>
<id>urn:sha1:c5e0cbe2858d278a27d5b3fe31890aea5be064c4</id>
<content type='text'>
According to ARM(v7M) ARM Interrupt Priority Offsets located at
0xE000E400-0xE000E5EC, while 0xE000E300-0xE000E33C covers read-only
Interrupt Active Bit Registers

Fixes: 292ec080491d ("irqchip: Add support for ARMv7-M NVIC")
Signed-off-by: Vladimir Murzin &lt;vladimir.murzin@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211201110259.84857-1-vladimir.murzin@arm.com
</content>
</entry>
<entry>
<title>irqchip/mips-gic: Use bitfield helpers</title>
<updated>2021-11-25T16:55:40+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2021-11-22T15:54:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=357a9c4b79f4c8bbceb77c64ea09d8da3a6a870d'/>
<id>urn:sha1:357a9c4b79f4c8bbceb77c64ea09d8da3a6a870d</id>
<content type='text'>
Use the FIELD_GET() helper, instead of open-coding the same operation.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/all/74f9d126961a90d3e311b92a54870eaac5b3ae57.1637593297.git.geert+renesas@glider.be
</content>
</entry>
<entry>
<title>irqchip/aspeed-scu: Replace update_bits with write_bits.</title>
<updated>2021-11-25T16:50:44+00:00</updated>
<author>
<name>Billy Tsai</name>
<email>billy_tsai@aspeedtech.com</email>
</author>
<published>2021-11-24T09:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8958389681b929fcc7301e7dc5f0da12e4a256a0'/>
<id>urn:sha1:8958389681b929fcc7301e7dc5f0da12e4a256a0</id>
<content type='text'>
The interrupt status bits are cleared by writing 1, we should force a
write to clear the interrupt without checking if the value has changed.

Fixes: 04f605906ff0 ("irqchip: Add Aspeed SCU interrupt controller")
Signed-off-by: Billy Tsai &lt;billy_tsai@aspeedtech.com&gt;
Reviewed-by: Joel Stanley &lt;joel@jms.id.au&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211124094348.11621-1-billy_tsai@aspeedtech.com
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>irqchip/armada-370-xp: Fix support for Multi-MSI interrupts</title>
<updated>2021-11-25T16:49:50+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali@kernel.org</email>
</author>
<published>2021-11-25T13:00:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d0a553502efd545c1ce3fd08fc4d423f8e4ac3d6'/>
<id>urn:sha1:d0a553502efd545c1ce3fd08fc4d423f8e4ac3d6</id>
<content type='text'>
irq-armada-370-xp driver already sets MSI_FLAG_MULTI_PCI_MSI flag into
msi_domain_info structure. But allocated interrupt numbers for Multi-MSI
needs to be properly aligned otherwise devices send MSI interrupt with
wrong number.

Fix this issue by using function bitmap_find_free_region() instead of
bitmap_find_next_zero_area() to allocate aligned interrupt numbers.

Signed-off-by: Pali Rohár &lt;pali@kernel.org&gt;
Fixes: a71b9412c90c ("irqchip/armada-370-xp: Allow allocation of multiple MSIs")
Cc: stable@vger.kernel.org
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211125130057.26705-2-pali@kernel.org
</content>
</entry>
<entry>
<title>irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc()</title>
<updated>2021-11-25T16:49:38+00:00</updated>
<author>
<name>Pali Rohár</name>
<email>pali@kernel.org</email>
</author>
<published>2021-11-25T13:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ce20eff57361e72878a772ef08b5239d3ae102b6'/>
<id>urn:sha1:ce20eff57361e72878a772ef08b5239d3ae102b6</id>
<content type='text'>
IRQ domain alloc function should return zero on success. Non-zero value
indicates failure.

Signed-off-by: Pali Rohár &lt;pali@kernel.org&gt;
Fixes: fcc392d501bd ("irqchip/armada-370-xp: Use the generic MSI infrastructure")
Cc: stable@vger.kernel.org
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211125130057.26705-1-pali@kernel.org
</content>
</entry>
<entry>
<title>irqchip/sifive-plic: Fixup EOI failed when masked</title>
<updated>2021-11-12T16:09:51+00:00</updated>
<author>
<name>Guo Ren</name>
<email>guoren@linux.alibaba.com</email>
</author>
<published>2021-11-05T09:47:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=69ea463021be0d159ab30f96195fb0dd18ee2272'/>
<id>urn:sha1:69ea463021be0d159ab30f96195fb0dd18ee2272</id>
<content type='text'>
When using "devm_request_threaded_irq(,,,,IRQF_ONESHOT,,)" in a driver,
only the first interrupt is handled, and following interrupts are never
delivered (initially reported in [1]).

That's because the RISC-V PLIC cannot EOI masked interrupts, as explained
in the description of Interrupt Completion in the PLIC spec [2]:

&lt;quote&gt;
The PLIC signals it has completed executing an interrupt handler by
writing the interrupt ID it received from the claim to the claim/complete
register. The PLIC does not check whether the completion ID is the same
as the last claim ID for that target. If the completion ID does not match
an interrupt source that *is currently enabled* for the target, the
completion is silently ignored.
&lt;/quote&gt;

Re-enable the interrupt before completion if it has been masked during
the handling, and remask it afterwards.

[1] http://lists.infradead.org/pipermail/linux-riscv/2021-July/007441.html
[2] https://github.com/riscv/riscv-plic-spec/blob/8bc15a35d07c9edf7b5d23fec9728302595ffc4d/riscv-plic.adoc

Fixes: bb0fed1c60cc ("irqchip/sifive-plic: Switch to fasteoi flow")
Reported-by: Vincent Pelletier &lt;plr.vincent@gmail.com&gt;
Tested-by: Nikita Shubin &lt;nikita.shubin@maquefel.me&gt;
Signed-off-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
Cc: stable@vger.kernel.org
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;
Cc: Atish Patra &lt;atish.patra@wdc.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
[maz: amended commit message]
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211105094748.3894453-1-guoren@kernel.org
</content>
</entry>
<entry>
<title>irqchip/csky-mpintc: Fixup mask/unmask implementation</title>
<updated>2021-11-12T16:09:50+00:00</updated>
<author>
<name>Guo Ren</name>
<email>guoren@linux.alibaba.com</email>
</author>
<published>2021-11-01T13:45:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1cbb418b69ed28f3395c6208931843a53d3fbcbe'/>
<id>urn:sha1:1cbb418b69ed28f3395c6208931843a53d3fbcbe</id>
<content type='text'>
The mask/unmask must be implemented, and enable/disable supplement
them if the HW requires something different at startup time. When
irq source is disabled by mask, mpintc could complete irq normally.

So drop enable/disable if favour of mask/unmask.

Signed-off-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20211101134534.3804542-1-guoren@kernel.org
</content>
</entry>
</feed>
