PE: Depending on the number of pixel pipes we need to emit
different values.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
set correct address for PE_PIPE_COLOR_ADDR[1]

this is what the binary blob does:
ADDR_I: 0x38910000 allocated: 0x73000	gcvSURF_RENDER_TARGET used for: TS.COLOR_SURFACE_BASE  PE.PIPE[0].COLOR_ADDR
ADDR_27:0x3894b000					      used for: PE.PIPE[1].COLOR_ADDR

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
rs: make it possible to define if dest/source is multi pipe

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
bo: print human readable type info if DEBUG is defined

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
pe: keep the state updates in order of address

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
rs: pipe addresses for second pipe depnds on STRIDE_MULTI

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
rs: only emit pipe addresses which are really used

excerpt from cmd buffer generated by binary blob:
    0x08010581, /* LOAD_STATE (1) Base: 0x01604 Size: 1 Fixp: 0 */
    0x20000686, /*   [01604] RS.CONFIG := SOURCE_FORMAT=A8R8G8B8,DOWNSAMPLE_X=0,DOWNSAMPLE_Y=0,SOURCE_TILED=1,DEST_FORMAT=A8R8G8B8,DEST_TILED=0,SWAP_RB=1,FLIP=0 */
    0x08010583, /* LOAD_STATE (1) Base: 0x0160C Size: 1 Fixp: 0 */
    0xc0001c00, /*   [0160C] RS.SOURCE_STRIDE := STRIDE=0x1c00,MULTI=1,TILING=1 */
    0x08010585, /* LOAD_STATE (1) Base: 0x01614 Size: 1 Fixp: 0 */
    0x00000700, /*   [01614] RS.DEST_STRIDE := STRIDE=0x700,MULTI=0,TILING=0 */
    0x0802058c, /* LOAD_STATE (1) Base: 0x01630 Size: 2 Fixp: 0 */
    0xffffffff, /*   [01630] RS.DITHER[0] := 0xffffffff */
    0xffffffff, /*   [01634] RS.DITHER[1] := 0xffffffff */
    0x00000000, /* PAD */
    0x0801058f, /* LOAD_STATE (1) Base: 0x0163C Size: 1 Fixp: 0 */
    0x00000000, /*   [0163C] RS.CLEAR_CONTROL := BITS=0x0,MODE=DISABLED */
    0x080105a8, /* LOAD_STATE (1) Base: 0x016A0 Size: 1 Fixp: 0 */
    0x00000000, /*   [016A0] RS.EXTRA_CONFIG := AA=0x0,ENDIAN=NO_SWAP */
    0x080205b0, /* LOAD_STATE (1) Base: 0x016C0 Size: 2 Fixp: 0 */
    0x38910000, /*   [016C0] RS.PIPE[0].SOURCE_ADDR := ADDR_I */
    0x3894b000, /*   [016C4] RS.PIPE[1].SOURCE_ADDR := ADDR_27 */
    0x00000000, /* PAD */
    0x080105b8, /* LOAD_STATE (1) Base: 0x016E0 Size: 1 Fixp: 0 */
    0x38a37c00, /*   [016E0] RS.PIPE[0].DEST_ADDR := ADDR_P */
    0x08010588, /* LOAD_STATE (1) Base: 0x01620 Size: 1 Fixp: 0 */

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
rs: make use of xxx_tiling to determine multi pipe usage

We can detect via source and dest tiling if we need to use
multi pipes. So we can get rid of the extra tow mutli
variables in rs_state.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
driver: add support for multi tiled formats

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
rs: add some debug output

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
rs: change struct rs_state to contain all pipe addresses

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
driver: store calculated pipe addresses in struct etna_resource

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
driver: make use of calculated addresses

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
pe: make us of calculated addresses

With this commit the PE pipe addresses and the
RS pipe addresses are the same --> on a GC2000
the image is combined correctly.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
driver: use calulated address for TS_COLOR_SURFACE_BASE

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
driver: make use of calculated addresses for PE/TS DEPTH_ADDR

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Merge pull request #21 from austriancoder/master

some gc2000 related stuff