diff options
author | Jonathan Gray <jsg@jsg.id.au> | 2013-06-27 19:20:29 +1000 |
---|---|---|
committer | Jonathan Gray <jsg@jsg.id.au> | 2013-08-12 10:43:10 +1000 |
commit | d5f6537b851e45b4714b01042796b85cb0d186b8 (patch) | |
tree | e6eb205b5e2f37cc64cceda952f1763c94563287 /sys/dev/pci/drm/ttm | |
parent | b77b03d91a147125dd7a0d9df42c324cea8e0843 (diff) |
agp_flush_cache() before flushing the tlb, suggested by kettenis
lets the ring test pass on my t42
Diffstat (limited to 'sys/dev/pci/drm/ttm')
-rw-r--r-- | sys/dev/pci/drm/ttm/ttm_agp_backend.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/ttm/ttm_agp_backend.c b/sys/dev/pci/drm/ttm/ttm_agp_backend.c index c0120a94cf2..5df6aaa028c 100644 --- a/sys/dev/pci/drm/ttm/ttm_agp_backend.c +++ b/sys/dev/pci/drm/ttm/ttm_agp_backend.c @@ -67,6 +67,7 @@ ttm_agp_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem) sc->sc_methods->bind_page(sc->sc_chipc, addr, VM_PAGE_TO_PHYS(page), 0); addr += PAGE_SIZE; } + agp_flush_cache(); sc->sc_methods->flush_tlb(sc->sc_chipc); agp_be->bound = sc->sc_apaddr + (node->start << PAGE_SHIFT); KASSERT(agp_be->bound); @@ -88,6 +89,7 @@ ttm_agp_unbind(struct ttm_tt *ttm) sc->sc_methods->unbind_page(sc->sc_chipc, addr); addr += PAGE_SIZE; } + agp_flush_cache(); sc->sc_methods->flush_tlb(sc->sc_chipc); agp_be->bound = 0; } |