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

Michel Dänzer michel at daenzer.net
Thu Sep 13 16:38:58 UTC 2018


On 2018-09-13 6:31 p.m., 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>
> ---
>  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,
> 

Thanks Ville for taking care of this!

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

If Alex agrees, probably best to push this to drm-misc-next as well.


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


More information about the dri-devel mailing list