[Freedreno] [PATCH 07/17] drm/msm: Add A5XX hardware fault detection

2017-07-27 Thread Jordan Crouse
The A5XX GPU has really good hardware fault detection that can detect a abnormal hardware condition and fire an interrupt in a matter of milliseconds which is a lot better than waiting for the hangcheck timer. Enable the interrupt and log information before kicking off recovery. Signed-off-by:

[Freedreno] [PATCH 00/17] drm/msm: GPU fixes and features for 4.14

2017-07-27 Thread Jordan Crouse
Here is my stack of Adreno GPU goodness for 4.14. Starting off with a few fixes that could be appropriate for 4.13 if you deem them so and then moving into some new features: - a5xx hardware fault detection - can detect a legitimate fault within microseconds and fires an interrupt so you

[Freedreno] [PATCH 02/17] drm/msm: Allow hardware clock gating to be toggled

2017-07-27 Thread Jordan Crouse
There are some use cases wherein we need to turn off hardware clock gating before reading certain registers. Modify the A5XX HWCG function to allow user to enable or disable clock gating at will. Signed-off-by: Jordan Crouse --- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 42

[Freedreno] [PATCH 01/17] drm/msm: Remove some potentially blocked register ranges

2017-07-27 Thread Jordan Crouse
The 0xf400 and 0xf800 ranges are in the RBBM_SECVID block which may be protected from CPU access. Skip dumping them since they are minimally useful for debugging and they aren't worth a system hang. Signed-off-by: Jordan Crouse --- drivers/gpu/drm/msm/adreno/a5xx_gpu.c |

[Freedreno] [PATCH 05/17] drm/msm: args->fence should be args->flags

2017-07-27 Thread Jordan Crouse
Fix a typo in msm_ioctl_gem_submit - check args->flags for the MSM_SUBMIT_NO_IMPLICIT flag instead of args->fence. Signed-off-by: Jordan Crouse --- drivers/gpu/drm/msm/msm_gem_submit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[Freedreno] [PATCH 11/17] drm/msm: Add a helper function for in-kernel buffer allocations

2017-07-27 Thread Jordan Crouse
Nearly all of the buffer allocations for kernel allocate an buffer object, virtual address and GPU iova at the same time. Make a helper function to handle the details. Signed-off-by: Jordan Crouse --- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 22 +++-

[Freedreno] [PATCH 03/17] drm/msm: Turn off hardware clock gating before reading A5XX registers

2017-07-27 Thread Jordan Crouse
On A5XX GPU hardware clock gating needs to be turned off before reading certain GPU registers via AHB. Turn off HWCG before calling adreno_show() to safely dump all the registers without a system hang. Signed-off-by: Jordan Crouse ---

[Freedreno] [PATCH 14/17] drm/msm: Add a parameter query for the number of ringbuffers

2017-07-27 Thread Jordan Crouse
In order to manage ringbuffer priority to its fullest userspace should know how many ringbuffers it has to work with. Add a parameter to return the number of active rings. Signed-off-by: Jordan Crouse --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 3 +++