[PATCH] drm/radeon: TTM must be init with cpu-visible VRAM, v2

Christian König deathsimple at vodafone.de
Fri Feb 28 11:56:26 PST 2014


Am 28.02.2014 19:50, schrieb Lauri Kasanen:
> Without this, a bo may get created in the cpu-inaccessible vram.
> Before the CP engines get setup, all copies are done via cpu memcpy.
>
> This means that the cpu tries to read from inaccessible memory, fails,
> and the radeon module proceeds to disable acceleration.
>
> Doing this has no downsides, as the real VRAM size gets set as soon as the
> CP engines get init.
>
> This is a candidate for 3.14 fixes.
>
> v2: Add comment on why the function is used
>
> Signed-off-by: Lauri Kasanen <cand at gmx.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

And I suggest to add "Cc: stable at vger.kernel.org" as well.

Christian.

> ---
>   drivers/gpu/drm/radeon/radeon_ttm.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index 3aa853c..b966f85 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -715,6 +715,9 @@ int radeon_ttm_init(struct radeon_device *rdev)
>   		DRM_ERROR("Failed initializing VRAM heap.\n");
>   		return r;
>   	}
> +	/* Change the size here instead of the init above so only lpfn is affected */
> +	radeon_ttm_set_active_vram_size(rdev, rdev->mc.visible_vram_size);
> +
>   	r = radeon_bo_create(rdev, 256 * 1024, PAGE_SIZE, true,
>   			     RADEON_GEM_DOMAIN_VRAM,
>   			     NULL, &rdev->stollen_vga_memory);



More information about the dri-devel mailing list