diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 143 |
1 files changed, 139 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 2955083aa471..e38cd21161c8 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -55,7 +55,7 @@ | |||
55 | /* PCI config space */ | 55 | /* PCI config space */ |
56 | 56 | ||
57 | #define HPLLCC 0xc0 /* 855 only */ | 57 | #define HPLLCC 0xc0 /* 855 only */ |
58 | #define GC_CLOCK_CONTROL_MASK (3 << 0) | 58 | #define GC_CLOCK_CONTROL_MASK (0xf << 0) |
59 | #define GC_CLOCK_133_200 (0 << 0) | 59 | #define GC_CLOCK_133_200 (0 << 0) |
60 | #define GC_CLOCK_100_200 (1 << 0) | 60 | #define GC_CLOCK_100_200 (1 << 0) |
61 | #define GC_CLOCK_100_133 (2 << 0) | 61 | #define GC_CLOCK_100_133 (2 << 0) |
@@ -65,6 +65,25 @@ | |||
65 | #define GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4) | 65 | #define GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4) |
66 | #define GC_DISPLAY_CLOCK_333_MHZ (4 << 4) | 66 | #define GC_DISPLAY_CLOCK_333_MHZ (4 << 4) |
67 | #define GC_DISPLAY_CLOCK_MASK (7 << 4) | 67 | #define GC_DISPLAY_CLOCK_MASK (7 << 4) |
68 | #define GM45_GC_RENDER_CLOCK_MASK (0xf << 0) | ||
69 | #define GM45_GC_RENDER_CLOCK_266_MHZ (8 << 0) | ||
70 | #define GM45_GC_RENDER_CLOCK_320_MHZ (9 << 0) | ||
71 | #define GM45_GC_RENDER_CLOCK_400_MHZ (0xb << 0) | ||
72 | #define GM45_GC_RENDER_CLOCK_533_MHZ (0xc << 0) | ||
73 | #define I965_GC_RENDER_CLOCK_MASK (0xf << 0) | ||
74 | #define I965_GC_RENDER_CLOCK_267_MHZ (2 << 0) | ||
75 | #define I965_GC_RENDER_CLOCK_333_MHZ (3 << 0) | ||
76 | #define I965_GC_RENDER_CLOCK_444_MHZ (4 << 0) | ||
77 | #define I965_GC_RENDER_CLOCK_533_MHZ (5 << 0) | ||
78 | #define I945_GC_RENDER_CLOCK_MASK (7 << 0) | ||
79 | #define I945_GC_RENDER_CLOCK_166_MHZ (0 << 0) | ||
80 | #define I945_GC_RENDER_CLOCK_200_MHZ (1 << 0) | ||
81 | #define I945_GC_RENDER_CLOCK_250_MHZ (3 << 0) | ||
82 | #define I945_GC_RENDER_CLOCK_400_MHZ (5 << 0) | ||
83 | #define I915_GC_RENDER_CLOCK_MASK (7 << 0) | ||
84 | #define I915_GC_RENDER_CLOCK_166_MHZ (0 << 0) | ||
85 | #define I915_GC_RENDER_CLOCK_200_MHZ (1 << 0) | ||
86 | #define I915_GC_RENDER_CLOCK_333_MHZ (4 << 0) | ||
68 | #define LBB 0xf4 | 87 | #define LBB 0xf4 |
69 | 88 | ||
70 | /* VGA stuff */ | 89 | /* VGA stuff */ |
@@ -553,9 +572,118 @@ | |||
553 | #define DPLLA_TEST_M_BYPASS (1 << 2) | 572 | #define DPLLA_TEST_M_BYPASS (1 << 2) |
554 | #define DPLLA_INPUT_BUFFER_ENABLE (1 << 0) | 573 | #define DPLLA_INPUT_BUFFER_ENABLE (1 << 0) |
555 | #define D_STATE 0x6104 | 574 | #define D_STATE 0x6104 |
556 | #define CG_2D_DIS 0x6200 | 575 | #define DSTATE_PLL_D3_OFF (1<<3) |
557 | #define DPCUNIT_CLOCK_GATE_DISABLE (1 << 24) | 576 | #define DSTATE_GFX_CLOCK_GATING (1<<1) |
558 | #define CG_3D_DIS 0x6204 | 577 | #define DSTATE_DOT_CLOCK_GATING (1<<0) |
578 | #define DSPCLK_GATE_D 0x6200 | ||
579 | # define DPUNIT_B_CLOCK_GATE_DISABLE (1 << 30) /* 965 */ | ||
580 | # define VSUNIT_CLOCK_GATE_DISABLE (1 << 29) /* 965 */ | ||
581 | # define VRHUNIT_CLOCK_GATE_DISABLE (1 << 28) /* 965 */ | ||
582 | # define VRDUNIT_CLOCK_GATE_DISABLE (1 << 27) /* 965 */ | ||
583 | # define AUDUNIT_CLOCK_GATE_DISABLE (1 << 26) /* 965 */ | ||
584 | # define DPUNIT_A_CLOCK_GATE_DISABLE (1 << 25) /* 965 */ | ||
585 | # define DPCUNIT_CLOCK_GATE_DISABLE (1 << 24) /* 965 */ | ||
586 | # define TVRUNIT_CLOCK_GATE_DISABLE (1 << 23) /* 915-945 */ | ||
587 | # define TVCUNIT_CLOCK_GATE_DISABLE (1 << 22) /* 915-945 */ | ||
588 | # define TVFUNIT_CLOCK_GATE_DISABLE (1 << 21) /* 915-945 */ | ||
589 | # define TVEUNIT_CLOCK_GATE_DISABLE (1 << 20) /* 915-945 */ | ||
590 | # define DVSUNIT_CLOCK_GATE_DISABLE (1 << 19) /* 915-945 */ | ||
591 | # define DSSUNIT_CLOCK_GATE_DISABLE (1 << 18) /* 915-945 */ | ||
592 | # define DDBUNIT_CLOCK_GATE_DISABLE (1 << 17) /* 915-945 */ | ||
593 | # define DPRUNIT_CLOCK_GATE_DISABLE (1 << 16) /* 915-945 */ | ||
594 | # define DPFUNIT_CLOCK_GATE_DISABLE (1 << 15) /* 915-945 */ | ||
595 | # define DPBMUNIT_CLOCK_GATE_DISABLE (1 << 14) /* 915-945 */ | ||
596 | # define DPLSUNIT_CLOCK_GATE_DISABLE (1 << 13) /* 915-945 */ | ||
597 | # define DPLUNIT_CLOCK_GATE_DISABLE (1 << 12) /* 915-945 */ | ||
598 | # define DPOUNIT_CLOCK_GATE_DISABLE (1 << 11) | ||
599 | # define DPBUNIT_CLOCK_GATE_DISABLE (1 << 10) | ||
600 | # define DCUNIT_CLOCK_GATE_DISABLE (1 << 9) | ||
601 | # define DPUNIT_CLOCK_GATE_DISABLE (1 << 8) | ||
602 | # define VRUNIT_CLOCK_GATE_DISABLE (1 << 7) /* 915+: reserved */ | ||
603 | # define OVHUNIT_CLOCK_GATE_DISABLE (1 << 6) /* 830-865 */ | ||
604 | # define DPIOUNIT_CLOCK_GATE_DISABLE (1 << 6) /* 915-945 */ | ||
605 | # define OVFUNIT_CLOCK_GATE_DISABLE (1 << 5) | ||
606 | # define OVBUNIT_CLOCK_GATE_DISABLE (1 << 4) | ||
607 | /** | ||
608 | * This bit must be set on the 830 to prevent hangs when turning off the | ||
609 | * overlay scaler. | ||
610 | */ | ||
611 | # define OVRUNIT_CLOCK_GATE_DISABLE (1 << 3) | ||
612 | # define OVCUNIT_CLOCK_GATE_DISABLE (1 << 2) | ||
613 | # define OVUUNIT_CLOCK_GATE_DISABLE (1 << 1) | ||
614 | # define ZVUNIT_CLOCK_GATE_DISABLE (1 << 0) /* 830 */ | ||
615 | # define OVLUNIT_CLOCK_GATE_DISABLE (1 << 0) /* 845,865 */ | ||
616 | |||
617 | #define RENCLK_GATE_D1 0x6204 | ||
618 | # define BLITTER_CLOCK_GATE_DISABLE (1 << 13) /* 945GM only */ | ||
619 | # define MPEG_CLOCK_GATE_DISABLE (1 << 12) /* 945GM only */ | ||
620 | # define PC_FE_CLOCK_GATE_DISABLE (1 << 11) | ||
621 | # define PC_BE_CLOCK_GATE_DISABLE (1 << 10) | ||
622 | # define WINDOWER_CLOCK_GATE_DISABLE (1 << 9) | ||
623 | # define INTERPOLATOR_CLOCK_GATE_DISABLE (1 << 8) | ||
624 | # define COLOR_CALCULATOR_CLOCK_GATE_DISABLE (1 << 7) | ||
625 | # define MOTION_COMP_CLOCK_GATE_DISABLE (1 << 6) | ||
626 | # define MAG_CLOCK_GATE_DISABLE (1 << 5) | ||
627 | /** This bit must be unset on 855,865 */ | ||
628 | # define MECI_CLOCK_GATE_DISABLE (1 << 4) | ||
629 | # define DCMP_CLOCK_GATE_DISABLE (1 << 3) | ||
630 | # define MEC_CLOCK_GATE_DISABLE (1 << 2) | ||
631 | # define MECO_CLOCK_GATE_DISABLE (1 << 1) | ||
632 | /** This bit must be set on 855,865. */ | ||
633 | # define SV_CLOCK_GATE_DISABLE (1 << 0) | ||
634 | # define I915_MPEG_CLOCK_GATE_DISABLE (1 << 16) | ||
635 | # define I915_VLD_IP_PR_CLOCK_GATE_DISABLE (1 << 15) | ||
636 | # define I915_MOTION_COMP_CLOCK_GATE_DISABLE (1 << 14) | ||
637 | # define I915_BD_BF_CLOCK_GATE_DISABLE (1 << 13) | ||
638 | # define I915_SF_SE_CLOCK_GATE_DISABLE (1 << 12) | ||
639 | # define I915_WM_CLOCK_GATE_DISABLE (1 << 11) | ||
640 | # define I915_IZ_CLOCK_GATE_DISABLE (1 << 10) | ||
641 | # define I915_PI_CLOCK_GATE_DISABLE (1 << 9) | ||
642 | # define I915_DI_CLOCK_GATE_DISABLE (1 << 8) | ||
643 | # define I915_SH_SV_CLOCK_GATE_DISABLE (1 << 7) | ||
644 | # define I915_PL_DG_QC_FT_CLOCK_GATE_DISABLE (1 << 6) | ||
645 | # define I915_SC_CLOCK_GATE_DISABLE (1 << 5) | ||
646 | # define I915_FL_CLOCK_GATE_DISABLE (1 << 4) | ||
647 | # define I915_DM_CLOCK_GATE_DISABLE (1 << 3) | ||
648 | # define I915_PS_CLOCK_GATE_DISABLE (1 << 2) | ||
649 | # define I915_CC_CLOCK_GATE_DISABLE (1 << 1) | ||
650 | # define I915_BY_CLOCK_GATE_DISABLE (1 << 0) | ||
651 | |||
652 | # define I965_RCZ_CLOCK_GATE_DISABLE (1 << 30) | ||
653 | /** This bit must always be set on 965G/965GM */ | ||
654 | # define I965_RCC_CLOCK_GATE_DISABLE (1 << 29) | ||
655 | # define I965_RCPB_CLOCK_GATE_DISABLE (1 << 28) | ||
656 | # define I965_DAP_CLOCK_GATE_DISABLE (1 << 27) | ||
657 | # define I965_ROC_CLOCK_GATE_DISABLE (1 << 26) | ||
658 | # define I965_GW_CLOCK_GATE_DISABLE (1 << 25) | ||
659 | # define I965_TD_CLOCK_GATE_DISABLE (1 << 24) | ||
660 | /** This bit must always be set on 965G */ | ||
661 | # define I965_ISC_CLOCK_GATE_DISABLE (1 << 23) | ||
662 | # define I965_IC_CLOCK_GATE_DISABLE (1 << 22) | ||
663 | # define I965_EU_CLOCK_GATE_DISABLE (1 << 21) | ||
664 | # define I965_IF_CLOCK_GATE_DISABLE (1 << 20) | ||
665 | # define I965_TC_CLOCK_GATE_DISABLE (1 << 19) | ||
666 | # define I965_SO_CLOCK_GATE_DISABLE (1 << 17) | ||
667 | # define I965_FBC_CLOCK_GATE_DISABLE (1 << 16) | ||
668 | # define I965_MARI_CLOCK_GATE_DISABLE (1 << 15) | ||
669 | # define I965_MASF_CLOCK_GATE_DISABLE (1 << 14) | ||
670 | # define I965_MAWB_CLOCK_GATE_DISABLE (1 << 13) | ||
671 | # define I965_EM_CLOCK_GATE_DISABLE (1 << 12) | ||
672 | # define I965_UC_CLOCK_GATE_DISABLE (1 << 11) | ||
673 | # define I965_SI_CLOCK_GATE_DISABLE (1 << 6) | ||
674 | # define I965_MT_CLOCK_GATE_DISABLE (1 << 5) | ||
675 | # define I965_PL_CLOCK_GATE_DISABLE (1 << 4) | ||
676 | # define I965_DG_CLOCK_GATE_DISABLE (1 << 3) | ||
677 | # define I965_QC_CLOCK_GATE_DISABLE (1 << 2) | ||
678 | # define I965_FT_CLOCK_GATE_DISABLE (1 << 1) | ||
679 | # define I965_DM_CLOCK_GATE_DISABLE (1 << 0) | ||
680 | |||
681 | #define RENCLK_GATE_D2 0x6208 | ||
682 | #define VF_UNIT_CLOCK_GATE_DISABLE (1 << 9) | ||
683 | #define GS_UNIT_CLOCK_GATE_DISABLE (1 << 7) | ||
684 | #define CL_UNIT_CLOCK_GATE_DISABLE (1 << 6) | ||
685 | #define RAMCLK_GATE_D 0x6210 /* CRL only */ | ||
686 | #define DEUC 0x6214 /* CRL only */ | ||
559 | 687 | ||
560 | /* | 688 | /* |
561 | * Palette regs | 689 | * Palette regs |
@@ -683,6 +811,7 @@ | |||
683 | #define SDVOB_HOTPLUG_INT_EN (1 << 26) | 811 | #define SDVOB_HOTPLUG_INT_EN (1 << 26) |
684 | #define SDVOC_HOTPLUG_INT_EN (1 << 25) | 812 | #define SDVOC_HOTPLUG_INT_EN (1 << 25) |
685 | #define TV_HOTPLUG_INT_EN (1 << 18) | 813 | #define TV_HOTPLUG_INT_EN (1 << 18) |
814 | #define CRT_EOS_INT_EN (1 << 10) | ||
686 | #define CRT_HOTPLUG_INT_EN (1 << 9) | 815 | #define CRT_HOTPLUG_INT_EN (1 << 9) |
687 | #define CRT_HOTPLUG_FORCE_DETECT (1 << 3) | 816 | #define CRT_HOTPLUG_FORCE_DETECT (1 << 3) |
688 | #define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8) | 817 | #define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8) |
@@ -717,6 +846,7 @@ | |||
717 | #define DPC_HOTPLUG_INT_STATUS (1 << 28) | 846 | #define DPC_HOTPLUG_INT_STATUS (1 << 28) |
718 | #define HDMID_HOTPLUG_INT_STATUS (1 << 27) | 847 | #define HDMID_HOTPLUG_INT_STATUS (1 << 27) |
719 | #define DPD_HOTPLUG_INT_STATUS (1 << 27) | 848 | #define DPD_HOTPLUG_INT_STATUS (1 << 27) |
849 | #define CRT_EOS_INT_STATUS (1 << 12) | ||
720 | #define CRT_HOTPLUG_INT_STATUS (1 << 11) | 850 | #define CRT_HOTPLUG_INT_STATUS (1 << 11) |
721 | #define TV_HOTPLUG_INT_STATUS (1 << 10) | 851 | #define TV_HOTPLUG_INT_STATUS (1 << 10) |
722 | #define CRT_HOTPLUG_MONITOR_MASK (3 << 8) | 852 | #define CRT_HOTPLUG_MONITOR_MASK (3 << 8) |
@@ -1586,6 +1716,7 @@ | |||
1586 | #define PIPECONF_PROGRESSIVE (0 << 21) | 1716 | #define PIPECONF_PROGRESSIVE (0 << 21) |
1587 | #define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) | 1717 | #define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) |
1588 | #define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) | 1718 | #define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) |
1719 | #define PIPECONF_CXSR_DOWNCLOCK (1<<16) | ||
1589 | #define PIPEASTAT 0x70024 | 1720 | #define PIPEASTAT 0x70024 |
1590 | #define PIPE_FIFO_UNDERRUN_STATUS (1UL<<31) | 1721 | #define PIPE_FIFO_UNDERRUN_STATUS (1UL<<31) |
1591 | #define PIPE_CRC_ERROR_ENABLE (1UL<<29) | 1722 | #define PIPE_CRC_ERROR_ENABLE (1UL<<29) |
@@ -1733,6 +1864,7 @@ | |||
1733 | #define DISPPLANE_NO_LINE_DOUBLE 0 | 1864 | #define DISPPLANE_NO_LINE_DOUBLE 0 |
1734 | #define DISPPLANE_STEREO_POLARITY_FIRST 0 | 1865 | #define DISPPLANE_STEREO_POLARITY_FIRST 0 |
1735 | #define DISPPLANE_STEREO_POLARITY_SECOND (1<<18) | 1866 | #define DISPPLANE_STEREO_POLARITY_SECOND (1<<18) |
1867 | #define DISPPLANE_TRICKLE_FEED_DISABLE (1<<14) /* IGDNG */ | ||
1736 | #define DISPPLANE_TILED (1<<10) | 1868 | #define DISPPLANE_TILED (1<<10) |
1737 | #define DSPAADDR 0x70184 | 1869 | #define DSPAADDR 0x70184 |
1738 | #define DSPASTRIDE 0x70188 | 1870 | #define DSPASTRIDE 0x70188 |
@@ -1913,6 +2045,9 @@ | |||
1913 | #define GTIIR 0x44018 | 2045 | #define GTIIR 0x44018 |
1914 | #define GTIER 0x4401c | 2046 | #define GTIER 0x4401c |
1915 | 2047 | ||
2048 | #define DISP_ARB_CTL 0x45000 | ||
2049 | #define DISP_TILE_SURFACE_SWIZZLING (1<<13) | ||
2050 | |||
1916 | /* PCH */ | 2051 | /* PCH */ |
1917 | 2052 | ||
1918 | /* south display engine interrupt */ | 2053 | /* south display engine interrupt */ |