From: Paulo Zanoni <[email protected]>

Let's make sure the future Paulos don't forget that we need
struct_mutex when touching dev_priv->mm.stolen.

Signed-off-by: Paulo Zanoni <[email protected]>
---
 drivers/gpu/drm/i915/i915_gem_stolen.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c 
b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 793bcba..cac1bce 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -160,6 +160,8 @@ static int find_compression_threshold(struct drm_device 
*dev,
        int compression_threshold = 1;
        int ret;
 
+       WARN_ON(!mutex_is_locked(&dev->struct_mutex));
+
        /* HACK: This code depends on what we will do in *_enable_fbc. If that
         * code changes, this code needs to change as well.
         *
@@ -198,6 +200,8 @@ static int i915_setup_compression(struct drm_device *dev, 
int size, int fb_cpp)
        struct drm_mm_node *uninitialized_var(compressed_llb);
        int ret;
 
+       WARN_ON(!mutex_is_locked(&dev->struct_mutex));
+
        ret = find_compression_threshold(dev, &dev_priv->fbc.compressed_fb,
                                         size, fb_cpp);
        if (!ret)
@@ -250,6 +254,7 @@ int i915_gem_stolen_setup_compression(struct drm_device 
*dev, int size, int fb_c
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
 
+       WARN_ON(!mutex_is_locked(&dev->struct_mutex));
        WARN_ON(!mutex_is_locked(&dev_priv->fbc.lock));
 
        if (!drm_mm_initialized(&dev_priv->mm.stolen))
@@ -287,6 +292,8 @@ void i915_gem_cleanup_stolen(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
 
+       WARN_ON(!mutex_is_locked(&dev->struct_mutex));
+
        if (!drm_mm_initialized(&dev_priv->mm.stolen))
                return;
 
@@ -349,6 +356,8 @@ i915_pages_create_for_stolen(struct drm_device *dev,
        struct sg_table *st;
        struct scatterlist *sg;
 
+       WARN_ON(!mutex_is_locked(&dev->struct_mutex));
+
        DRM_DEBUG_DRIVER("offset=0x%x, size=%d\n", offset, size);
        BUG_ON(offset > dev_priv->gtt.stolen_size - size);
 
@@ -445,6 +454,8 @@ i915_gem_object_create_stolen(struct drm_device *dev, u32 
size)
        struct drm_mm_node *stolen;
        int ret;
 
+       WARN_ON(!mutex_is_locked(&dev->struct_mutex));
+
        if (!drm_mm_initialized(&dev_priv->mm.stolen))
                return NULL;
 
@@ -485,6 +496,8 @@ i915_gem_object_create_stolen_for_preallocated(struct 
drm_device *dev,
        struct i915_vma *vma;
        int ret;
 
+       WARN_ON(!mutex_is_locked(&dev->struct_mutex));
+
        if (!drm_mm_initialized(&dev_priv->mm.stolen))
                return NULL;
 
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to