linux/drivers/gpu/drm/msm
Bjorn Andersson 79d57bf6fa drm/msm: Trigger fence completion from GPU
Interrupt commands causes the CP to trigger an interrupt as the command
is processed, regardless of the GPU being done processing previous
commands. This is seen by the interrupt being delivered before the
fence is written on 8974 and is likely the cause of the additional
CP_WAIT_FOR_IDLE workaround found for a306, which would cause the CP to
wait for the GPU to go idle before triggering the interrupt.

Instead we can set the (undocumented) BIT(31) of the CACHE_FLUSH_TS
which will cause a special CACHE_FLUSH_TS interrupt to be triggered from
the GPU as the write event is processed.

Add CACHE_FLUSH_TS to the IRQ masks of A3xx and A4xx and remove the
workaround for A306.

Suggested-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2018-03-19 06:33:36 -04:00
..
adreno drm/msm: Trigger fence completion from GPU 2018-03-19 06:33:36 -04:00
disp drm/msm: rename mdp->disp 2018-03-19 06:33:35 -04:00
dsi drm/msm/dsi: fix direct caller of msm_gem_free_object() 2018-03-19 06:33:36 -04:00
edp drm/msm/edp: convert to msm_clk_get() 2017-10-28 11:01:33 -04:00
hdmi drm/msm/hdmi: fix semicolon.cocci warnings 2018-02-20 10:41:21 -05:00
Kconfig drm/msm/dsi: Add skeleton 10nm PHY/PLL code 2018-02-20 10:41:20 -05:00
Makefile drm/msm: rename mdp->disp 2018-03-19 06:33:35 -04:00
msm_atomic.c drm/msm: update cursors asynchronously through atomic 2017-10-28 14:02:56 -04:00
msm_debugfs.c drm/msm: add a5xx specific debugfs 2018-02-20 10:41:20 -05:00
msm_debugfs.h drm/msm: Remove msm_debugfs_cleanup() 2017-03-08 11:24:45 +01:00
msm_drv.c drm/msm: Replace gem_object deprecated functions 2018-02-20 10:41:21 -05:00
msm_drv.h drm/msm: strip out msm_fence_cb 2018-03-19 06:33:35 -04:00
msm_fb.c drm/msm: Replace gem_object deprecated functions 2018-02-20 10:41:21 -05:00
msm_fbdev.c Merge tag 'drm-msm-next-2017-08-22' of git://people.freedesktop.org/~robclark/linux into drm-next 2017-08-25 09:29:45 +10:00
msm_fence.c drm/msm: Support multiple ringbuffers 2017-10-28 11:01:36 -04:00
msm_fence.h drm/msm: strip out msm_fence_cb 2018-03-19 06:33:35 -04:00
msm_gem_prime.c drm/msm: Expose our reservation object when exporting a dmabuf. 2017-05-27 13:48:26 -04:00
msm_gem_shrinker.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_gem_submit.c drm/msm: add sudo flag to submit ioctl 2018-02-20 10:41:20 -05:00
msm_gem_vma.c drm/msm: Pass the correct aperture end to drm_mm_init 2018-02-20 10:41:22 -05:00
msm_gem.c drm/msm/dsi: fix direct caller of msm_gem_free_object() 2018-03-19 06:33:36 -04:00
msm_gem.h drm/msm: add sudo flag to submit ioctl 2018-02-20 10:41:20 -05:00
msm_gpu.c drm/msm/gpu: Set number of clocks to 0 if the list allocation fails 2018-02-20 10:41:22 -05:00
msm_gpu.h drm/msm: add a5xx specific debugfs 2018-02-20 10:41:20 -05:00
msm_iommu.c drm/msm: pm runtime support for iommu 2017-04-08 06:59:31 -04:00
msm_kms.h drm/msm/mdp5: Set up runtime PM for MDSS 2017-08-02 07:53:46 -04:00
msm_mmu.h drm/msm: let gpu wire up it's own fault handler 2017-02-06 11:28:42 -05:00
msm_perf.c drm/msm: Remove msm_debugfs_cleanup() 2017-03-08 11:24:45 +01:00
msm_rd.c Linux 4.14-rc7 2017-11-02 12:40:41 +10:00
msm_ringbuffer.c drm/msm: Replace gem_object deprecated functions 2018-02-20 10:41:21 -05:00
msm_ringbuffer.h drm/msm: Implement preemption for A5XX targets 2017-10-28 11:01:38 -04:00
msm_submitqueue.c drm/msm: Support multiple ringbuffers 2017-10-28 11:01:36 -04:00
NOTES