diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2012-03-20 17:18:20 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-03-21 02:55:54 -0400 |
commit | 2ece2e8b7d02040a59bc2f3a7f192c0521e2b867 (patch) | |
tree | f45b8e97947aa79037c6ce1b2a98ee0a60b7988e /drivers/gpu/drm/radeon/sid.h | |
parent | 48c0c902e2e6ca07b8c7ae1da48a7bb59eb88de9 (diff) |
drm/radeon/kms: add IB and fence dispatch functions for SI
Support both IBs (DE) and CONST IBs (CE).
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/sid.h')
-rw-r--r-- | drivers/gpu/drm/radeon/sid.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/sid.h b/drivers/gpu/drm/radeon/sid.h index 7e08f0896ef6..904c4fd031f9 100644 --- a/drivers/gpu/drm/radeon/sid.h +++ b/drivers/gpu/drm/radeon/sid.h | |||
@@ -294,6 +294,8 @@ | |||
294 | #define CP_PFP_HALT (1 << 26) | 294 | #define CP_PFP_HALT (1 << 26) |
295 | #define CP_ME_HALT (1 << 28) | 295 | #define CP_ME_HALT (1 << 28) |
296 | 296 | ||
297 | #define CP_COHER_CNTL2 0x85E8 | ||
298 | |||
297 | #define CP_RB2_RPTR 0x86f8 | 299 | #define CP_RB2_RPTR 0x86f8 |
298 | #define CP_RB1_RPTR 0x86fc | 300 | #define CP_RB1_RPTR 0x86fc |
299 | #define CP_RB0_RPTR 0x8700 | 301 | #define CP_RB0_RPTR 0x8700 |
@@ -511,6 +513,45 @@ | |||
511 | 513 | ||
512 | #define CP_DEBUG 0xC1FC | 514 | #define CP_DEBUG 0xC1FC |
513 | 515 | ||
516 | #define VGT_EVENT_INITIATOR 0x28a90 | ||
517 | # define SAMPLE_STREAMOUTSTATS1 (1 << 0) | ||
518 | # define SAMPLE_STREAMOUTSTATS2 (2 << 0) | ||
519 | # define SAMPLE_STREAMOUTSTATS3 (3 << 0) | ||
520 | # define CACHE_FLUSH_TS (4 << 0) | ||
521 | # define CACHE_FLUSH (6 << 0) | ||
522 | # define CS_PARTIAL_FLUSH (7 << 0) | ||
523 | # define VGT_STREAMOUT_RESET (10 << 0) | ||
524 | # define END_OF_PIPE_INCR_DE (11 << 0) | ||
525 | # define END_OF_PIPE_IB_END (12 << 0) | ||
526 | # define RST_PIX_CNT (13 << 0) | ||
527 | # define VS_PARTIAL_FLUSH (15 << 0) | ||
528 | # define PS_PARTIAL_FLUSH (16 << 0) | ||
529 | # define CACHE_FLUSH_AND_INV_TS_EVENT (20 << 0) | ||
530 | # define ZPASS_DONE (21 << 0) | ||
531 | # define CACHE_FLUSH_AND_INV_EVENT (22 << 0) | ||
532 | # define PERFCOUNTER_START (23 << 0) | ||
533 | # define PERFCOUNTER_STOP (24 << 0) | ||
534 | # define PIPELINESTAT_START (25 << 0) | ||
535 | # define PIPELINESTAT_STOP (26 << 0) | ||
536 | # define PERFCOUNTER_SAMPLE (27 << 0) | ||
537 | # define SAMPLE_PIPELINESTAT (30 << 0) | ||
538 | # define SAMPLE_STREAMOUTSTATS (32 << 0) | ||
539 | # define RESET_VTX_CNT (33 << 0) | ||
540 | # define VGT_FLUSH (36 << 0) | ||
541 | # define BOTTOM_OF_PIPE_TS (40 << 0) | ||
542 | # define DB_CACHE_FLUSH_AND_INV (42 << 0) | ||
543 | # define FLUSH_AND_INV_DB_DATA_TS (43 << 0) | ||
544 | # define FLUSH_AND_INV_DB_META (44 << 0) | ||
545 | # define FLUSH_AND_INV_CB_DATA_TS (45 << 0) | ||
546 | # define FLUSH_AND_INV_CB_META (46 << 0) | ||
547 | # define CS_DONE (47 << 0) | ||
548 | # define PS_DONE (48 << 0) | ||
549 | # define FLUSH_AND_INV_CB_PIXEL_DATA (49 << 0) | ||
550 | # define THREAD_TRACE_START (51 << 0) | ||
551 | # define THREAD_TRACE_STOP (52 << 0) | ||
552 | # define THREAD_TRACE_FLUSH (54 << 0) | ||
553 | # define THREAD_TRACE_FINISH (55 << 0) | ||
554 | |||
514 | /* | 555 | /* |
515 | * PM4 | 556 | * PM4 |
516 | */ | 557 | */ |
@@ -606,7 +647,31 @@ | |||
606 | #define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) | 647 | #define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) |
607 | #define PACKET3_COND_WRITE 0x45 | 648 | #define PACKET3_COND_WRITE 0x45 |
608 | #define PACKET3_EVENT_WRITE 0x46 | 649 | #define PACKET3_EVENT_WRITE 0x46 |
650 | #define EVENT_TYPE(x) ((x) << 0) | ||
651 | #define EVENT_INDEX(x) ((x) << 8) | ||
652 | /* 0 - any non-TS event | ||
653 | * 1 - ZPASS_DONE | ||
654 | * 2 - SAMPLE_PIPELINESTAT | ||
655 | * 3 - SAMPLE_STREAMOUTSTAT* | ||
656 | * 4 - *S_PARTIAL_FLUSH | ||
657 | * 5 - EOP events | ||
658 | * 6 - EOS events | ||
659 | * 7 - CACHE_FLUSH, CACHE_FLUSH_AND_INV_EVENT | ||
660 | */ | ||
661 | #define INV_L2 (1 << 20) | ||
662 | /* INV TC L2 cache when EVENT_INDEX = 7 */ | ||
609 | #define PACKET3_EVENT_WRITE_EOP 0x47 | 663 | #define PACKET3_EVENT_WRITE_EOP 0x47 |
664 | #define DATA_SEL(x) ((x) << 29) | ||
665 | /* 0 - discard | ||
666 | * 1 - send low 32bit data | ||
667 | * 2 - send 64bit data | ||
668 | * 3 - send 64bit counter value | ||
669 | */ | ||
670 | #define INT_SEL(x) ((x) << 24) | ||
671 | /* 0 - none | ||
672 | * 1 - interrupt only (DATA_SEL = 0) | ||
673 | * 2 - interrupt when data write is confirmed | ||
674 | */ | ||
610 | #define PACKET3_EVENT_WRITE_EOS 0x48 | 675 | #define PACKET3_EVENT_WRITE_EOS 0x48 |
611 | #define PACKET3_PREAMBLE_CNTL 0x4A | 676 | #define PACKET3_PREAMBLE_CNTL 0x4A |
612 | # define PACKET3_PREAMBLE_BEGIN_CLEAR_STATE (2 << 28) | 677 | # define PACKET3_PREAMBLE_BEGIN_CLEAR_STATE (2 << 28) |