rk_fb, rk*_lcdc: Return -NOIOCTLCMD for unsupported ioctl cmds

rk_fb_ioctl returned 0 for unhandled commands, which means success.

One example of a major problem caused by this is when using
xf86-video-fbturbo, which probes for a non-standard ioctl. Since it
reads back a 'success' code, it then thinks the framebuffer device
supports DMA accelerated copyarea operations, which it attemps to
use. Since this feature is not actually supported, this causes
visual glitches.
LCDC: Don't call winX_open if already in correct state

No point attempting to set an lcdc to the same state it already is in.
Important: without this check atv_layer_cnt can both overflow and underflow,
causing the lcdc (and the screen) to shut down when it shouldn't.
Merge pull request #30 from lgeek/for_upstream

rk_fb, rk*_lcdc: Return -NOIOCTLCMD for unsupported ioctl cmds