diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2011-01-06 21:19:28 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-01-06 23:11:37 -0500 |
commit | ff5b8562d965687261968d02762f9ae73e80a948 (patch) | |
tree | 84fda3b572f642a89cd3a232f2150700611f4f93 | |
parent | 7d52785d2ac1a07bc012b76cb465c9a01d830a32 (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.c | 69 |
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; |