aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_drv.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h24
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
91struct intel_crtc { 111struct 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);
114extern bool intel_sdvo_init(struct drm_device *dev, int output_device); 137extern bool intel_sdvo_init(struct drm_device *dev, int output_device);
115extern void intel_dvo_init(struct drm_device *dev); 138extern void intel_dvo_init(struct drm_device *dev);
116extern void intel_tv_init(struct drm_device *dev); 139extern void intel_tv_init(struct drm_device *dev);
140extern void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj);
117extern void intel_lvds_init(struct drm_device *dev); 141extern void intel_lvds_init(struct drm_device *dev);
118extern void intel_dp_init(struct drm_device *dev, int dp_reg); 142extern void intel_dp_init(struct drm_device *dev, int dp_reg);
119void 143void