Michel Dänzer wrote:
> From: Michel Dänzer <daen...@vmware.com>
>
> Use the fb_mmap hook for userspace and re-create the kernel mapping whenever 
> the
> fbcon BO moves back into VRAM. KMS will pin it when necessary. This way we
> aren't wasting precious VRAM when we're e.g. in X.
>
> fbcon shouldn't (and IME doesn't) touch the BO contents while it isn't
> displaying. 
We had some issues with this and Poulsbo KMS. In particular, cursor 
blinking seemed to hit the fb kernel pointer even when the X server was 
switched in.

> If userspace tries to access /dev/fb* with read/write while the BO
> isn't in VRAM, we re-create the kernel mapping with vmap().
>   
Note that vmapping requires the bo to be either reserved or pinned. 
Otherwise a bo move or swapout may invalidate the vmap at any point. 
There is a safe ,unoptimized and untested way to do this: 
ttm_bo_fbdev_io() (ttm_bo_vm.c) should perform a safe read- or write 
operation regardless where the bo is currently located.

/Thomas




------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to