diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 6ff6ae945794..6068d8207d10 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
@@ -246,7 +246,7 @@ static int amdgpu_vram_scratch_init(struct amdgpu_device *adev) | |||
246 | r = amdgpu_bo_create(adev, AMDGPU_GPU_PAGE_SIZE, | 246 | r = amdgpu_bo_create(adev, AMDGPU_GPU_PAGE_SIZE, |
247 | PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, | 247 | PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, |
248 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 248 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
249 | NULL, &adev->vram_scratch.robj); | 249 | NULL, NULL, &adev->vram_scratch.robj); |
250 | if (r) { | 250 | if (r) { |
251 | return r; | 251 | return r; |
252 | } | 252 | } |
@@ -449,7 +449,8 @@ static int amdgpu_wb_init(struct amdgpu_device *adev) | |||
449 | 449 | ||
450 | if (adev->wb.wb_obj == NULL) { | 450 | if (adev->wb.wb_obj == NULL) { |
451 | r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true, | 451 | r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true, |
452 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, &adev->wb.wb_obj); | 452 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, |
453 | &adev->wb.wb_obj); | ||
453 | if (r) { | 454 | if (r) { |
454 | dev_warn(adev->dev, "(%d) create WB bo failed\n", r); | 455 | dev_warn(adev->dev, "(%d) create WB bo failed\n", r); |
455 | return r; | 456 | return r; |
@@ -1650,9 +1651,11 @@ int amdgpu_suspend_kms(struct drm_device *dev, bool suspend, bool fbcon) | |||
1650 | drm_kms_helper_poll_disable(dev); | 1651 | drm_kms_helper_poll_disable(dev); |
1651 | 1652 | ||
1652 | /* turn off display hw */ | 1653 | /* turn off display hw */ |
1654 | drm_modeset_lock_all(dev); | ||
1653 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 1655 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
1654 | drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); | 1656 | drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); |
1655 | } | 1657 | } |
1658 | drm_modeset_unlock_all(dev); | ||
1656 | 1659 | ||
1657 | /* unpin the front buffers */ | 1660 | /* unpin the front buffers */ |
1658 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { | 1661 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { |
@@ -1747,9 +1750,11 @@ int amdgpu_resume_kms(struct drm_device *dev, bool resume, bool fbcon) | |||
1747 | if (fbcon) { | 1750 | if (fbcon) { |
1748 | drm_helper_resume_force_mode(dev); | 1751 | drm_helper_resume_force_mode(dev); |
1749 | /* turn on display hw */ | 1752 | /* turn on display hw */ |
1753 | drm_modeset_lock_all(dev); | ||
1750 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 1754 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
1751 | drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); | 1755 | drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); |
1752 | } | 1756 | } |
1757 | drm_modeset_unlock_all(dev); | ||
1753 | } | 1758 | } |
1754 | 1759 | ||
1755 | drm_kms_helper_poll_enable(dev); | 1760 | drm_kms_helper_poll_enable(dev); |