[Intel-gfx] [PATCH 2/2] drm/amdgpu: Use per-device driver_features to disable atomic

Harry Wentland harry.wentland at amd.com
Thu Sep 20 18:55:44 UTC 2018


On 2018-09-13 12:31 PM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Disable atomic on a per-device basis instead of for all devices.
> Made possible by the new device.driver_features thing.
> 
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: "Christian König" <christian.koenig at amd.com>
> Cc: "David (ChunMing) Zhou" <David1.Zhou at amd.com>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Cc: Michel Dänzer <michel at daenzer.net>
> Suggested-by: Michel Dänzer <michel at daenzer.net>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 6870909da926..8c1db96be070 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -816,17 +816,13 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
>  	if (ret)
>  		return ret;
>  
> -	/* warn the user if they mix atomic and non-atomic capable GPUs */
> -	if ((kms_driver.driver_features & DRIVER_ATOMIC) && !supports_atomic)
> -		DRM_ERROR("Mixing atomic and non-atomic capable GPUs!\n");
> -	/* support atomic early so the atomic debugfs stuff gets created */
> -	if (supports_atomic)
> -		kms_driver.driver_features |= DRIVER_ATOMIC;
> -
>  	dev = drm_dev_alloc(&kms_driver, &pdev->dev);
>  	if (IS_ERR(dev))
>  		return PTR_ERR(dev);
>  
> +	if (!supports_atomic)
> +		dev->driver_features &= ~DRIVER_ATOMIC;
> +
>  	ret = pci_enable_device(pdev);
>  	if (ret)
>  		goto err_free;
> @@ -1078,7 +1074,7 @@ amdgpu_get_crtc_scanout_position(struct drm_device *dev, unsigned int pipe,
>  
>  static struct drm_driver kms_driver = {
>  	.driver_features =
> -	    DRIVER_USE_AGP |
> +	    DRIVER_USE_AGP | DRIVER_ATOMIC |
>  	    DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM |
>  	    DRIVER_PRIME | DRIVER_RENDER | DRIVER_MODESET | DRIVER_SYNCOBJ,
>  	.load = amdgpu_driver_load_kms,
> 


More information about the Intel-gfx mailing list