drm/radeon/kms: r600/r700 command stream checker
[safe/jmp/linux-2.6] / drivers / gpu / drm / radeon / rv770.c
index c9320e7..3ecd138 100644 (file)
@@ -516,15 +516,19 @@ static void rv770_gpu_init(struct radeon_device *rdev)
        switch (rdev->config.rv770.max_tile_pipes) {
        case 1:
                gb_tiling_config |= PIPE_TILING(0);
+               rdev->config.rv770.tiling_npipes = 1;
                break;
        case 2:
                gb_tiling_config |= PIPE_TILING(1);
+               rdev->config.rv770.tiling_npipes = 2;
                break;
        case 4:
                gb_tiling_config |= PIPE_TILING(2);
+               rdev->config.rv770.tiling_npipes = 4;
                break;
        case 8:
                gb_tiling_config |= PIPE_TILING(3);
+               rdev->config.rv770.tiling_npipes = 8;
                break;
        default:
                break;
@@ -534,8 +538,10 @@ static void rv770_gpu_init(struct radeon_device *rdev)
                gb_tiling_config |= BANK_TILING(1);
        else
                gb_tiling_config |= BANK_TILING((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT);
+       rdev->config.rv770.tiling_nbanks = 4 << ((gb_tiling_config >> 4) & 0x3);
 
        gb_tiling_config |= GROUP_SIZE(0);
+       rdev->config.rv770.tiling_group_size = 256;
 
        if (((mc_arb_ramcfg & NOOFROWS_MASK) >> NOOFROWS_SHIFT) > 3) {
                gb_tiling_config |= ROW_TILING(3);