diff options
author | Dave Airlie <airlied@redhat.com> | 2009-10-30 13:31:26 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-11-04 09:53:14 +1000 |
commit | df67bed92fa86ef926da8b62a6da68722388ff72 (patch) | |
tree | 0e8c39364c8bab2664db65923b4187cfc41df9de /drivers/gpu/drm/ttm/ttm_tt.c | |
parent | ea1495a6274c9542a168337536f8ce74d1173f23 (diff) | |
download | op-kernel-dev-df67bed92fa86ef926da8b62a6da68722388ff72.zip op-kernel-dev-df67bed92fa86ef926da8b62a6da68722388ff72.tar.gz |
drm/radeon/kms: fix coherency issues on AGP cards.
When we are evicting from VRAM->RAM we allocate the ttm object,
but we don't set the caching policy on it before blitting into it.
This means on AGP we end up blitting into cached pages, and
the CPU later flushes out on top of them. This was mostly seen as
font corruption.
The other question is why we don't evict VRAM->GTT in a lot of cases,
this would save us some cache transitions since a lot of objects
that are evicted from VRAM will probably end up being pulled back in
a few operations later, and evicting them to system memory involves
2 unnecessary cache transitions.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_tt.c')
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_tt.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c index a55ee1a..7bcb89f 100644 --- a/drivers/gpu/drm/ttm/ttm_tt.c +++ b/drivers/gpu/drm/ttm/ttm_tt.c @@ -279,6 +279,7 @@ int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement) return ttm_tt_set_caching(ttm, state); } +EXPORT_SYMBOL(ttm_tt_set_placement_caching); static void ttm_tt_free_alloced_pages(struct ttm_tt *ttm) { |