|
@@ -1639,11 +1639,19 @@ static void si_gpu_init(struct radeon_device *rdev)
|
|
|
/* XXX what about 12? */
|
|
|
rdev->config.si.tile_config |= (3 << 0);
|
|
|
break;
|
|
|
- }
|
|
|
- if ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT)
|
|
|
- rdev->config.si.tile_config |= 1 << 4;
|
|
|
- else
|
|
|
+ }
|
|
|
+ switch ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) {
|
|
|
+ case 0: /* four banks */
|
|
|
rdev->config.si.tile_config |= 0 << 4;
|
|
|
+ break;
|
|
|
+ case 1: /* eight banks */
|
|
|
+ rdev->config.si.tile_config |= 1 << 4;
|
|
|
+ break;
|
|
|
+ case 2: /* sixteen banks */
|
|
|
+ default:
|
|
|
+ rdev->config.si.tile_config |= 2 << 4;
|
|
|
+ break;
|
|
|
+ }
|
|
|
rdev->config.si.tile_config |=
|
|
|
((gb_addr_config & PIPE_INTERLEAVE_SIZE_MASK) >> PIPE_INTERLEAVE_SIZE_SHIFT) << 8;
|
|
|
rdev->config.si.tile_config |=
|