drm/amdgpu: Merge pre/postclose hooks
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Mar 2017 14:12:52 +0000 (15:12 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Mar 2017 03:53:33 +0000 (23:53 -0400)
Again no apparent explanation for the split except hysterical raisins.
Merging them also makes it a bit more obviuos what's going on wrt the
runtime pm refdancing.

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index f0e8b2a..946ef0c 100644 (file)
@@ -1774,8 +1774,6 @@ void amdgpu_driver_lastclose_kms(struct drm_device *dev);
 int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv);
 void amdgpu_driver_postclose_kms(struct drm_device *dev,
                                 struct drm_file *file_priv);
-void amdgpu_driver_preclose_kms(struct drm_device *dev,
-                               struct drm_file *file_priv);
 int amdgpu_suspend(struct amdgpu_device *adev);
 int amdgpu_device_suspend(struct drm_device *dev, bool suspend, bool fbcon);
 int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon);
index ad174d1..482145c 100644 (file)
@@ -689,7 +689,6 @@ static struct drm_driver kms_driver = {
            DRIVER_PRIME | DRIVER_RENDER | DRIVER_MODESET,
        .load = amdgpu_driver_load_kms,
        .open = amdgpu_driver_open_kms,
-       .preclose = amdgpu_driver_preclose_kms,
        .postclose = amdgpu_driver_postclose_kms,
        .lastclose = amdgpu_driver_lastclose_kms,
        .set_busid = drm_pci_set_busid,
index 0963865..099a90e 100644 (file)
@@ -779,6 +779,8 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
        if (!fpriv)
                return;
 
+       pm_runtime_get_sync(dev->dev);
+
        amdgpu_ctx_mgr_fini(&fpriv->ctx_mgr);
 
        amdgpu_uvd_free_handles(adev, file_priv);
@@ -809,21 +811,6 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
        pm_runtime_put_autosuspend(dev->dev);
 }
 
-/**
- * amdgpu_driver_preclose_kms - drm callback for pre close
- *
- * @dev: drm dev pointer
- * @file_priv: drm file
- *
- * On device pre close, tear down hyperz and cmask filps on r1xx-r5xx
- * (all asics).
- */
-void amdgpu_driver_preclose_kms(struct drm_device *dev,
-                               struct drm_file *file_priv)
-{
-       pm_runtime_get_sync(dev->dev);
-}
-
 /*
  * VBlank related functions.
  */