提交 4e4f3e98 编写于 作者: D Dave Airlie

Merge branch 'drm-fixes-4.9' of git://people.freedesktop.org/~agd5f/linux into drm-fixes

another regression fix for the shutdown stuff.

* 'drm-fixes-4.9' of git://people.freedesktop.org/~agd5f/linux:
  drm/amdgpu: just suspend the hw on pci shutdown
...@@ -2472,6 +2472,7 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev, ...@@ -2472,6 +2472,7 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
struct drm_file *file_priv); struct drm_file *file_priv);
void amdgpu_driver_preclose_kms(struct drm_device *dev, void amdgpu_driver_preclose_kms(struct drm_device *dev,
struct drm_file *file_priv); 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_suspend(struct drm_device *dev, bool suspend, bool fbcon);
int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon); int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon);
u32 amdgpu_get_vblank_counter_kms(struct drm_device *dev, unsigned int pipe); u32 amdgpu_get_vblank_counter_kms(struct drm_device *dev, unsigned int pipe);
......
...@@ -1493,7 +1493,7 @@ static int amdgpu_fini(struct amdgpu_device *adev) ...@@ -1493,7 +1493,7 @@ static int amdgpu_fini(struct amdgpu_device *adev)
return 0; return 0;
} }
static int amdgpu_suspend(struct amdgpu_device *adev) int amdgpu_suspend(struct amdgpu_device *adev)
{ {
int i, r; int i, r;
......
...@@ -479,12 +479,15 @@ amdgpu_pci_remove(struct pci_dev *pdev) ...@@ -479,12 +479,15 @@ amdgpu_pci_remove(struct pci_dev *pdev)
static void static void
amdgpu_pci_shutdown(struct pci_dev *pdev) amdgpu_pci_shutdown(struct pci_dev *pdev)
{ {
struct drm_device *dev = pci_get_drvdata(pdev);
struct amdgpu_device *adev = dev->dev_private;
/* if we are running in a VM, make sure the device /* if we are running in a VM, make sure the device
* torn down properly on reboot/shutdown. * torn down properly on reboot/shutdown.
* unfortunately we can't detect certain * unfortunately we can't detect certain
* hypervisors so just do this all the time. * hypervisors so just do this all the time.
*/ */
amdgpu_pci_remove(pdev); amdgpu_suspend(adev);
} }
static int amdgpu_pmops_suspend(struct device *dev) static int amdgpu_pmops_suspend(struct device *dev)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册