[PATCH v4 0/4] drm/vc4: Add a load tracker

From: Paul Kocialkowski
Date: Wed Feb 06 2019 - 09:50:30 EST


Here is a fourth iteration of the VC4 load tracking series, which was
initially developed by Boris Brezillon and that I have now taken over.

This new iteration takes in account comments from v3 and comes with a
new approach for avoiding underrun reports when reconfiguring the
pipeline. It is now based on detection instead of delaying the underrun
interrupt unmasking.

It can be tested with a dedicated IGT GPU Tools series:
VC4 load tracker testing

Changes since v3:
* Returned IRQ_NONE for short line interrupt to avoid storm;
* Made register definitions with per-channel offsets more direct;
* cleaned all IRQ fields instead of writing back the status bit as
advised by docs;
* Reworked first commit's message;
* Removed in-commit changelogs with inconsistent revision numbers;
* Removed explicit wait for sync before unmasking underrun interrupt;
* Checked that the display lists are synced before reporting underrun;



Boris Brezillon (2):
drm/vc4: Report HVS underrun errors
drm/vc4: Add a load tracker to prevent HVS underflow errors

Paul Kocialkowski (2):
drm/vc4: Detect and ignore underruns caused by out-of-sync dlists
drm/vc4: Add a debugfs entry to disable/enable the load tracker

drivers/gpu/drm/vc4/vc4_debugfs.c | 10 +++
drivers/gpu/drm/vc4/vc4_drv.c | 1 +
drivers/gpu/drm/vc4/vc4_drv.h | 32 ++++++++
drivers/gpu/drm/vc4/vc4_hvs.c | 123 ++++++++++++++++++++++++++++++
drivers/gpu/drm/vc4/vc4_kms.c | 116 +++++++++++++++++++++++++++-
drivers/gpu/drm/vc4/vc4_plane.c | 57 ++++++++++++++
drivers/gpu/drm/vc4/vc4_regs.h | 51 ++++---------
7 files changed, 354 insertions(+), 36 deletions(-)