diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 38910f8f30ed..b9e47f1e1cc0 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -57,6 +57,24 @@ | |||
57 | #define INTEL_OUTPUT_DISPLAYPORT 7 | 57 | #define INTEL_OUTPUT_DISPLAYPORT 7 |
58 | #define INTEL_OUTPUT_EDP 8 | 58 | #define INTEL_OUTPUT_EDP 8 |
59 | 59 | ||
60 | /* Intel Pipe Clone Bit */ | ||
61 | #define INTEL_HDMIB_CLONE_BIT 1 | ||
62 | #define INTEL_HDMIC_CLONE_BIT 2 | ||
63 | #define INTEL_HDMID_CLONE_BIT 3 | ||
64 | #define INTEL_HDMIE_CLONE_BIT 4 | ||
65 | #define INTEL_HDMIF_CLONE_BIT 5 | ||
66 | #define INTEL_SDVO_NON_TV_CLONE_BIT 6 | ||
67 | #define INTEL_SDVO_TV_CLONE_BIT 7 | ||
68 | #define INTEL_SDVO_LVDS_CLONE_BIT 8 | ||
69 | #define INTEL_ANALOG_CLONE_BIT 9 | ||
70 | #define INTEL_TV_CLONE_BIT 10 | ||
71 | #define INTEL_DP_B_CLONE_BIT 11 | ||
72 | #define INTEL_DP_C_CLONE_BIT 12 | ||
73 | #define INTEL_DP_D_CLONE_BIT 13 | ||
74 | #define INTEL_LVDS_CLONE_BIT 14 | ||
75 | #define INTEL_DVO_TMDS_CLONE_BIT 15 | ||
76 | #define INTEL_DVO_LVDS_CLONE_BIT 16 | ||
77 | |||
60 | #define INTEL_DVO_CHIP_NONE 0 | 78 | #define INTEL_DVO_CHIP_NONE 0 |
61 | #define INTEL_DVO_CHIP_LVDS 1 | 79 | #define INTEL_DVO_CHIP_LVDS 1 |
62 | #define INTEL_DVO_CHIP_TMDS 2 | 80 | #define INTEL_DVO_CHIP_TMDS 2 |
@@ -86,6 +104,8 @@ struct intel_output { | |||
86 | bool needs_tv_clock; | 104 | bool needs_tv_clock; |
87 | void *dev_priv; | 105 | void *dev_priv; |
88 | void (*hot_plug)(struct intel_output *); | 106 | void (*hot_plug)(struct intel_output *); |
107 | int crtc_mask; | ||
108 | int clone_mask; | ||
89 | }; | 109 | }; |
90 | 110 | ||
91 | struct intel_crtc { | 111 | struct intel_crtc { |
@@ -96,6 +116,9 @@ struct intel_crtc { | |||
96 | uint32_t cursor_addr; | 116 | uint32_t cursor_addr; |
97 | u8 lut_r[256], lut_g[256], lut_b[256]; | 117 | u8 lut_r[256], lut_g[256], lut_b[256]; |
98 | int dpms_mode; | 118 | int dpms_mode; |
119 | bool busy; /* is scanout buffer being updated frequently? */ | ||
120 | struct timer_list idle_timer; | ||
121 | bool lowfreq_avail; | ||
99 | }; | 122 | }; |
100 | 123 | ||
101 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) | 124 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) |
@@ -114,6 +137,7 @@ extern void intel_hdmi_init(struct drm_device *dev, int sdvox_reg); | |||
114 | extern bool intel_sdvo_init(struct drm_device *dev, int output_device); | 137 | extern bool intel_sdvo_init(struct drm_device *dev, int output_device); |
115 | extern void intel_dvo_init(struct drm_device *dev); | 138 | extern void intel_dvo_init(struct drm_device *dev); |
116 | extern void intel_tv_init(struct drm_device *dev); | 139 | extern void intel_tv_init(struct drm_device *dev); |
140 | extern void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj); | ||
117 | extern void intel_lvds_init(struct drm_device *dev); | 141 | extern void intel_lvds_init(struct drm_device *dev); |
118 | extern void intel_dp_init(struct drm_device *dev, int dp_reg); | 142 | extern void intel_dp_init(struct drm_device *dev, int dp_reg); |
119 | void | 143 | void |