3.11-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Alex Deucher <alexander.deuc...@amd.com>

commit b2e4c70a9747ecb618d563b004ba746869dde5aa upstream.

This fills in the GPU specific details for berlin
GPU cores so that the driver will work with them.

Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/gpu/drm/radeon/cik.c |   41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -1880,7 +1880,46 @@ static void cik_gpu_init(struct radeon_d
                gb_addr_config = BONAIRE_GB_ADDR_CONFIG_GOLDEN;
                break;
        case CHIP_KAVERI:
-               /* TODO */
+               rdev->config.cik.max_shader_engines = 1;
+               rdev->config.cik.max_tile_pipes = 4;
+               if ((rdev->pdev->device == 0x1304) ||
+                   (rdev->pdev->device == 0x1305) ||
+                   (rdev->pdev->device == 0x130C) ||
+                   (rdev->pdev->device == 0x130F) ||
+                   (rdev->pdev->device == 0x1310) ||
+                   (rdev->pdev->device == 0x1311) ||
+                   (rdev->pdev->device == 0x131C)) {
+                       rdev->config.cik.max_cu_per_sh = 8;
+                       rdev->config.cik.max_backends_per_se = 2;
+               } else if ((rdev->pdev->device == 0x1309) ||
+                          (rdev->pdev->device == 0x130A) ||
+                          (rdev->pdev->device == 0x130D) ||
+                          (rdev->pdev->device == 0x1313)) {
+                       rdev->config.cik.max_cu_per_sh = 6;
+                       rdev->config.cik.max_backends_per_se = 2;
+               } else if ((rdev->pdev->device == 0x1306) ||
+                          (rdev->pdev->device == 0x1307) ||
+                          (rdev->pdev->device == 0x130B) ||
+                          (rdev->pdev->device == 0x130E) ||
+                          (rdev->pdev->device == 0x1315) ||
+                          (rdev->pdev->device == 0x131B)) {
+                       rdev->config.cik.max_cu_per_sh = 4;
+                       rdev->config.cik.max_backends_per_se = 1;
+               } else {
+                       rdev->config.cik.max_cu_per_sh = 3;
+                       rdev->config.cik.max_backends_per_se = 1;
+               }
+               rdev->config.cik.max_sh_per_se = 1;
+               rdev->config.cik.max_texture_channel_caches = 4;
+               rdev->config.cik.max_gprs = 256;
+               rdev->config.cik.max_gs_threads = 16;
+               rdev->config.cik.max_hw_contexts = 8;
+
+               rdev->config.cik.sc_prim_fifo_size_frontend = 0x20;
+               rdev->config.cik.sc_prim_fifo_size_backend = 0x100;
+               rdev->config.cik.sc_hiz_tile_fifo_size = 0x30;
+               rdev->config.cik.sc_earlyz_tile_fifo_size = 0x130;
+               gb_addr_config = BONAIRE_GB_ADDR_CONFIG_GOLDEN;
                break;
        case CHIP_KABINI:
        default:


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to