drm/cirrus: Invalidate page tables when pinning a BO
Subsystems (2)
PATCH 1/1 drm/cirrus: Invalidate page tables when pinning a BO
This is a cirrus version of Egbert Eich's patch for mgag200.
Without bo.bdev->dev_mapping set, the ttm_bo_unmap_virtual_locked called from ttm_bo_handle_move_mem returns with no effect. If any application accessed the memory before it was moved, it will access wrong memory next time. This causes crashes when changing resolution down.
Signed-off-by Michal Srb <[email protected]>
---
drivers/gpu/drm/cirrus/cirrus_ttm.c +1 -0
@@ -328,6 +328,7 @@ int cirrus_bo_create(struct drm_device *dev, int size, int align, cirrusbo->gem.driver_private =NULL ; cirrusbo->bo.bdev = &cirrus->ttm.bdev; + cirrusbo->bo.bdev->dev_mapping = dev->dev_mapping;cirrus_ttm_placement (cirrusbo,TTM_PL_FLAG_VRAM |TTM_PL_FLAG_SYSTEM );