public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 0/3] drm/rockchip: VOP interrupt fixes
@ 2018-02-20 13:01 Marc Zyngier
  2018-02-20 13:01 ` [PATCH 1/3] drm/rockchip: Clear all interrupts before requesting the IRQ Marc Zyngier
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Marc Zyngier @ 2018-02-20 13:01 UTC (permalink / raw)
  To: linux-arm-kernel

This small series fixes a number of issues that I found while trying
to get kexec working on the Chromebook Plus (aka rk3399-gru-kevin) in
order to use it as some sort of interactive bootloader.

The main issue is that the vop driver expects the interrupts to be
cleared and disabled when booting. Nothing could be more wrong. The
device should be expected to be alive and screaming, and it is the
driver's job to put it back into a sane state.

This is what the first patch does, making sure the interrupt is
requested only when the device has been put back into a known
state. Given that this is an observable bug that has been around for a
while, I've tagged it with a Cc: stable.

The two following patches are less important: Using memcpy on MMIO
ranges is plain wrong, and using spin_lock_irqsave in irq context is
slightly pointless.

With these patches in, I'm able to get kexec to work. There is still
some funny issues at the iommu level, but that's for another day.

Patches on top of 4.16-rc2.

Marc Zyngier (3):
  drm/rockchip: Clear all interrupts before requesting the IRQ
  drm/rockchip: Do not use memcpy for MMIO addresses
  drm/rockchip: Don't use spin_lock_irqsave in interrupt context

 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 44 +++++++++++++++--------------
 1 file changed, 23 insertions(+), 21 deletions(-)

-- 
2.14.2

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

end of thread, other threads:[~2018-03-14 13:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-20 13:01 [PATCH 0/3] drm/rockchip: VOP interrupt fixes Marc Zyngier
2018-02-20 13:01 ` [PATCH 1/3] drm/rockchip: Clear all interrupts before requesting the IRQ Marc Zyngier
2018-02-20 13:01 ` [PATCH 2/3] drm/rockchip: Do not use memcpy for MMIO addresses Marc Zyngier
2018-02-20 13:01 ` [PATCH 3/3] drm/rockchip: Don't use spin_lock_irqsave in interrupt context Marc Zyngier
2018-03-14 13:25 ` [PATCH 0/3] drm/rockchip: VOP interrupt fixes Heiko Stübner

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