diff options
author | Dave Airlie <airlied@redhat.com> | 2016-10-24 15:37:48 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-10-26 16:48:01 +1000 |
commit | 7cf321d118a825c1541b43ca45294126fd474efa (patch) | |
tree | b9e21afa3815a4609610b16c6ae8402f363fb804 /drivers/gpu/drm/ast/ast_ttm.c | |
parent | 8ef4227615e158faa4ee85a1d6466782f7e22f2f (diff) | |
download | talos-obmc-linux-7cf321d118a825c1541b43ca45294126fd474efa.tar.gz talos-obmc-linux-7cf321d118a825c1541b43ca45294126fd474efa.zip |
drm/drivers: add support for using the arch wc mapping API.
This fixes a regression in all these drivers since the cache
mode tracking was fixed for mixed mappings. It uses the new
arch API to add the VRAM range to the PAT mapping tracking
tables.
Fixes: 87744ab3832 (mm: fix cache mode tracking in vm_insert_mixed())
Reviewed-by: Christian König <christian.koenig@amd.com>.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/ast/ast_ttm.c')
-rw-r--r-- | drivers/gpu/drm/ast/ast_ttm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c index 608df4c90520..0743e65cb240 100644 --- a/drivers/gpu/drm/ast/ast_ttm.c +++ b/drivers/gpu/drm/ast/ast_ttm.c @@ -267,6 +267,8 @@ int ast_mm_init(struct ast_private *ast) return ret; } + arch_io_reserve_memtype_wc(pci_resource_start(dev->pdev, 0), + pci_resource_len(dev->pdev, 0)); ast->fb_mtrr = arch_phys_wc_add(pci_resource_start(dev->pdev, 0), pci_resource_len(dev->pdev, 0)); @@ -275,11 +277,15 @@ int ast_mm_init(struct ast_private *ast) void ast_mm_fini(struct ast_private *ast) { + struct drm_device *dev = ast->dev; + ttm_bo_device_release(&ast->ttm.bdev); ast_ttm_global_release(ast); arch_phys_wc_del(ast->fb_mtrr); + arch_io_free_memtype_wc(pci_resource_start(dev->pdev, 0), + pci_resource_len(dev->pdev, 0)); } void ast_ttm_placement(struct ast_bo *bo, int domain) |