diff options
Diffstat (limited to 'drivers/gpu/drm/gma500/psb_intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/gma500/psb_intel_drv.h | 44 |
1 files changed, 19 insertions, 25 deletions
diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h index 4dcae421a58d..bde27fdb41bf 100644 --- a/drivers/gpu/drm/gma500/psb_intel_drv.h +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <drm/drm_crtc.h> | 24 | #include <drm/drm_crtc.h> |
25 | #include <drm/drm_crtc_helper.h> | 25 | #include <drm/drm_crtc_helper.h> |
26 | #include <linux/gpio.h> | 26 | #include <linux/gpio.h> |
27 | #include "gma_display.h" | ||
27 | 28 | ||
28 | /* | 29 | /* |
29 | * Display related stuff | 30 | * Display related stuff |
@@ -116,11 +117,11 @@ struct psb_intel_i2c_chan { | |||
116 | u8 slave_addr; | 117 | u8 slave_addr; |
117 | }; | 118 | }; |
118 | 119 | ||
119 | struct psb_intel_encoder { | 120 | struct gma_encoder { |
120 | struct drm_encoder base; | 121 | struct drm_encoder base; |
121 | int type; | 122 | int type; |
122 | bool needs_tv_clock; | 123 | bool needs_tv_clock; |
123 | void (*hot_plug)(struct psb_intel_encoder *); | 124 | void (*hot_plug)(struct gma_encoder *); |
124 | int crtc_mask; | 125 | int crtc_mask; |
125 | int clone_mask; | 126 | int clone_mask; |
126 | u32 ddi_select; /* Channel info */ | 127 | u32 ddi_select; /* Channel info */ |
@@ -136,9 +137,9 @@ struct psb_intel_encoder { | |||
136 | struct psb_intel_i2c_chan *ddc_bus; | 137 | struct psb_intel_i2c_chan *ddc_bus; |
137 | }; | 138 | }; |
138 | 139 | ||
139 | struct psb_intel_connector { | 140 | struct gma_connector { |
140 | struct drm_connector base; | 141 | struct drm_connector base; |
141 | struct psb_intel_encoder *encoder; | 142 | struct gma_encoder *encoder; |
142 | }; | 143 | }; |
143 | 144 | ||
144 | struct psb_intel_crtc_state { | 145 | struct psb_intel_crtc_state { |
@@ -161,7 +162,7 @@ struct psb_intel_crtc_state { | |||
161 | uint32_t savePalette[256]; | 162 | uint32_t savePalette[256]; |
162 | }; | 163 | }; |
163 | 164 | ||
164 | struct psb_intel_crtc { | 165 | struct gma_crtc { |
165 | struct drm_crtc base; | 166 | struct drm_crtc base; |
166 | int pipe; | 167 | int pipe; |
167 | int plane; | 168 | int plane; |
@@ -188,14 +189,16 @@ struct psb_intel_crtc { | |||
188 | 189 | ||
189 | /* Saved Crtc HW states */ | 190 | /* Saved Crtc HW states */ |
190 | struct psb_intel_crtc_state *crtc_state; | 191 | struct psb_intel_crtc_state *crtc_state; |
192 | |||
193 | const struct gma_clock_funcs *clock_funcs; | ||
191 | }; | 194 | }; |
192 | 195 | ||
193 | #define to_psb_intel_crtc(x) \ | 196 | #define to_gma_crtc(x) \ |
194 | container_of(x, struct psb_intel_crtc, base) | 197 | container_of(x, struct gma_crtc, base) |
195 | #define to_psb_intel_connector(x) \ | 198 | #define to_gma_connector(x) \ |
196 | container_of(x, struct psb_intel_connector, base) | 199 | container_of(x, struct gma_connector, base) |
197 | #define to_psb_intel_encoder(x) \ | 200 | #define to_gma_encoder(x) \ |
198 | container_of(x, struct psb_intel_encoder, base) | 201 | container_of(x, struct gma_encoder, base) |
199 | #define to_psb_intel_framebuffer(x) \ | 202 | #define to_psb_intel_framebuffer(x) \ |
200 | container_of(x, struct psb_intel_framebuffer, base) | 203 | container_of(x, struct psb_intel_framebuffer, base) |
201 | 204 | ||
@@ -223,27 +226,18 @@ extern void oaktrail_dsi_init(struct drm_device *dev, | |||
223 | extern void mid_dsi_init(struct drm_device *dev, | 226 | extern void mid_dsi_init(struct drm_device *dev, |
224 | struct psb_intel_mode_device *mode_dev, int dsi_num); | 227 | struct psb_intel_mode_device *mode_dev, int dsi_num); |
225 | 228 | ||
226 | extern void psb_intel_crtc_load_lut(struct drm_crtc *crtc); | 229 | extern struct drm_encoder *gma_best_encoder(struct drm_connector *connector); |
227 | extern void psb_intel_encoder_prepare(struct drm_encoder *encoder); | 230 | extern void gma_connector_attach_encoder(struct gma_connector *connector, |
228 | extern void psb_intel_encoder_commit(struct drm_encoder *encoder); | 231 | struct gma_encoder *encoder); |
229 | extern void psb_intel_encoder_destroy(struct drm_encoder *encoder); | ||
230 | 232 | ||
231 | static inline struct psb_intel_encoder *psb_intel_attached_encoder( | 233 | static inline struct gma_encoder *gma_attached_encoder( |
232 | struct drm_connector *connector) | 234 | struct drm_connector *connector) |
233 | { | 235 | { |
234 | return to_psb_intel_connector(connector)->encoder; | 236 | return to_gma_connector(connector)->encoder; |
235 | } | 237 | } |
236 | 238 | ||
237 | extern void psb_intel_connector_attach_encoder( | ||
238 | struct psb_intel_connector *connector, | ||
239 | struct psb_intel_encoder *encoder); | ||
240 | |||
241 | extern struct drm_encoder *psb_intel_best_encoder(struct drm_connector | ||
242 | *connector); | ||
243 | |||
244 | extern struct drm_display_mode *psb_intel_crtc_mode_get(struct drm_device *dev, | 239 | extern struct drm_display_mode *psb_intel_crtc_mode_get(struct drm_device *dev, |
245 | struct drm_crtc *crtc); | 240 | struct drm_crtc *crtc); |
246 | extern void psb_intel_wait_for_vblank(struct drm_device *dev); | ||
247 | extern int psb_intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, | 241 | extern int psb_intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, |
248 | struct drm_file *file_priv); | 242 | struct drm_file *file_priv); |
249 | extern struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, | 243 | extern struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, |