[PATCH] drm/amdgpu: Unify the dm resume calls into one

Andrey Grodzovsky Andrey.Grodzovsky at amd.com
Mon Feb 5 21:35:19 UTC 2018


Reviewed-by: Andrey Grodzovsky<andrey.grodzovsky at amd.com>

Andrey


On 02/05/2018 04:14 PM, mikita.lipski at amd.com wrote:
> From: Mikita Lipski <mikita.lipski at amd.com>
>
> amdgpu_dm_display_resume is now called from dm_resume to
> unify DAL resume call into a single function call
>
> There is no more need to separately call 2 resume functions
> for DM.
>
> Initially they were separated to resume display state after
> cursor is pinned. But because there is no longer any corruption
> with the cursor - the calls can be merged into one function hook.
>
> Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c        | 10 +---------
>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  4 +++-
>   2 files changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 850453e..0aaba27 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -2287,14 +2287,6 @@ int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon)
>   				drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
>   			}
>   			drm_modeset_unlock_all(dev);
> -		} else {
> -			/*
> -			 * There is no equivalent atomic helper to turn on
> -			 * display, so we defined our own function for this,
> -			 * once suspend resume is supported by the atomic
> -			 * framework this will be reworked
> -			 */
> -			amdgpu_dm_display_resume(adev);
>   		}
>   	}
>   
> @@ -2515,6 +2507,7 @@ static int amdgpu_device_reset(struct amdgpu_device *adev,
>   				goto out;
>   
>   			r = amdgpu_device_ip_resume_phase2(adev);
> +
>   			if (r)
>   				goto out;
>   
> @@ -2729,7 +2722,6 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
>   	if (amdgpu_device_has_dc_support(adev)) {
>   		if (drm_atomic_helper_resume(adev->ddev, state))
>   			dev_info(adev->dev, "drm resume failed:%d\n", r);
> -		amdgpu_dm_display_resume(adev);
>   	} else {
>   		drm_helper_resume_force_mode(adev->ddev);
>   	}
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index ac82382..8e6e60e 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -659,11 +659,13 @@ static int dm_resume(void *handle)
>   {
>   	struct amdgpu_device *adev = handle;
>   	struct amdgpu_display_manager *dm = &adev->dm;
> +	int ret = 0;
>   
>   	/* power on hardware */
>   	dc_set_power_state(dm->dc, DC_ACPI_CM_POWER_STATE_D0);
>   
> -	return 0;
> +	ret = amdgpu_dm_display_resume(adev);
> +	return ret;
>   }
>   
>   int amdgpu_dm_display_resume(struct amdgpu_device *adev)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20180205/c9251fe6/attachment.html>


More information about the amd-gfx mailing list