HACK: sunxi: video: change kernel framebuffer mapping to writecombine

The kernelspace mapping of framebuffer (needed for fbcon) had CPU
caching enabled by some mistake. This caused glitches and artifacts
in the framebuffer console, which can be easily reproduced as reported
on IRC:

  <buZz> supereasy to reproduce;
         1) type a multiword command on (fbdev) console
         2) ctrl-left a word
         3) delete its first character
         4) tada, sticky pixels

The solution is to change the kernel framebuffer memory mapping to
writecombine, just like it is done for the userspace mapping.

This patch is definitely *not* a clean solution. It is cutting some
corners by doing exactly what was NAK'ed by the ARM kernel maintainers:
  http://lists.infradead.org/pipermail/linux-arm-kernel/2011-April/048844.html
  http://lists.infradead.org/pipermail/linux-arm-kernel/2011-June/052233.html

The ioremap restriction (intended to prevent creating aliased mappings
with different memory attributes) has been introduced with 309caa9cc6ff39d2,
later relaxed in 06c10884486a63a1, and finally re-introduced again
in 67cfa23ac9df810d.

Even though this patch is not perfect, it can be used as a stopgap solution.

= changes in v2 revision:
    Fix for the problems with disp module loading/unloading in dual-monitor
    configuration. Added debugging messages and fallback code for the case
    if ioremap_wc() fails.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>