aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/sid.h
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2012-03-20 17:18:20 -0400
committerDave Airlie <airlied@redhat.com>2012-03-21 02:55:54 -0400
commit2ece2e8b7d02040a59bc2f3a7f192c0521e2b867 (patch)
treef45b8e97947aa79037c6ce1b2a98ee0a60b7988e /drivers/gpu/drm/radeon/sid.h
parent48c0c902e2e6ca07b8c7ae1da48a7bb59eb88de9 (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.h65
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)