The semaphore at struct psb_mmu_driver.sem protects access to the MMU
fields. Additional locking with struct psb_gtt.sem is unnecessary. Remove
the field and related code.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
---
 drivers/gpu/drm/gma500/gtt.c     | 7 -------
 drivers/gpu/drm/gma500/gtt.h     | 1 -
 drivers/gpu/drm/gma500/psb_drv.c | 4 ----
 3 files changed, 12 deletions(-)

diff --git a/drivers/gpu/drm/gma500/gtt.c b/drivers/gpu/drm/gma500/gtt.c
index 4202e88e5f84..c7b7cb1f2d13 100644
--- a/drivers/gpu/drm/gma500/gtt.c
+++ b/drivers/gpu/drm/gma500/gtt.c
@@ -125,12 +125,6 @@ void psb_gtt_remove_pages(struct drm_psb_private *pdev, 
const struct resource *r
        mutex_unlock(&pdev->gtt_mutex);
 }
 
-static void psb_gtt_alloc(struct drm_device *dev)
-{
-       struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
-       init_rwsem(&dev_priv->gtt.sem);
-}
-
 void psb_gtt_takedown(struct drm_device *dev)
 {
        struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
@@ -166,7 +160,6 @@ int psb_gtt_init(struct drm_device *dev, int resume)
        if (!resume) {
                mutex_init(&dev_priv->gtt_mutex);
                mutex_init(&dev_priv->mmap_mutex);
-               psb_gtt_alloc(dev);
        }
 
        pg = &dev_priv->gtt;
diff --git a/drivers/gpu/drm/gma500/gtt.h b/drivers/gpu/drm/gma500/gtt.h
index ff1dcdd1ff52..31500533ac45 100644
--- a/drivers/gpu/drm/gma500/gtt.h
+++ b/drivers/gpu/drm/gma500/gtt.h
@@ -22,7 +22,6 @@ struct psb_gtt {
        unsigned gatt_pages;
        unsigned long stolen_size;
        unsigned long vram_stolen_size;
-       struct rw_semaphore sem;
 };
 
 /* Exported functions */
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index eeb681be9c95..7227a8e44d23 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -184,13 +184,11 @@ static void psb_driver_unload(struct drm_device *dev)
        if (dev_priv->mmu) {
                struct psb_gtt *pg = &dev_priv->gtt;
 
-               down_read(&pg->sem);
                psb_mmu_remove_pfn_sequence(
                        psb_mmu_get_default_pd
                        (dev_priv->mmu),
                        pg->mmu_gatt_start,
                        dev_priv->vram_stolen_size >> PAGE_SHIFT);
-               up_read(&pg->sem);
                psb_mmu_driver_takedown(dev_priv->mmu);
                dev_priv->mmu = NULL;
        }
@@ -345,12 +343,10 @@ static int psb_driver_load(struct drm_device *dev, 
unsigned long flags)
                return ret;
 
        /* Add stolen memory to SGX MMU */
-       down_read(&pg->sem);
        ret = psb_mmu_insert_pfn_sequence(psb_mmu_get_default_pd(dev_priv->mmu),
                                          dev_priv->stolen_base >> PAGE_SHIFT,
                                          pg->gatt_start,
                                          pg->stolen_size >> PAGE_SHIFT, 0);
-       up_read(&pg->sem);
 
        psb_mmu_set_pd_context(psb_mmu_get_default_pd(dev_priv->mmu), 0);
        psb_mmu_set_pd_context(dev_priv->pf_pd, 1);
-- 
2.35.1

Reply via email to