fbdev: add drawing functions for framebuffers in system RAM
The generic drawing functions (cfbimgblt, cfbcopyarea, cfbfillrect) assume that the framebuffer is in IO memory. However, we have 3 drivers (hecubafb, arcfb, and vfb) where the framebuffer is allocated from system RAM (via vmalloc). Using _raw_read/write and family for these drivers (as used in the cfb* functions) is illegal, especially in other platforms. Create 3 new drawing functions, based almost entirely from the original except that the framebuffer memory is assumed to be in system RAM. These are named as sysimgblt, syscopyarea, and sysfillrect. Signed-off-by:Antonino Daplas <adaplas@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- drivers/video/Kconfig 27 additions, 0 deletionsdrivers/video/Kconfig
- drivers/video/Makefile 3 additions, 0 deletionsdrivers/video/Makefile
- drivers/video/syscopyarea.c 388 additions, 0 deletionsdrivers/video/syscopyarea.c
- drivers/video/sysfillrect.c 400 additions, 0 deletionsdrivers/video/sysfillrect.c
- drivers/video/sysimgblt.c 291 additions, 0 deletionsdrivers/video/sysimgblt.c
- include/linux/fb.h 6 additions, 0 deletionsinclude/linux/fb.h
Loading
Please register or sign in to comment