[PATCH] drm/amdgpu/virtual_dce: Virtual display doesn't support disable vblank immediately

Michel Dänzer michel at daenzer.net
Fri Aug 18 07:08:38 UTC 2017


On 18/08/17 02:48 PM, Emily Deng wrote:
> For virtual display, it uses software timer to emulate the vsync interrupt,
> it doesn't have high precision, so doesn't support disable vblank immediately.
> 
> BUG: SWDEV-129274
> 
> Signed-off-by: Emily Deng <Emily.Deng at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> index dc74c0b..914c5bf 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> @@ -237,9 +237,11 @@ int amdgpu_irq_init(struct amdgpu_device *adev)
>  	}
>  
>  	if (!amdgpu_device_has_dc_support(adev)) {
> -		/* Disable vblank irqs aggressively for power-saving */
> -		/* XXX: can this be enabled for DC? */
> -		adev->ddev->vblank_disable_immediate = true;
> +		if (!adev->enable_virtual_display) {
> +			/* Disable vblank irqs aggressively for power-saving */
> +			/* XXX: can this be enabled for DC? */
> +			adev->ddev->vblank_disable_immediate = true;
> +		}
>  
>  		r = drm_vblank_init(adev->ddev, adev->mode_info.num_crtc);
>  		if (r)
> 

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the amd-gfx mailing list