Add X driver PolyFillRect acceleration

Add fill acceleration to the X driver (sunxi_x_g2d.c) by hooking
PolyFillRect. It uses the fill function from the blt2d structure;
if this returns 0, it falls back to pixman or xorg fb. The
PolyFillRect implementation is based on xorg fb.

On the Allwinner A10 with G2D enabled, G2D fills may be slower
than CPU especially at 16bpp. The blt2d fill function can return 0
in this case or depending on other constraints. However,
accelerated fills do help CPU utilization.

This feature will be usable in other devices where accelerated
fill is not slower than CPU.

Heavily based on work done by Harm Hanemaaijer <fgenfb@yahoo.com>

Signed-off-by: Luke Diamand <luke@diamand.org>
Small clean-up in xCopyNToN

In xCopyNToN, it is guaranteed that alu == GXcopy and planemask
== FB_ALL_ONES, so no need to check for them.

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
Signed-off-by: Luke Diamand <luke@diamand.org>
fb_copyarea: Add DMA-based fill support

Uses bcm2835-specific ioctl to accelerate large area
fills using DMA.

Signed-off-by: Luke Diamand <luke@diamand.org>
fb_copyarea: make thresholds configurable

This change adds support for configuring the DMA copy and
fill thresholds via the X server configuration file.

Signed-off-by: Luke Diamand <luke@diamand.org>