public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] irqchip/qcom-pdc: Assorted cleanups and fixes
@ 2022-02-24 10:12 Marc Zyngier
  2022-02-24 10:12 ` [PATCH 1/5] irqchip/qcom-pdc: Kill PDC_NO_PARENT_IRQ Marc Zyngier
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Marc Zyngier @ 2022-02-24 10:12 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andy Gross, Bjorn Andersson, Thomas Gleixner, linux-arm-msm

I recently noticed the following message at boot time on my Lenovo
c630 laptop (SDM845, if I'm not mistaken):

<quote>
[    1.449499] debugfs: File ':soc@0:interrupt-controller@b220000' in directory 'domains' already present!
</quote>

which is usually the sign of something being amiss (multiple irqdomain
using the same fwnode and not being tagged properly).

Looking closer at the qcom-pdc driver (which is the one triggering the
above warning), I realised that this driver could do with some
cleanups:

- Pseudo hwirq indicating the lack of parent. Not completely wrong,
  but could be done in a more elegant way.

- Two irq domains, which provide the exact same service to the same
  IRQ space. Only the context is different, and the difference is not
  significant.

- Broken locking. You just need the right timing and a driver that
  disables its interrupt.

- A couple of open coded constructs that duplicate stuff the kernel
  already implements.

I've tested this series on the above HW, and nothing broke (suspend
works, interrupts get delivered). If nobody shouts, I'll plan to take
this into 5.18.

Marc Zyngier (5):
  irqchip/qcom-pdc: Kill PDC_NO_PARENT_IRQ
  irqchip/qcom-pdc: Kill non-wakeup irqdomain
  irqchip/qcom-pdc: Kill qcom_pdc_translate helper
  irqchip/qcom-pdc: Fix broken locking
  irqchip/qcom-pdc: Drop open coded version of __assign_bit()

 drivers/irqchip/qcom-pdc.c | 137 ++++++++-----------------------------
 1 file changed, 28 insertions(+), 109 deletions(-)

-- 
2.30.2

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2022-03-01 10:11 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-24 10:12 [PATCH 0/5] irqchip/qcom-pdc: Assorted cleanups and fixes Marc Zyngier
2022-02-24 10:12 ` [PATCH 1/5] irqchip/qcom-pdc: Kill PDC_NO_PARENT_IRQ Marc Zyngier
2022-02-28 17:40   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-28 19:23   ` [PATCH 1/5] " Maulik Shah (mkshah)
2022-03-01 10:11   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-24 10:12 ` [PATCH 2/5] irqchip/qcom-pdc: Kill non-wakeup irqdomain Marc Zyngier
2022-02-28 17:40   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-28 19:29   ` [PATCH 2/5] " Maulik Shah (mkshah)
2022-02-28 20:00     ` Marc Zyngier
2022-03-01 10:11   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-24 10:12 ` [PATCH 3/5] irqchip/qcom-pdc: Kill qcom_pdc_translate helper Marc Zyngier
2022-02-28 17:40   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-28 19:30   ` [PATCH 3/5] " Maulik Shah (mkshah)
2022-03-01 10:11   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-24 10:12 ` [PATCH 4/5] irqchip/qcom-pdc: Fix broken locking Marc Zyngier
2022-02-28 17:40   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-28 19:30   ` [PATCH 4/5] " Maulik Shah (mkshah)
2022-03-01 10:11   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-24 10:12 ` [PATCH 5/5] irqchip/qcom-pdc: Drop open coded version of __assign_bit() Marc Zyngier
2022-02-28 17:40   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier
2022-02-28 19:31   ` [PATCH 5/5] " Maulik Shah (mkshah)
2022-03-01 10:11   ` [irqchip: irq/irqchip-next] " irqchip-bot for Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox