On 08.08.2014 05:44, Marek Olšák wrote:
> From: Marek Olšák <marek.ol...@amd.com>
> 
> Tahiti has 12 tile pipes, but P8 pipe config.
> 
> It looks like there is no way to get the pipe config except for reading
> GB_TILE_MODE. The TILING_CONFIG ioctl doesn't return more than 8 pipes,
> so we can't use that for Hawaii.
> 
> This fixes a regression caused by 9b046474c95f15338d4c748df9b62871bba6f36f
> on Tahiti.
> 
> Cc: mesa-sta...@lists.freedesktop.org

[...]

> +     switch (G_009910_PIPE_CONFIG(mode2d)) {
> +     case V_02803C_ADDR_SURF_P2:
> +             sscreen->b.tiling_info.num_channels = 2;
> +             break;
> +     case V_02803C_X_ADDR_SURF_P4_8X16:
> +     case V_02803C_X_ADDR_SURF_P4_16X16:
> +     case V_02803C_X_ADDR_SURF_P4_16X32:
> +     case V_02803C_X_ADDR_SURF_P4_32X32:
> +             sscreen->b.tiling_info.num_channels = 4;
> +             break;
> +     case V_02803C_X_ADDR_SURF_P8_16X16_8X16:
> +     case V_02803C_X_ADDR_SURF_P8_16X32_8X16:
> +     case V_02803C_X_ADDR_SURF_P8_32X32_8X16:
> +     case V_02803C_X_ADDR_SURF_P8_16X32_16X16:
> +     case V_02803C_X_ADDR_SURF_P8_32X32_16X16:
> +     case V_02803C_X_ADDR_SURF_P8_32X32_16X32:
> +     case V_02803C_X_ADDR_SURF_P8_32X64_32X32:
> +             sscreen->b.tiling_info.num_channels = 8;
> +             break;
> +     case V_02803C_X_ADDR_SURF_P16_32X32_8X16:
> +     case V_02803C_X_ADDR_SURF_P16_32X32_16X16:
> +             sscreen->b.tiling_info.num_channels = 16;
> +             break;
> +     default:
> +             return false;
> +     }

Might be nice to print an error message in the default case, so we can
see if it's ever hit. Either way though,

Reviewed-by: Michel Dänzer <michel.daen...@amd.com>


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to