[PATCH v8 0/4] drm/vc4: Binner BO management improvements

From: Paul Kocialkowski
Date: Fri May 03 2019 - 04:13:35 EST


Changes since v7:
* Moved the used bool to vc4_v3d_bin_bo_get in order to check it locked and
avoid a possible race condition;

Changes since v6:
* Removed vc4_v3d_bin_bo_put from error paths;
* Added WARN_ON_ONCE when no bin BO at refcount release.

Changes since v5:
* Fix more locking mistakes;
* Introduce get/put helpers;
* Grabbed a reference when submitting an exec job with a binner slot.
* Addressed misc comments.

Changes since v4:
* Used a kref on the binner bo instead of firstopen/lastclose;
* Added a mutex to prevent race conditions;
* Took care of enabling the OOM interrupt when we have a binner BO allocated.

Changes since v3:
* Split changes into more commits when possible;
* Reworked binner bo alloc condition as discussed.

Changes since v2:
* Removed deprecated sentence about fristopen;
* Added collected Reviewed-By tags.

Changes since v1:
* Squashed the two final patches into one.

Paul Kocialkowski (4):
drm/vc4: Reformat and the binner bo allocation helper
drm/vc4: Check for V3D before binner bo alloc
drm/vc4: Check for the binner bo before handling OOM interrupt
drm/vc4: Allocate binner bo when starting to use the V3D

drivers/gpu/drm/vc4/vc4_bo.c | 31 ++++++++++++++-
drivers/gpu/drm/vc4/vc4_drv.c | 6 +++
drivers/gpu/drm/vc4/vc4_drv.h | 14 +++++++
drivers/gpu/drm/vc4/vc4_gem.c | 11 ++++++
drivers/gpu/drm/vc4/vc4_irq.c | 20 ++++++++--
drivers/gpu/drm/vc4/vc4_v3d.c | 74 +++++++++++++++++++++++++++--------
6 files changed, 134 insertions(+), 22 deletions(-)

--
2.21.0