summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2021-09-27 21:00:04 +0300
committerRob Clark <robdclark@chromium.org>2021-10-01 23:10:20 +0300
commitf6f59072e821901d96c791864a07d57d8ec8d312 (patch)
treed3f16548dddb7c5c90be3da9336dda3bb578c20e /drivers/gpu/drm/msm/adreno/a6xx_gmu.h
parent654e9c18dfab02c8e5f9c5877c7a2f3264fa520a (diff)
downloadlinux-f6f59072e821901d96c791864a07d57d8ec8d312.tar.xz
drm/msm/a6xx: Serialize GMU communication
I've seen some crashes in our crash reporting that *look* like multiple threads stomping on each other while communicating with GMU. So wrap all those paths in a lock. Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/adreno/a6xx_gmu.h')
-rw-r--r--drivers/gpu/drm/msm/adreno/a6xx_gmu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.h b/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
index 3c74f64e3126..84bd516f01e8 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
@@ -44,6 +44,9 @@ struct a6xx_gmu_bo {
struct a6xx_gmu {
struct device *dev;
+ /* For serializing communication with the GMU: */
+ struct mutex lock;
+
struct msm_gem_address_space *aspace;
void * __iomem mmio;