aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-01-06 21:19:28 -0500
committerDave Airlie <airlied@redhat.com>2011-01-06 23:11:37 -0500
commitff5b8562d965687261968d02762f9ae73e80a948 (patch)
tree84fda3b572f642a89cd3a232f2150700611f4f93
parent7d52785d2ac1a07bc012b76cb465c9a01d830a32 (diff)
drm/radeon/kms: add bo blit support for NI
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/radeon/evergreen_blit_kms.c69
1 files changed, 67 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen_blit_kms.c b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
index 2ccd1f0545f..b758dc7f2f2 100644
--- a/drivers/gpu/drm/radeon/evergreen_blit_kms.c
+++ b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
@@ -148,7 +148,8 @@ set_vtx_resource(struct radeon_device *rdev, u64 gpu_addr)
148 radeon_ring_write(rdev, SQ_TEX_VTX_VALID_BUFFER << 30); 148 radeon_ring_write(rdev, SQ_TEX_VTX_VALID_BUFFER << 30);
149 149
150 if ((rdev->family == CHIP_CEDAR) || 150 if ((rdev->family == CHIP_CEDAR) ||
151 (rdev->family == CHIP_PALM)) 151 (rdev->family == CHIP_PALM) ||
152 (rdev->family == CHIP_CAICOS))
152 cp_set_surface_sync(rdev, 153 cp_set_surface_sync(rdev,
153 PACKET3_TC_ACTION_ENA, 48, gpu_addr); 154 PACKET3_TC_ACTION_ENA, 48, gpu_addr);
154 else 155 else
@@ -353,10 +354,74 @@ set_default_state(struct radeon_device *rdev)
353 num_hs_stack_entries = 42; 354 num_hs_stack_entries = 42;
354 num_ls_stack_entries = 42; 355 num_ls_stack_entries = 42;
355 break; 356 break;
357 case CHIP_BARTS:
358 num_ps_gprs = 93;
359 num_vs_gprs = 46;
360 num_temp_gprs = 4;
361 num_gs_gprs = 31;
362 num_es_gprs = 31;
363 num_hs_gprs = 23;
364 num_ls_gprs = 23;
365 num_ps_threads = 128;
366 num_vs_threads = 20;
367 num_gs_threads = 20;
368 num_es_threads = 20;
369 num_hs_threads = 20;
370 num_ls_threads = 20;
371 num_ps_stack_entries = 85;
372 num_vs_stack_entries = 85;
373 num_gs_stack_entries = 85;
374 num_es_stack_entries = 85;
375 num_hs_stack_entries = 85;
376 num_ls_stack_entries = 85;
377 break;
378 case CHIP_TURKS:
379 num_ps_gprs = 93;
380 num_vs_gprs = 46;
381 num_temp_gprs = 4;
382 num_gs_gprs = 31;
383 num_es_gprs = 31;
384 num_hs_gprs = 23;
385 num_ls_gprs = 23;
386 num_ps_threads = 128;
387 num_vs_threads = 20;
388 num_gs_threads = 20;
389 num_es_threads = 20;
390 num_hs_threads = 20;
391 num_ls_threads = 20;
392 num_ps_stack_entries = 42;
393 num_vs_stack_entries = 42;
394 num_gs_stack_entries = 42;
395 num_es_stack_entries = 42;
396 num_hs_stack_entries = 42;
397 num_ls_stack_entries = 42;
398 break;
399 case CHIP_CAICOS:
400 num_ps_gprs = 93;
401 num_vs_gprs = 46;
402 num_temp_gprs = 4;
403 num_gs_gprs = 31;
404 num_es_gprs = 31;
405 num_hs_gprs = 23;
406 num_ls_gprs = 23;
407 num_ps_threads = 128;
408 num_vs_threads = 10;
409 num_gs_threads = 10;
410 num_es_threads = 10;
411 num_hs_threads = 10;
412 num_ls_threads = 10;
413 num_ps_stack_entries = 42;
414 num_vs_stack_entries = 42;
415 num_gs_stack_entries = 42;
416 num_es_stack_entries = 42;
417 num_hs_stack_entries = 42;
418 num_ls_stack_entries = 42;
419 break;
356 } 420 }
357 421
358 if ((rdev->family == CHIP_CEDAR) || 422 if ((rdev->family == CHIP_CEDAR) ||
359 (rdev->family == CHIP_PALM)) 423 (rdev->family == CHIP_PALM) ||
424 (rdev->family == CHIP_CAICOS))
360 sq_config = 0; 425 sq_config = 0;
361 else 426 else
362 sq_config = VC_ENABLE; 427 sq_config = VC_ENABLE;