linux/drivers/gpu/drm/vc4
Eric Anholt af0c8c1056 drm/vc4: Fix sleeps during the IRQ handler for DSI transactions.
VC4's DSI1 has a bug where the AXI connection is broken for 32-bit
writes from the CPU, so we use the DMA engine to DMA 32-bit values
into registers instead.  That sleeps, so we can't do it from the top
half.

As a solution, use an interrupt thread so that all our writes happen
when sleeping is is allowed.

v2: Use IRQF_ONESHOT (suggested by Boris)
v3: Style nitpicks.

Signed-off-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20171014001255.32005-1-eric@anholt.net
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com> (v2)
2017-10-19 13:20:09 -07:00
..
Kconfig drm/vc4: add HDMI CEC support 2017-07-26 12:15:12 -07:00
Makefile drm/vc4: Use correct path to trace include 2017-09-05 11:11:20 +02:00
vc4_bo.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_crtc.c drm/vc4: switch to drm_*{get,put} helpers 2017-08-08 13:20:11 -07:00
vc4_debugfs.c drm/vc4: Add DSI driver 2017-02-01 12:51:23 -08:00
vc4_dpi.c drm/vc4: remove bridge from driver internal structure 2017-10-10 11:32:54 +02:00
vc4_drv.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_drv.h drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_dsi.c drm/vc4: Fix sleeps during the IRQ handler for DSI transactions. 2017-10-19 13:20:09 -07:00
vc4_fence.c drm/vc4: Expose dma-buf fences for V3D rendering. 2017-04-13 11:00:28 -07:00
vc4_gem.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_hdmi.c drm/vc4: clean up error handling on devm_kzalloc failure 2017-09-08 11:06:54 -07:00
vc4_hvs.c drm/vc4: fix include notation and remove -Iinclude/drm flag 2017-05-22 09:36:01 +02:00
vc4_irq.c drm/vc4: Allow using more than 256MB of CMA memory. 2017-04-18 14:32:20 -07:00
vc4_kms.c drm/vc4: Use drm_gem_fb_create() 2017-08-16 21:35:57 +02:00
vc4_packet.h drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_plane.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_qpu_defines.h drm/vc4: Fix definition of QPU_R_MS_REV_FLAGS 2016-07-15 15:19:52 -07:00
vc4_regs.h drm/vc4: add HDMI CEC support 2017-07-26 12:15:12 -07:00
vc4_render_cl.c drm/vc4: Add exec flags to allow forcing a specific X/Y tile walk order. 2017-08-08 13:26:44 -07:00
vc4_trace_points.c drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_trace.h drm/vc4: Use correct path to trace include 2017-09-05 11:11:20 +02:00
vc4_v3d.c drm/vc4: Add an ioctl for labeling GEM BOs for summary stats 2017-07-28 16:04:53 -07:00
vc4_validate_shaders.c drm/vc4: Demote user-accessible DRM_ERROR paths to DRM_DEBUG. 2017-08-08 13:20:11 -07:00
vc4_validate.c drm/vc4: Demote user-accessible DRM_ERROR paths to DRM_DEBUG. 2017-08-08 13:20:11 -07:00
vc4_vec.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00