[PATCH 1/8] drm/ttm: add default implementations for ttm_tt_(un)populate

Michel Dänzer michel at daenzer.net
Thu Feb 22 15:55:36 UTC 2018


On 2018-02-22 12:15 PM, Christian König wrote:
> Use ttm_pool_populate/ttm_pool_unpopulate if the driver doesn't provide
> a function.
> 
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>  drivers/gpu/drm/ttm/ttm_tt.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
> index 9fd7115a013a..65bf4eac184b 100644
> --- a/drivers/gpu/drm/ttm/ttm_tt.c
> +++ b/drivers/gpu/drm/ttm/ttm_tt.c
> @@ -410,7 +410,10 @@ int ttm_tt_populate(struct ttm_tt *ttm, struct ttm_operation_ctx *ctx)
>  	if (ttm->state != tt_unpopulated)
>  		return 0;
>  
> -	ret = ttm->bdev->driver->ttm_tt_populate(ttm, ctx);
> +	if (ttm->bdev->driver->ttm_tt_populate)
> +		ret = ttm->bdev->driver->ttm_tt_populate(ttm, ctx);
> +	else
> +		ret = ttm_pool_populate(ttm, ctx);
>  	if (!ret)
>  		ttm_tt_add_mapping(ttm);
>  	return ret;
> @@ -436,5 +439,8 @@ void ttm_tt_unpopulate(struct ttm_tt *ttm)
>  		return;
>  
>  	ttm_tt_clear_mapping(ttm);
> -	ttm->bdev->driver->ttm_tt_unpopulate(ttm);
> +	if (ttm->bdev->driver->ttm_tt_unpopulate)
> +		ttm->bdev->driver->ttm_tt_unpopulate(ttm);
> +	else
> +		ttm_pool_unpopulate(ttm);
>  }
> 

Instead of the if/else, have you considered setting
driver->ttm_tt_(un)populate = ttm_pool_(un)populate during
initialization if they're NULL?


Either way, the series is

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 dri-devel mailing list