diff options
author | Patrik Jakobsson <patrik.r.jakobsson@gmail.com> | 2013-07-22 11:45:26 -0400 |
---|---|---|
committer | Patrik Jakobsson <patrik.r.jakobsson@gmail.com> | 2013-07-23 19:49:43 -0400 |
commit | 367e44080e20f77fa7b0f2db83fd6367da59b6c3 (patch) | |
tree | e6c0d73aae2a3b25c8c2a1327d178109243f45cd | |
parent | a3d5d75f694396aa574c4dadbd6008e2cc9a2bbb (diff) |
drm/gma500: Rename psb_intel_encoder to gma_encoder
The psb_intel_encoder is generic and should be named appropriately
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
-rw-r--r-- | drivers/gpu/drm/gma500/cdv_intel_crt.c | 31 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/cdv_intel_display.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/cdv_intel_dp.c | 130 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 66 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/cdv_intel_lvds.c | 50 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/framebuffer.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/gma_display.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/mdfld_dsi_output.h | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/mdfld_intel_display.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/oaktrail_crtc.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/oaktrail_hdmi.c | 14 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/oaktrail_lvds.c | 37 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/psb_drv.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/psb_intel_display.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/psb_intel_drv.h | 14 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/psb_intel_lvds.c | 49 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/psb_intel_sdvo.c | 20 |
17 files changed, 226 insertions, 255 deletions
diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c index b2661f3a3047..661af492173d 100644 --- a/drivers/gpu/drm/gma500/cdv_intel_crt.c +++ b/drivers/gpu/drm/gma500/cdv_intel_crt.c | |||
@@ -196,10 +196,9 @@ static enum drm_connector_status cdv_intel_crt_detect( | |||
196 | 196 | ||
197 | static void cdv_intel_crt_destroy(struct drm_connector *connector) | 197 | static void cdv_intel_crt_destroy(struct drm_connector *connector) |
198 | { | 198 | { |
199 | struct psb_intel_encoder *psb_intel_encoder = | 199 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
200 | gma_attached_encoder(connector); | ||
201 | 200 | ||
202 | psb_intel_i2c_destroy(psb_intel_encoder->ddc_bus); | 201 | psb_intel_i2c_destroy(gma_encoder->ddc_bus); |
203 | drm_sysfs_connector_remove(connector); | 202 | drm_sysfs_connector_remove(connector); |
204 | drm_connector_cleanup(connector); | 203 | drm_connector_cleanup(connector); |
205 | kfree(connector); | 204 | kfree(connector); |
@@ -207,9 +206,9 @@ static void cdv_intel_crt_destroy(struct drm_connector *connector) | |||
207 | 206 | ||
208 | static int cdv_intel_crt_get_modes(struct drm_connector *connector) | 207 | static int cdv_intel_crt_get_modes(struct drm_connector *connector) |
209 | { | 208 | { |
210 | struct psb_intel_encoder *psb_intel_encoder = | 209 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
211 | gma_attached_encoder(connector); | 210 | return psb_intel_ddc_get_modes(connector, |
212 | return psb_intel_ddc_get_modes(connector, &psb_intel_encoder->ddc_bus->adapter); | 211 | &gma_encoder->ddc_bus->adapter); |
213 | } | 212 | } |
214 | 213 | ||
215 | static int cdv_intel_crt_set_property(struct drm_connector *connector, | 214 | static int cdv_intel_crt_set_property(struct drm_connector *connector, |
@@ -260,14 +259,14 @@ void cdv_intel_crt_init(struct drm_device *dev, | |||
260 | { | 259 | { |
261 | 260 | ||
262 | struct gma_connector *gma_connector; | 261 | struct gma_connector *gma_connector; |
263 | struct psb_intel_encoder *psb_intel_encoder; | 262 | struct gma_encoder *gma_encoder; |
264 | struct drm_connector *connector; | 263 | struct drm_connector *connector; |
265 | struct drm_encoder *encoder; | 264 | struct drm_encoder *encoder; |
266 | 265 | ||
267 | u32 i2c_reg; | 266 | u32 i2c_reg; |
268 | 267 | ||
269 | psb_intel_encoder = kzalloc(sizeof(struct psb_intel_encoder), GFP_KERNEL); | 268 | gma_encoder = kzalloc(sizeof(struct gma_encoder), GFP_KERNEL); |
270 | if (!psb_intel_encoder) | 269 | if (!gma_encoder) |
271 | return; | 270 | return; |
272 | 271 | ||
273 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); | 272 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); |
@@ -279,11 +278,11 @@ void cdv_intel_crt_init(struct drm_device *dev, | |||
279 | drm_connector_init(dev, connector, | 278 | drm_connector_init(dev, connector, |
280 | &cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA); | 279 | &cdv_intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA); |
281 | 280 | ||
282 | encoder = &psb_intel_encoder->base; | 281 | encoder = &gma_encoder->base; |
283 | drm_encoder_init(dev, encoder, | 282 | drm_encoder_init(dev, encoder, |
284 | &cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC); | 283 | &cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC); |
285 | 284 | ||
286 | gma_connector_attach_encoder(gma_connector, psb_intel_encoder); | 285 | gma_connector_attach_encoder(gma_connector, gma_encoder); |
287 | 286 | ||
288 | /* Set up the DDC bus. */ | 287 | /* Set up the DDC bus. */ |
289 | i2c_reg = GPIOA; | 288 | i2c_reg = GPIOA; |
@@ -292,15 +291,15 @@ void cdv_intel_crt_init(struct drm_device *dev, | |||
292 | if (dev_priv->crt_ddc_bus != 0) | 291 | if (dev_priv->crt_ddc_bus != 0) |
293 | i2c_reg = dev_priv->crt_ddc_bus; | 292 | i2c_reg = dev_priv->crt_ddc_bus; |
294 | }*/ | 293 | }*/ |
295 | psb_intel_encoder->ddc_bus = psb_intel_i2c_create(dev, | 294 | gma_encoder->ddc_bus = psb_intel_i2c_create(dev, |
296 | i2c_reg, "CRTDDC_A"); | 295 | i2c_reg, "CRTDDC_A"); |
297 | if (!psb_intel_encoder->ddc_bus) { | 296 | if (!gma_encoder->ddc_bus) { |
298 | dev_printk(KERN_ERR, &dev->pdev->dev, "DDC bus registration " | 297 | dev_printk(KERN_ERR, &dev->pdev->dev, "DDC bus registration " |
299 | "failed.\n"); | 298 | "failed.\n"); |
300 | goto failed_ddc; | 299 | goto failed_ddc; |
301 | } | 300 | } |
302 | 301 | ||
303 | psb_intel_encoder->type = INTEL_OUTPUT_ANALOG; | 302 | gma_encoder->type = INTEL_OUTPUT_ANALOG; |
304 | /* | 303 | /* |
305 | psb_intel_output->clone_mask = (1 << INTEL_ANALOG_CLONE_BIT); | 304 | psb_intel_output->clone_mask = (1 << INTEL_ANALOG_CLONE_BIT); |
306 | psb_intel_output->crtc_mask = (1 << 0) | (1 << 1); | 305 | psb_intel_output->crtc_mask = (1 << 0) | (1 << 1); |
@@ -316,10 +315,10 @@ void cdv_intel_crt_init(struct drm_device *dev, | |||
316 | 315 | ||
317 | return; | 316 | return; |
318 | failed_ddc: | 317 | failed_ddc: |
319 | drm_encoder_cleanup(&psb_intel_encoder->base); | 318 | drm_encoder_cleanup(&gma_encoder->base); |
320 | drm_connector_cleanup(&gma_connector->base); | 319 | drm_connector_cleanup(&gma_connector->base); |
321 | kfree(gma_connector); | 320 | kfree(gma_connector); |
322 | failed_connector: | 321 | failed_connector: |
323 | kfree(psb_intel_encoder); | 322 | kfree(gma_encoder); |
324 | return; | 323 | return; |
325 | } | 324 | } |
diff --git a/drivers/gpu/drm/gma500/cdv_intel_display.c b/drivers/gpu/drm/gma500/cdv_intel_display.c index e18c3b9fd07f..ee8a502348ce 100644 --- a/drivers/gpu/drm/gma500/cdv_intel_display.c +++ b/drivers/gpu/drm/gma500/cdv_intel_display.c | |||
@@ -497,14 +497,14 @@ static bool is_pipeb_lvds(struct drm_device *dev, struct drm_crtc *crtc) | |||
497 | return false; | 497 | return false; |
498 | 498 | ||
499 | list_for_each_entry(connector, &mode_config->connector_list, head) { | 499 | list_for_each_entry(connector, &mode_config->connector_list, head) { |
500 | struct psb_intel_encoder *psb_intel_encoder = | 500 | struct gma_encoder *gma_encoder = |
501 | gma_attached_encoder(connector); | 501 | gma_attached_encoder(connector); |
502 | 502 | ||
503 | if (!connector->encoder | 503 | if (!connector->encoder |
504 | || connector->encoder->crtc != crtc) | 504 | || connector->encoder->crtc != crtc) |
505 | continue; | 505 | continue; |
506 | 506 | ||
507 | if (psb_intel_encoder->type == INTEL_OUTPUT_LVDS) | 507 | if (gma_encoder->type == INTEL_OUTPUT_LVDS) |
508 | return true; | 508 | return true; |
509 | } | 509 | } |
510 | 510 | ||
@@ -632,15 +632,15 @@ static int cdv_intel_crtc_mode_set(struct drm_crtc *crtc, | |||
632 | bool is_edp = false; | 632 | bool is_edp = false; |
633 | 633 | ||
634 | list_for_each_entry(connector, &mode_config->connector_list, head) { | 634 | list_for_each_entry(connector, &mode_config->connector_list, head) { |
635 | struct psb_intel_encoder *psb_intel_encoder = | 635 | struct gma_encoder *gma_encoder = |
636 | gma_attached_encoder(connector); | 636 | gma_attached_encoder(connector); |
637 | 637 | ||
638 | if (!connector->encoder | 638 | if (!connector->encoder |
639 | || connector->encoder->crtc != crtc) | 639 | || connector->encoder->crtc != crtc) |
640 | continue; | 640 | continue; |
641 | 641 | ||
642 | ddi_select = psb_intel_encoder->ddi_select; | 642 | ddi_select = gma_encoder->ddi_select; |
643 | switch (psb_intel_encoder->type) { | 643 | switch (gma_encoder->type) { |
644 | case INTEL_OUTPUT_LVDS: | 644 | case INTEL_OUTPUT_LVDS: |
645 | is_lvds = true; | 645 | is_lvds = true; |
646 | break; | 646 | break; |
diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c index 55de663c50b5..f4eb43573cad 100644 --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c | |||
@@ -69,7 +69,7 @@ struct cdv_intel_dp { | |||
69 | uint8_t link_bw; | 69 | uint8_t link_bw; |
70 | uint8_t lane_count; | 70 | uint8_t lane_count; |
71 | uint8_t dpcd[4]; | 71 | uint8_t dpcd[4]; |
72 | struct psb_intel_encoder *encoder; | 72 | struct gma_encoder *encoder; |
73 | struct i2c_adapter adapter; | 73 | struct i2c_adapter adapter; |
74 | struct i2c_algo_dp_aux_data algo; | 74 | struct i2c_algo_dp_aux_data algo; |
75 | uint8_t train_set[4]; | 75 | uint8_t train_set[4]; |
@@ -115,18 +115,18 @@ static uint32_t dp_vswing_premph_table[] = { | |||
115 | * If a CPU or PCH DP output is attached to an eDP panel, this function | 115 | * If a CPU or PCH DP output is attached to an eDP panel, this function |
116 | * will return true, and false otherwise. | 116 | * will return true, and false otherwise. |
117 | */ | 117 | */ |
118 | static bool is_edp(struct psb_intel_encoder *encoder) | 118 | static bool is_edp(struct gma_encoder *encoder) |
119 | { | 119 | { |
120 | return encoder->type == INTEL_OUTPUT_EDP; | 120 | return encoder->type == INTEL_OUTPUT_EDP; |
121 | } | 121 | } |
122 | 122 | ||
123 | 123 | ||
124 | static void cdv_intel_dp_start_link_train(struct psb_intel_encoder *encoder); | 124 | static void cdv_intel_dp_start_link_train(struct gma_encoder *encoder); |
125 | static void cdv_intel_dp_complete_link_train(struct psb_intel_encoder *encoder); | 125 | static void cdv_intel_dp_complete_link_train(struct gma_encoder *encoder); |
126 | static void cdv_intel_dp_link_down(struct psb_intel_encoder *encoder); | 126 | static void cdv_intel_dp_link_down(struct gma_encoder *encoder); |
127 | 127 | ||
128 | static int | 128 | static int |
129 | cdv_intel_dp_max_lane_count(struct psb_intel_encoder *encoder) | 129 | cdv_intel_dp_max_lane_count(struct gma_encoder *encoder) |
130 | { | 130 | { |
131 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 131 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
132 | int max_lane_count = 4; | 132 | int max_lane_count = 4; |
@@ -144,7 +144,7 @@ cdv_intel_dp_max_lane_count(struct psb_intel_encoder *encoder) | |||
144 | } | 144 | } |
145 | 145 | ||
146 | static int | 146 | static int |
147 | cdv_intel_dp_max_link_bw(struct psb_intel_encoder *encoder) | 147 | cdv_intel_dp_max_link_bw(struct gma_encoder *encoder) |
148 | { | 148 | { |
149 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 149 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
150 | int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE]; | 150 | int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE]; |
@@ -181,7 +181,7 @@ cdv_intel_dp_max_data_rate(int max_link_clock, int max_lanes) | |||
181 | return (max_link_clock * max_lanes * 19) / 20; | 181 | return (max_link_clock * max_lanes * 19) / 20; |
182 | } | 182 | } |
183 | 183 | ||
184 | static void cdv_intel_edp_panel_vdd_on(struct psb_intel_encoder *intel_encoder) | 184 | static void cdv_intel_edp_panel_vdd_on(struct gma_encoder *intel_encoder) |
185 | { | 185 | { |
186 | struct drm_device *dev = intel_encoder->base.dev; | 186 | struct drm_device *dev = intel_encoder->base.dev; |
187 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; | 187 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; |
@@ -201,7 +201,7 @@ static void cdv_intel_edp_panel_vdd_on(struct psb_intel_encoder *intel_encoder) | |||
201 | msleep(intel_dp->panel_power_up_delay); | 201 | msleep(intel_dp->panel_power_up_delay); |
202 | } | 202 | } |
203 | 203 | ||
204 | static void cdv_intel_edp_panel_vdd_off(struct psb_intel_encoder *intel_encoder) | 204 | static void cdv_intel_edp_panel_vdd_off(struct gma_encoder *intel_encoder) |
205 | { | 205 | { |
206 | struct drm_device *dev = intel_encoder->base.dev; | 206 | struct drm_device *dev = intel_encoder->base.dev; |
207 | u32 pp; | 207 | u32 pp; |
@@ -216,7 +216,7 @@ static void cdv_intel_edp_panel_vdd_off(struct psb_intel_encoder *intel_encoder) | |||
216 | } | 216 | } |
217 | 217 | ||
218 | /* Returns true if the panel was already on when called */ | 218 | /* Returns true if the panel was already on when called */ |
219 | static bool cdv_intel_edp_panel_on(struct psb_intel_encoder *intel_encoder) | 219 | static bool cdv_intel_edp_panel_on(struct gma_encoder *intel_encoder) |
220 | { | 220 | { |
221 | struct drm_device *dev = intel_encoder->base.dev; | 221 | struct drm_device *dev = intel_encoder->base.dev; |
222 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; | 222 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; |
@@ -243,7 +243,7 @@ static bool cdv_intel_edp_panel_on(struct psb_intel_encoder *intel_encoder) | |||
243 | return false; | 243 | return false; |
244 | } | 244 | } |
245 | 245 | ||
246 | static void cdv_intel_edp_panel_off (struct psb_intel_encoder *intel_encoder) | 246 | static void cdv_intel_edp_panel_off (struct gma_encoder *intel_encoder) |
247 | { | 247 | { |
248 | struct drm_device *dev = intel_encoder->base.dev; | 248 | struct drm_device *dev = intel_encoder->base.dev; |
249 | u32 pp, idle_off_mask = PP_ON ; | 249 | u32 pp, idle_off_mask = PP_ON ; |
@@ -275,7 +275,7 @@ static void cdv_intel_edp_panel_off (struct psb_intel_encoder *intel_encoder) | |||
275 | DRM_DEBUG_KMS("Over\n"); | 275 | DRM_DEBUG_KMS("Over\n"); |
276 | } | 276 | } |
277 | 277 | ||
278 | static void cdv_intel_edp_backlight_on (struct psb_intel_encoder *intel_encoder) | 278 | static void cdv_intel_edp_backlight_on (struct gma_encoder *intel_encoder) |
279 | { | 279 | { |
280 | struct drm_device *dev = intel_encoder->base.dev; | 280 | struct drm_device *dev = intel_encoder->base.dev; |
281 | u32 pp; | 281 | u32 pp; |
@@ -295,7 +295,7 @@ static void cdv_intel_edp_backlight_on (struct psb_intel_encoder *intel_encoder) | |||
295 | gma_backlight_enable(dev); | 295 | gma_backlight_enable(dev); |
296 | } | 296 | } |
297 | 297 | ||
298 | static void cdv_intel_edp_backlight_off (struct psb_intel_encoder *intel_encoder) | 298 | static void cdv_intel_edp_backlight_off (struct gma_encoder *intel_encoder) |
299 | { | 299 | { |
300 | struct drm_device *dev = intel_encoder->base.dev; | 300 | struct drm_device *dev = intel_encoder->base.dev; |
301 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; | 301 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; |
@@ -315,7 +315,7 @@ static int | |||
315 | cdv_intel_dp_mode_valid(struct drm_connector *connector, | 315 | cdv_intel_dp_mode_valid(struct drm_connector *connector, |
316 | struct drm_display_mode *mode) | 316 | struct drm_display_mode *mode) |
317 | { | 317 | { |
318 | struct psb_intel_encoder *encoder = gma_attached_encoder(connector); | 318 | struct gma_encoder *encoder = gma_attached_encoder(connector); |
319 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 319 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
320 | int max_link_clock = cdv_intel_dp_link_clock(cdv_intel_dp_max_link_bw(encoder)); | 320 | int max_link_clock = cdv_intel_dp_link_clock(cdv_intel_dp_max_link_bw(encoder)); |
321 | int max_lanes = cdv_intel_dp_max_lane_count(encoder); | 321 | int max_lanes = cdv_intel_dp_max_lane_count(encoder); |
@@ -371,7 +371,7 @@ unpack_aux(uint32_t src, uint8_t *dst, int dst_bytes) | |||
371 | } | 371 | } |
372 | 372 | ||
373 | static int | 373 | static int |
374 | cdv_intel_dp_aux_ch(struct psb_intel_encoder *encoder, | 374 | cdv_intel_dp_aux_ch(struct gma_encoder *encoder, |
375 | uint8_t *send, int send_bytes, | 375 | uint8_t *send, int send_bytes, |
376 | uint8_t *recv, int recv_size) | 376 | uint8_t *recv, int recv_size) |
377 | { | 377 | { |
@@ -473,7 +473,7 @@ cdv_intel_dp_aux_ch(struct psb_intel_encoder *encoder, | |||
473 | 473 | ||
474 | /* Write data to the aux channel in native mode */ | 474 | /* Write data to the aux channel in native mode */ |
475 | static int | 475 | static int |
476 | cdv_intel_dp_aux_native_write(struct psb_intel_encoder *encoder, | 476 | cdv_intel_dp_aux_native_write(struct gma_encoder *encoder, |
477 | uint16_t address, uint8_t *send, int send_bytes) | 477 | uint16_t address, uint8_t *send, int send_bytes) |
478 | { | 478 | { |
479 | int ret; | 479 | int ret; |
@@ -505,7 +505,7 @@ cdv_intel_dp_aux_native_write(struct psb_intel_encoder *encoder, | |||
505 | 505 | ||
506 | /* Write a single byte to the aux channel in native mode */ | 506 | /* Write a single byte to the aux channel in native mode */ |
507 | static int | 507 | static int |
508 | cdv_intel_dp_aux_native_write_1(struct psb_intel_encoder *encoder, | 508 | cdv_intel_dp_aux_native_write_1(struct gma_encoder *encoder, |
509 | uint16_t address, uint8_t byte) | 509 | uint16_t address, uint8_t byte) |
510 | { | 510 | { |
511 | return cdv_intel_dp_aux_native_write(encoder, address, &byte, 1); | 511 | return cdv_intel_dp_aux_native_write(encoder, address, &byte, 1); |
@@ -513,7 +513,7 @@ cdv_intel_dp_aux_native_write_1(struct psb_intel_encoder *encoder, | |||
513 | 513 | ||
514 | /* read bytes from a native aux channel */ | 514 | /* read bytes from a native aux channel */ |
515 | static int | 515 | static int |
516 | cdv_intel_dp_aux_native_read(struct psb_intel_encoder *encoder, | 516 | cdv_intel_dp_aux_native_read(struct gma_encoder *encoder, |
517 | uint16_t address, uint8_t *recv, int recv_bytes) | 517 | uint16_t address, uint8_t *recv, int recv_bytes) |
518 | { | 518 | { |
519 | uint8_t msg[4]; | 519 | uint8_t msg[4]; |
@@ -558,7 +558,7 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
558 | struct cdv_intel_dp *intel_dp = container_of(adapter, | 558 | struct cdv_intel_dp *intel_dp = container_of(adapter, |
559 | struct cdv_intel_dp, | 559 | struct cdv_intel_dp, |
560 | adapter); | 560 | adapter); |
561 | struct psb_intel_encoder *encoder = intel_dp->encoder; | 561 | struct gma_encoder *encoder = intel_dp->encoder; |
562 | uint16_t address = algo_data->address; | 562 | uint16_t address = algo_data->address; |
563 | uint8_t msg[5]; | 563 | uint8_t msg[5]; |
564 | uint8_t reply[2]; | 564 | uint8_t reply[2]; |
@@ -648,7 +648,8 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
648 | } | 648 | } |
649 | 649 | ||
650 | static int | 650 | static int |
651 | cdv_intel_dp_i2c_init(struct gma_connector *connector, struct psb_intel_encoder *encoder, const char *name) | 651 | cdv_intel_dp_i2c_init(struct gma_connector *connector, |
652 | struct gma_encoder *encoder, const char *name) | ||
652 | { | 653 | { |
653 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 654 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
654 | int ret; | 655 | int ret; |
@@ -699,7 +700,7 @@ cdv_intel_dp_mode_fixup(struct drm_encoder *encoder, const struct drm_display_mo | |||
699 | struct drm_display_mode *adjusted_mode) | 700 | struct drm_display_mode *adjusted_mode) |
700 | { | 701 | { |
701 | struct drm_psb_private *dev_priv = encoder->dev->dev_private; | 702 | struct drm_psb_private *dev_priv = encoder->dev->dev_private; |
702 | struct psb_intel_encoder *intel_encoder = to_psb_intel_encoder(encoder); | 703 | struct gma_encoder *intel_encoder = to_gma_encoder(encoder); |
703 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; | 704 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; |
704 | int lane_count, clock; | 705 | int lane_count, clock; |
705 | int max_lane_count = cdv_intel_dp_max_lane_count(intel_encoder); | 706 | int max_lane_count = cdv_intel_dp_max_lane_count(intel_encoder); |
@@ -802,13 +803,13 @@ cdv_intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, | |||
802 | * Find the lane count in the intel_encoder private | 803 | * Find the lane count in the intel_encoder private |
803 | */ | 804 | */ |
804 | list_for_each_entry(encoder, &mode_config->encoder_list, head) { | 805 | list_for_each_entry(encoder, &mode_config->encoder_list, head) { |
805 | struct psb_intel_encoder *intel_encoder; | 806 | struct gma_encoder *intel_encoder; |
806 | struct cdv_intel_dp *intel_dp; | 807 | struct cdv_intel_dp *intel_dp; |
807 | 808 | ||
808 | if (encoder->crtc != crtc) | 809 | if (encoder->crtc != crtc) |
809 | continue; | 810 | continue; |
810 | 811 | ||
811 | intel_encoder = to_psb_intel_encoder(encoder); | 812 | intel_encoder = to_gma_encoder(encoder); |
812 | intel_dp = intel_encoder->dev_priv; | 813 | intel_dp = intel_encoder->dev_priv; |
813 | if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT) { | 814 | if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT) { |
814 | lane_count = intel_dp->lane_count; | 815 | lane_count = intel_dp->lane_count; |
@@ -842,7 +843,7 @@ static void | |||
842 | cdv_intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, | 843 | cdv_intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, |
843 | struct drm_display_mode *adjusted_mode) | 844 | struct drm_display_mode *adjusted_mode) |
844 | { | 845 | { |
845 | struct psb_intel_encoder *intel_encoder = to_psb_intel_encoder(encoder); | 846 | struct gma_encoder *intel_encoder = to_gma_encoder(encoder); |
846 | struct drm_crtc *crtc = encoder->crtc; | 847 | struct drm_crtc *crtc = encoder->crtc; |
847 | struct gma_crtc *gma_crtc = to_gma_crtc(crtc); | 848 | struct gma_crtc *gma_crtc = to_gma_crtc(crtc); |
848 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; | 849 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; |
@@ -909,7 +910,7 @@ cdv_intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode | |||
909 | 910 | ||
910 | 911 | ||
911 | /* If the sink supports it, try to set the power state appropriately */ | 912 | /* If the sink supports it, try to set the power state appropriately */ |
912 | static void cdv_intel_dp_sink_dpms(struct psb_intel_encoder *encoder, int mode) | 913 | static void cdv_intel_dp_sink_dpms(struct gma_encoder *encoder, int mode) |
913 | { | 914 | { |
914 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 915 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
915 | int ret, i; | 916 | int ret, i; |
@@ -941,7 +942,7 @@ static void cdv_intel_dp_sink_dpms(struct psb_intel_encoder *encoder, int mode) | |||
941 | 942 | ||
942 | static void cdv_intel_dp_prepare(struct drm_encoder *encoder) | 943 | static void cdv_intel_dp_prepare(struct drm_encoder *encoder) |
943 | { | 944 | { |
944 | struct psb_intel_encoder *intel_encoder = to_psb_intel_encoder(encoder); | 945 | struct gma_encoder *intel_encoder = to_gma_encoder(encoder); |
945 | int edp = is_edp(intel_encoder); | 946 | int edp = is_edp(intel_encoder); |
946 | 947 | ||
947 | if (edp) { | 948 | if (edp) { |
@@ -958,7 +959,7 @@ static void cdv_intel_dp_prepare(struct drm_encoder *encoder) | |||
958 | 959 | ||
959 | static void cdv_intel_dp_commit(struct drm_encoder *encoder) | 960 | static void cdv_intel_dp_commit(struct drm_encoder *encoder) |
960 | { | 961 | { |
961 | struct psb_intel_encoder *intel_encoder = to_psb_intel_encoder(encoder); | 962 | struct gma_encoder *intel_encoder = to_gma_encoder(encoder); |
962 | int edp = is_edp(intel_encoder); | 963 | int edp = is_edp(intel_encoder); |
963 | 964 | ||
964 | if (edp) | 965 | if (edp) |
@@ -972,7 +973,7 @@ static void cdv_intel_dp_commit(struct drm_encoder *encoder) | |||
972 | static void | 973 | static void |
973 | cdv_intel_dp_dpms(struct drm_encoder *encoder, int mode) | 974 | cdv_intel_dp_dpms(struct drm_encoder *encoder, int mode) |
974 | { | 975 | { |
975 | struct psb_intel_encoder *intel_encoder = to_psb_intel_encoder(encoder); | 976 | struct gma_encoder *intel_encoder = to_gma_encoder(encoder); |
976 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; | 977 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; |
977 | struct drm_device *dev = encoder->dev; | 978 | struct drm_device *dev = encoder->dev; |
978 | uint32_t dp_reg = REG_READ(intel_dp->output_reg); | 979 | uint32_t dp_reg = REG_READ(intel_dp->output_reg); |
@@ -1007,7 +1008,7 @@ cdv_intel_dp_dpms(struct drm_encoder *encoder, int mode) | |||
1007 | * cases where the sink may still be asleep. | 1008 | * cases where the sink may still be asleep. |
1008 | */ | 1009 | */ |
1009 | static bool | 1010 | static bool |
1010 | cdv_intel_dp_aux_native_read_retry(struct psb_intel_encoder *encoder, uint16_t address, | 1011 | cdv_intel_dp_aux_native_read_retry(struct gma_encoder *encoder, uint16_t address, |
1011 | uint8_t *recv, int recv_bytes) | 1012 | uint8_t *recv, int recv_bytes) |
1012 | { | 1013 | { |
1013 | int ret, i; | 1014 | int ret, i; |
@@ -1032,7 +1033,7 @@ cdv_intel_dp_aux_native_read_retry(struct psb_intel_encoder *encoder, uint16_t a | |||
1032 | * link status information | 1033 | * link status information |
1033 | */ | 1034 | */ |
1034 | static bool | 1035 | static bool |
1035 | cdv_intel_dp_get_link_status(struct psb_intel_encoder *encoder) | 1036 | cdv_intel_dp_get_link_status(struct gma_encoder *encoder) |
1036 | { | 1037 | { |
1037 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1038 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
1038 | return cdv_intel_dp_aux_native_read_retry(encoder, | 1039 | return cdv_intel_dp_aux_native_read_retry(encoder, |
@@ -1106,7 +1107,7 @@ cdv_intel_dp_pre_emphasis_max(uint8_t voltage_swing) | |||
1106 | } | 1107 | } |
1107 | */ | 1108 | */ |
1108 | static void | 1109 | static void |
1109 | cdv_intel_get_adjust_train(struct psb_intel_encoder *encoder) | 1110 | cdv_intel_get_adjust_train(struct gma_encoder *encoder) |
1110 | { | 1111 | { |
1111 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1112 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
1112 | uint8_t v = 0; | 1113 | uint8_t v = 0; |
@@ -1165,7 +1166,7 @@ cdv_intel_clock_recovery_ok(uint8_t link_status[DP_LINK_STATUS_SIZE], int lane_c | |||
1165 | DP_LANE_CHANNEL_EQ_DONE|\ | 1166 | DP_LANE_CHANNEL_EQ_DONE|\ |
1166 | DP_LANE_SYMBOL_LOCKED) | 1167 | DP_LANE_SYMBOL_LOCKED) |
1167 | static bool | 1168 | static bool |
1168 | cdv_intel_channel_eq_ok(struct psb_intel_encoder *encoder) | 1169 | cdv_intel_channel_eq_ok(struct gma_encoder *encoder) |
1169 | { | 1170 | { |
1170 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1171 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
1171 | uint8_t lane_align; | 1172 | uint8_t lane_align; |
@@ -1185,7 +1186,7 @@ cdv_intel_channel_eq_ok(struct psb_intel_encoder *encoder) | |||
1185 | } | 1186 | } |
1186 | 1187 | ||
1187 | static bool | 1188 | static bool |
1188 | cdv_intel_dp_set_link_train(struct psb_intel_encoder *encoder, | 1189 | cdv_intel_dp_set_link_train(struct gma_encoder *encoder, |
1189 | uint32_t dp_reg_value, | 1190 | uint32_t dp_reg_value, |
1190 | uint8_t dp_train_pat) | 1191 | uint8_t dp_train_pat) |
1191 | { | 1192 | { |
@@ -1212,7 +1213,7 @@ cdv_intel_dp_set_link_train(struct psb_intel_encoder *encoder, | |||
1212 | 1213 | ||
1213 | 1214 | ||
1214 | static bool | 1215 | static bool |
1215 | cdv_intel_dplink_set_level(struct psb_intel_encoder *encoder, | 1216 | cdv_intel_dplink_set_level(struct gma_encoder *encoder, |
1216 | uint8_t dp_train_pat) | 1217 | uint8_t dp_train_pat) |
1217 | { | 1218 | { |
1218 | 1219 | ||
@@ -1233,7 +1234,7 @@ cdv_intel_dplink_set_level(struct psb_intel_encoder *encoder, | |||
1233 | } | 1234 | } |
1234 | 1235 | ||
1235 | static void | 1236 | static void |
1236 | cdv_intel_dp_set_vswing_premph(struct psb_intel_encoder *encoder, uint8_t signal_level) | 1237 | cdv_intel_dp_set_vswing_premph(struct gma_encoder *encoder, uint8_t signal_level) |
1237 | { | 1238 | { |
1238 | struct drm_device *dev = encoder->base.dev; | 1239 | struct drm_device *dev = encoder->base.dev; |
1239 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1240 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
@@ -1299,7 +1300,7 @@ cdv_intel_dp_set_vswing_premph(struct psb_intel_encoder *encoder, uint8_t signal | |||
1299 | 1300 | ||
1300 | /* Enable corresponding port and start training pattern 1 */ | 1301 | /* Enable corresponding port and start training pattern 1 */ |
1301 | static void | 1302 | static void |
1302 | cdv_intel_dp_start_link_train(struct psb_intel_encoder *encoder) | 1303 | cdv_intel_dp_start_link_train(struct gma_encoder *encoder) |
1303 | { | 1304 | { |
1304 | struct drm_device *dev = encoder->base.dev; | 1305 | struct drm_device *dev = encoder->base.dev; |
1305 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1306 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
@@ -1393,7 +1394,7 @@ cdv_intel_dp_start_link_train(struct psb_intel_encoder *encoder) | |||
1393 | } | 1394 | } |
1394 | 1395 | ||
1395 | static void | 1396 | static void |
1396 | cdv_intel_dp_complete_link_train(struct psb_intel_encoder *encoder) | 1397 | cdv_intel_dp_complete_link_train(struct gma_encoder *encoder) |
1397 | { | 1398 | { |
1398 | struct drm_device *dev = encoder->base.dev; | 1399 | struct drm_device *dev = encoder->base.dev; |
1399 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1400 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
@@ -1479,7 +1480,7 @@ cdv_intel_dp_complete_link_train(struct psb_intel_encoder *encoder) | |||
1479 | } | 1480 | } |
1480 | 1481 | ||
1481 | static void | 1482 | static void |
1482 | cdv_intel_dp_link_down(struct psb_intel_encoder *encoder) | 1483 | cdv_intel_dp_link_down(struct gma_encoder *encoder) |
1483 | { | 1484 | { |
1484 | struct drm_device *dev = encoder->base.dev; | 1485 | struct drm_device *dev = encoder->base.dev; |
1485 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1486 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
@@ -1503,8 +1504,7 @@ cdv_intel_dp_link_down(struct psb_intel_encoder *encoder) | |||
1503 | REG_READ(intel_dp->output_reg); | 1504 | REG_READ(intel_dp->output_reg); |
1504 | } | 1505 | } |
1505 | 1506 | ||
1506 | static enum drm_connector_status | 1507 | static enum drm_connector_status cdv_dp_detect(struct gma_encoder *encoder) |
1507 | cdv_dp_detect(struct psb_intel_encoder *encoder) | ||
1508 | { | 1508 | { |
1509 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1509 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
1510 | enum drm_connector_status status; | 1510 | enum drm_connector_status status; |
@@ -1532,7 +1532,7 @@ cdv_dp_detect(struct psb_intel_encoder *encoder) | |||
1532 | static enum drm_connector_status | 1532 | static enum drm_connector_status |
1533 | cdv_intel_dp_detect(struct drm_connector *connector, bool force) | 1533 | cdv_intel_dp_detect(struct drm_connector *connector, bool force) |
1534 | { | 1534 | { |
1535 | struct psb_intel_encoder *encoder = gma_attached_encoder(connector); | 1535 | struct gma_encoder *encoder = gma_attached_encoder(connector); |
1536 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1536 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
1537 | enum drm_connector_status status; | 1537 | enum drm_connector_status status; |
1538 | struct edid *edid = NULL; | 1538 | struct edid *edid = NULL; |
@@ -1566,8 +1566,7 @@ cdv_intel_dp_detect(struct drm_connector *connector, bool force) | |||
1566 | 1566 | ||
1567 | static int cdv_intel_dp_get_modes(struct drm_connector *connector) | 1567 | static int cdv_intel_dp_get_modes(struct drm_connector *connector) |
1568 | { | 1568 | { |
1569 | struct psb_intel_encoder *intel_encoder = | 1569 | struct gma_encoder *intel_encoder = gma_attached_encoder(connector); |
1570 | gma_attached_encoder(connector); | ||
1571 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; | 1570 | struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; |
1572 | struct edid *edid = NULL; | 1571 | struct edid *edid = NULL; |
1573 | int ret = 0; | 1572 | int ret = 0; |
@@ -1623,7 +1622,7 @@ static int cdv_intel_dp_get_modes(struct drm_connector *connector) | |||
1623 | static bool | 1622 | static bool |
1624 | cdv_intel_dp_detect_audio(struct drm_connector *connector) | 1623 | cdv_intel_dp_detect_audio(struct drm_connector *connector) |
1625 | { | 1624 | { |
1626 | struct psb_intel_encoder *encoder = gma_attached_encoder(connector); | 1625 | struct gma_encoder *encoder = gma_attached_encoder(connector); |
1627 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1626 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
1628 | struct edid *edid; | 1627 | struct edid *edid; |
1629 | bool has_audio = false; | 1628 | bool has_audio = false; |
@@ -1649,7 +1648,7 @@ cdv_intel_dp_set_property(struct drm_connector *connector, | |||
1649 | uint64_t val) | 1648 | uint64_t val) |
1650 | { | 1649 | { |
1651 | struct drm_psb_private *dev_priv = connector->dev->dev_private; | 1650 | struct drm_psb_private *dev_priv = connector->dev->dev_private; |
1652 | struct psb_intel_encoder *encoder = gma_attached_encoder(connector); | 1651 | struct gma_encoder *encoder = gma_attached_encoder(connector); |
1653 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; | 1652 | struct cdv_intel_dp *intel_dp = encoder->dev_priv; |
1654 | int ret; | 1653 | int ret; |
1655 | 1654 | ||
@@ -1702,11 +1701,10 @@ done: | |||
1702 | static void | 1701 | static void |
1703 | cdv_intel_dp_destroy(struct drm_connector *connector) | 1702 | cdv_intel_dp_destroy(struct drm_connector *connector) |
1704 | { | 1703 | { |
1705 | struct psb_intel_encoder *psb_intel_encoder = | 1704 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
1706 | gma_attached_encoder(connector); | 1705 | struct cdv_intel_dp *intel_dp = gma_encoder->dev_priv; |
1707 | struct cdv_intel_dp *intel_dp = psb_intel_encoder->dev_priv; | ||
1708 | 1706 | ||
1709 | if (is_edp(psb_intel_encoder)) { | 1707 | if (is_edp(gma_encoder)) { |
1710 | /* cdv_intel_panel_destroy_backlight(connector->dev); */ | 1708 | /* cdv_intel_panel_destroy_backlight(connector->dev); */ |
1711 | if (intel_dp->panel_fixed_mode) { | 1709 | if (intel_dp->panel_fixed_mode) { |
1712 | kfree(intel_dp->panel_fixed_mode); | 1710 | kfree(intel_dp->panel_fixed_mode); |
@@ -1802,7 +1800,7 @@ static void cdv_disable_intel_clock_gating(struct drm_device *dev) | |||
1802 | void | 1800 | void |
1803 | cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev, int output_reg) | 1801 | cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev, int output_reg) |
1804 | { | 1802 | { |
1805 | struct psb_intel_encoder *psb_intel_encoder; | 1803 | struct gma_encoder *gma_encoder; |
1806 | struct gma_connector *gma_connector; | 1804 | struct gma_connector *gma_connector; |
1807 | struct drm_connector *connector; | 1805 | struct drm_connector *connector; |
1808 | struct drm_encoder *encoder; | 1806 | struct drm_encoder *encoder; |
@@ -1810,8 +1808,8 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev | |||
1810 | const char *name = NULL; | 1808 | const char *name = NULL; |
1811 | int type = DRM_MODE_CONNECTOR_DisplayPort; | 1809 | int type = DRM_MODE_CONNECTOR_DisplayPort; |
1812 | 1810 | ||
1813 | psb_intel_encoder = kzalloc(sizeof(struct psb_intel_encoder), GFP_KERNEL); | 1811 | gma_encoder = kzalloc(sizeof(struct gma_encoder), GFP_KERNEL); |
1814 | if (!psb_intel_encoder) | 1812 | if (!gma_encoder) |
1815 | return; | 1813 | return; |
1816 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); | 1814 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); |
1817 | if (!gma_connector) | 1815 | if (!gma_connector) |
@@ -1824,21 +1822,21 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev | |||
1824 | type = DRM_MODE_CONNECTOR_eDP; | 1822 | type = DRM_MODE_CONNECTOR_eDP; |
1825 | 1823 | ||
1826 | connector = &gma_connector->base; | 1824 | connector = &gma_connector->base; |
1827 | encoder = &psb_intel_encoder->base; | 1825 | encoder = &gma_encoder->base; |
1828 | 1826 | ||
1829 | drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type); | 1827 | drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type); |
1830 | drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs, DRM_MODE_ENCODER_TMDS); | 1828 | drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs, DRM_MODE_ENCODER_TMDS); |
1831 | 1829 | ||
1832 | gma_connector_attach_encoder(gma_connector, psb_intel_encoder); | 1830 | gma_connector_attach_encoder(gma_connector, gma_encoder); |
1833 | 1831 | ||
1834 | if (type == DRM_MODE_CONNECTOR_DisplayPort) | 1832 | if (type == DRM_MODE_CONNECTOR_DisplayPort) |
1835 | psb_intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT; | 1833 | gma_encoder->type = INTEL_OUTPUT_DISPLAYPORT; |
1836 | else | 1834 | else |
1837 | psb_intel_encoder->type = INTEL_OUTPUT_EDP; | 1835 | gma_encoder->type = INTEL_OUTPUT_EDP; |
1838 | 1836 | ||
1839 | 1837 | ||
1840 | psb_intel_encoder->dev_priv=intel_dp; | 1838 | gma_encoder->dev_priv=intel_dp; |
1841 | intel_dp->encoder = psb_intel_encoder; | 1839 | intel_dp->encoder = gma_encoder; |
1842 | intel_dp->output_reg = output_reg; | 1840 | intel_dp->output_reg = output_reg; |
1843 | 1841 | ||
1844 | drm_encoder_helper_add(encoder, &cdv_intel_dp_helper_funcs); | 1842 | drm_encoder_helper_add(encoder, &cdv_intel_dp_helper_funcs); |
@@ -1854,21 +1852,21 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev | |||
1854 | switch (output_reg) { | 1852 | switch (output_reg) { |
1855 | case DP_B: | 1853 | case DP_B: |
1856 | name = "DPDDC-B"; | 1854 | name = "DPDDC-B"; |
1857 | psb_intel_encoder->ddi_select = (DP_MASK | DDI0_SELECT); | 1855 | gma_encoder->ddi_select = (DP_MASK | DDI0_SELECT); |
1858 | break; | 1856 | break; |
1859 | case DP_C: | 1857 | case DP_C: |
1860 | name = "DPDDC-C"; | 1858 | name = "DPDDC-C"; |
1861 | psb_intel_encoder->ddi_select = (DP_MASK | DDI1_SELECT); | 1859 | gma_encoder->ddi_select = (DP_MASK | DDI1_SELECT); |
1862 | break; | 1860 | break; |
1863 | } | 1861 | } |
1864 | 1862 | ||
1865 | cdv_disable_intel_clock_gating(dev); | 1863 | cdv_disable_intel_clock_gating(dev); |
1866 | 1864 | ||
1867 | cdv_intel_dp_i2c_init(gma_connector, psb_intel_encoder, name); | 1865 | cdv_intel_dp_i2c_init(gma_connector, gma_encoder, name); |
1868 | /* FIXME:fail check */ | 1866 | /* FIXME:fail check */ |
1869 | cdv_intel_dp_add_properties(connector); | 1867 | cdv_intel_dp_add_properties(connector); |
1870 | 1868 | ||
1871 | if (is_edp(psb_intel_encoder)) { | 1869 | if (is_edp(gma_encoder)) { |
1872 | int ret; | 1870 | int ret; |
1873 | struct edp_power_seq cur; | 1871 | struct edp_power_seq cur; |
1874 | u32 pp_on, pp_off, pp_div; | 1872 | u32 pp_on, pp_off, pp_div; |
@@ -1922,11 +1920,11 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev | |||
1922 | intel_dp->backlight_on_delay, intel_dp->backlight_off_delay); | 1920 | intel_dp->backlight_on_delay, intel_dp->backlight_off_delay); |
1923 | 1921 | ||
1924 | 1922 | ||
1925 | cdv_intel_edp_panel_vdd_on(psb_intel_encoder); | 1923 | cdv_intel_edp_panel_vdd_on(gma_encoder); |
1926 | ret = cdv_intel_dp_aux_native_read(psb_intel_encoder, DP_DPCD_REV, | 1924 | ret = cdv_intel_dp_aux_native_read(gma_encoder, DP_DPCD_REV, |
1927 | intel_dp->dpcd, | 1925 | intel_dp->dpcd, |
1928 | sizeof(intel_dp->dpcd)); | 1926 | sizeof(intel_dp->dpcd)); |
1929 | cdv_intel_edp_panel_vdd_off(psb_intel_encoder); | 1927 | cdv_intel_edp_panel_vdd_off(gma_encoder); |
1930 | if (ret == 0) { | 1928 | if (ret == 0) { |
1931 | /* if this fails, presume the device is a ghost */ | 1929 | /* if this fails, presume the device is a ghost */ |
1932 | DRM_INFO("failed to retrieve link info, disabling eDP\n"); | 1930 | DRM_INFO("failed to retrieve link info, disabling eDP\n"); |
@@ -1949,5 +1947,5 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev | |||
1949 | err_priv: | 1947 | err_priv: |
1950 | kfree(gma_connector); | 1948 | kfree(gma_connector); |
1951 | err_connector: | 1949 | err_connector: |
1952 | kfree(psb_intel_encoder); | 1950 | kfree(gma_encoder); |
1953 | } | 1951 | } |
diff --git a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c index b1290c303a58..1c0d723b8d24 100644 --- a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c +++ b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c | |||
@@ -64,8 +64,8 @@ static void cdv_hdmi_mode_set(struct drm_encoder *encoder, | |||
64 | struct drm_display_mode *adjusted_mode) | 64 | struct drm_display_mode *adjusted_mode) |
65 | { | 65 | { |
66 | struct drm_device *dev = encoder->dev; | 66 | struct drm_device *dev = encoder->dev; |
67 | struct psb_intel_encoder *psb_intel_encoder = to_psb_intel_encoder(encoder); | 67 | struct gma_encoder *gma_encoder = to_gma_encoder(encoder); |
68 | struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv; | 68 | struct mid_intel_hdmi_priv *hdmi_priv = gma_encoder->dev_priv; |
69 | u32 hdmib; | 69 | u32 hdmib; |
70 | struct drm_crtc *crtc = encoder->crtc; | 70 | struct drm_crtc *crtc = encoder->crtc; |
71 | struct gma_crtc *gma_crtc = to_gma_crtc(crtc); | 71 | struct gma_crtc *gma_crtc = to_gma_crtc(crtc); |
@@ -99,9 +99,8 @@ static bool cdv_hdmi_mode_fixup(struct drm_encoder *encoder, | |||
99 | static void cdv_hdmi_dpms(struct drm_encoder *encoder, int mode) | 99 | static void cdv_hdmi_dpms(struct drm_encoder *encoder, int mode) |
100 | { | 100 | { |
101 | struct drm_device *dev = encoder->dev; | 101 | struct drm_device *dev = encoder->dev; |
102 | struct psb_intel_encoder *psb_intel_encoder = | 102 | struct gma_encoder *gma_encoder = to_gma_encoder(encoder); |
103 | to_psb_intel_encoder(encoder); | 103 | struct mid_intel_hdmi_priv *hdmi_priv = gma_encoder->dev_priv; |
104 | struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv; | ||
105 | u32 hdmib; | 104 | u32 hdmib; |
106 | 105 | ||
107 | hdmib = REG_READ(hdmi_priv->hdmi_reg); | 106 | hdmib = REG_READ(hdmi_priv->hdmi_reg); |
@@ -116,9 +115,8 @@ static void cdv_hdmi_dpms(struct drm_encoder *encoder, int mode) | |||
116 | static void cdv_hdmi_save(struct drm_connector *connector) | 115 | static void cdv_hdmi_save(struct drm_connector *connector) |
117 | { | 116 | { |
118 | struct drm_device *dev = connector->dev; | 117 | struct drm_device *dev = connector->dev; |
119 | struct psb_intel_encoder *psb_intel_encoder = | 118 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
120 | gma_attached_encoder(connector); | 119 | struct mid_intel_hdmi_priv *hdmi_priv = gma_encoder->dev_priv; |
121 | struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv; | ||
122 | 120 | ||
123 | hdmi_priv->save_HDMIB = REG_READ(hdmi_priv->hdmi_reg); | 121 | hdmi_priv->save_HDMIB = REG_READ(hdmi_priv->hdmi_reg); |
124 | } | 122 | } |
@@ -126,9 +124,8 @@ static void cdv_hdmi_save(struct drm_connector *connector) | |||
126 | static void cdv_hdmi_restore(struct drm_connector *connector) | 124 | static void cdv_hdmi_restore(struct drm_connector *connector) |
127 | { | 125 | { |
128 | struct drm_device *dev = connector->dev; | 126 | struct drm_device *dev = connector->dev; |
129 | struct psb_intel_encoder *psb_intel_encoder = | 127 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
130 | gma_attached_encoder(connector); | 128 | struct mid_intel_hdmi_priv *hdmi_priv = gma_encoder->dev_priv; |
131 | struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv; | ||
132 | 129 | ||
133 | REG_WRITE(hdmi_priv->hdmi_reg, hdmi_priv->save_HDMIB); | 130 | REG_WRITE(hdmi_priv->hdmi_reg, hdmi_priv->save_HDMIB); |
134 | REG_READ(hdmi_priv->hdmi_reg); | 131 | REG_READ(hdmi_priv->hdmi_reg); |
@@ -137,13 +134,12 @@ static void cdv_hdmi_restore(struct drm_connector *connector) | |||
137 | static enum drm_connector_status cdv_hdmi_detect( | 134 | static enum drm_connector_status cdv_hdmi_detect( |
138 | struct drm_connector *connector, bool force) | 135 | struct drm_connector *connector, bool force) |
139 | { | 136 | { |
140 | struct psb_intel_encoder *psb_intel_encoder = | 137 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
141 | gma_attached_encoder(connector); | 138 | struct mid_intel_hdmi_priv *hdmi_priv = gma_encoder->dev_priv; |
142 | struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv; | ||
143 | struct edid *edid = NULL; | 139 | struct edid *edid = NULL; |
144 | enum drm_connector_status status = connector_status_disconnected; | 140 | enum drm_connector_status status = connector_status_disconnected; |
145 | 141 | ||
146 | edid = drm_get_edid(connector, &psb_intel_encoder->i2c_bus->adapter); | 142 | edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); |
147 | 143 | ||
148 | hdmi_priv->has_hdmi_sink = false; | 144 | hdmi_priv->has_hdmi_sink = false; |
149 | hdmi_priv->has_hdmi_audio = false; | 145 | hdmi_priv->has_hdmi_audio = false; |
@@ -221,12 +217,11 @@ static int cdv_hdmi_set_property(struct drm_connector *connector, | |||
221 | */ | 217 | */ |
222 | static int cdv_hdmi_get_modes(struct drm_connector *connector) | 218 | static int cdv_hdmi_get_modes(struct drm_connector *connector) |
223 | { | 219 | { |
224 | struct psb_intel_encoder *psb_intel_encoder = | 220 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
225 | gma_attached_encoder(connector); | ||
226 | struct edid *edid = NULL; | 221 | struct edid *edid = NULL; |
227 | int ret = 0; | 222 | int ret = 0; |
228 | 223 | ||
229 | edid = drm_get_edid(connector, &psb_intel_encoder->i2c_bus->adapter); | 224 | edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); |
230 | if (edid) { | 225 | if (edid) { |
231 | drm_mode_connector_update_edid_property(connector, edid); | 226 | drm_mode_connector_update_edid_property(connector, edid); |
232 | ret = drm_add_edid_modes(connector, edid); | 227 | ret = drm_add_edid_modes(connector, edid); |
@@ -256,11 +251,10 @@ static int cdv_hdmi_mode_valid(struct drm_connector *connector, | |||
256 | 251 | ||
257 | static void cdv_hdmi_destroy(struct drm_connector *connector) | 252 | static void cdv_hdmi_destroy(struct drm_connector *connector) |
258 | { | 253 | { |
259 | struct psb_intel_encoder *psb_intel_encoder = | 254 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
260 | gma_attached_encoder(connector); | ||
261 | 255 | ||
262 | if (psb_intel_encoder->i2c_bus) | 256 | if (gma_encoder->i2c_bus) |
263 | psb_intel_i2c_destroy(psb_intel_encoder->i2c_bus); | 257 | psb_intel_i2c_destroy(gma_encoder->i2c_bus); |
264 | drm_sysfs_connector_remove(connector); | 258 | drm_sysfs_connector_remove(connector); |
265 | drm_connector_cleanup(connector); | 259 | drm_connector_cleanup(connector); |
266 | kfree(connector); | 260 | kfree(connector); |
@@ -294,17 +288,16 @@ static const struct drm_connector_funcs cdv_hdmi_connector_funcs = { | |||
294 | void cdv_hdmi_init(struct drm_device *dev, | 288 | void cdv_hdmi_init(struct drm_device *dev, |
295 | struct psb_intel_mode_device *mode_dev, int reg) | 289 | struct psb_intel_mode_device *mode_dev, int reg) |
296 | { | 290 | { |
297 | struct psb_intel_encoder *psb_intel_encoder; | 291 | struct gma_encoder *gma_encoder; |
298 | struct gma_connector *gma_connector; | 292 | struct gma_connector *gma_connector; |
299 | struct drm_connector *connector; | 293 | struct drm_connector *connector; |
300 | struct drm_encoder *encoder; | 294 | struct drm_encoder *encoder; |
301 | struct mid_intel_hdmi_priv *hdmi_priv; | 295 | struct mid_intel_hdmi_priv *hdmi_priv; |
302 | int ddc_bus; | 296 | int ddc_bus; |
303 | 297 | ||
304 | psb_intel_encoder = kzalloc(sizeof(struct psb_intel_encoder), | 298 | gma_encoder = kzalloc(sizeof(struct gma_encoder), GFP_KERNEL); |
305 | GFP_KERNEL); | ||
306 | 299 | ||
307 | if (!psb_intel_encoder) | 300 | if (!gma_encoder) |
308 | return; | 301 | return; |
309 | 302 | ||
310 | gma_connector = kzalloc(sizeof(struct gma_connector), | 303 | gma_connector = kzalloc(sizeof(struct gma_connector), |
@@ -320,7 +313,7 @@ void cdv_hdmi_init(struct drm_device *dev, | |||
320 | 313 | ||
321 | connector = &gma_connector->base; | 314 | connector = &gma_connector->base; |
322 | connector->polled = DRM_CONNECTOR_POLL_HPD; | 315 | connector->polled = DRM_CONNECTOR_POLL_HPD; |
323 | encoder = &psb_intel_encoder->base; | 316 | encoder = &gma_encoder->base; |
324 | drm_connector_init(dev, connector, | 317 | drm_connector_init(dev, connector, |
325 | &cdv_hdmi_connector_funcs, | 318 | &cdv_hdmi_connector_funcs, |
326 | DRM_MODE_CONNECTOR_DVID); | 319 | DRM_MODE_CONNECTOR_DVID); |
@@ -328,11 +321,11 @@ void cdv_hdmi_init(struct drm_device *dev, | |||
328 | drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs, | 321 | drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs, |
329 | DRM_MODE_ENCODER_TMDS); | 322 | DRM_MODE_ENCODER_TMDS); |
330 | 323 | ||
331 | gma_connector_attach_encoder(gma_connector, psb_intel_encoder); | 324 | gma_connector_attach_encoder(gma_connector, gma_encoder); |
332 | psb_intel_encoder->type = INTEL_OUTPUT_HDMI; | 325 | gma_encoder->type = INTEL_OUTPUT_HDMI; |
333 | hdmi_priv->hdmi_reg = reg; | 326 | hdmi_priv->hdmi_reg = reg; |
334 | hdmi_priv->has_hdmi_sink = false; | 327 | hdmi_priv->has_hdmi_sink = false; |
335 | psb_intel_encoder->dev_priv = hdmi_priv; | 328 | gma_encoder->dev_priv = hdmi_priv; |
336 | 329 | ||
337 | drm_encoder_helper_add(encoder, &cdv_hdmi_helper_funcs); | 330 | drm_encoder_helper_add(encoder, &cdv_hdmi_helper_funcs); |
338 | drm_connector_helper_add(connector, | 331 | drm_connector_helper_add(connector, |
@@ -348,11 +341,11 @@ void cdv_hdmi_init(struct drm_device *dev, | |||
348 | switch (reg) { | 341 | switch (reg) { |
349 | case SDVOB: | 342 | case SDVOB: |
350 | ddc_bus = GPIOE; | 343 | ddc_bus = GPIOE; |
351 | psb_intel_encoder->ddi_select = DDI0_SELECT; | 344 | gma_encoder->ddi_select = DDI0_SELECT; |
352 | break; | 345 | break; |
353 | case SDVOC: | 346 | case SDVOC: |
354 | ddc_bus = GPIOD; | 347 | ddc_bus = GPIOD; |
355 | psb_intel_encoder->ddi_select = DDI1_SELECT; | 348 | gma_encoder->ddi_select = DDI1_SELECT; |
356 | break; | 349 | break; |
357 | default: | 350 | default: |
358 | DRM_ERROR("unknown reg 0x%x for HDMI\n", reg); | 351 | DRM_ERROR("unknown reg 0x%x for HDMI\n", reg); |
@@ -360,16 +353,15 @@ void cdv_hdmi_init(struct drm_device *dev, | |||
360 | break; | 353 | break; |
361 | } | 354 | } |
362 | 355 | ||
363 | psb_intel_encoder->i2c_bus = psb_intel_i2c_create(dev, | 356 | gma_encoder->i2c_bus = psb_intel_i2c_create(dev, |
364 | ddc_bus, (reg == SDVOB) ? "HDMIB" : "HDMIC"); | 357 | ddc_bus, (reg == SDVOB) ? "HDMIB" : "HDMIC"); |
365 | 358 | ||
366 | if (!psb_intel_encoder->i2c_bus) { | 359 | if (!gma_encoder->i2c_bus) { |
367 | dev_err(dev->dev, "No ddc adapter available!\n"); | 360 | dev_err(dev->dev, "No ddc adapter available!\n"); |
368 | goto failed_ddc; | 361 | goto failed_ddc; |
369 | } | 362 | } |
370 | 363 | ||
371 | hdmi_priv->hdmi_i2c_adapter = | 364 | hdmi_priv->hdmi_i2c_adapter = &(gma_encoder->i2c_bus->adapter); |
372 | &(psb_intel_encoder->i2c_bus->adapter); | ||
373 | hdmi_priv->dev = dev; | 365 | hdmi_priv->dev = dev; |
374 | drm_sysfs_connector_add(connector); | 366 | drm_sysfs_connector_add(connector); |
375 | return; | 367 | return; |
@@ -380,5 +372,5 @@ failed_ddc: | |||
380 | err_priv: | 372 | err_priv: |
381 | kfree(gma_connector); | 373 | kfree(gma_connector); |
382 | err_connector: | 374 | err_connector: |
383 | kfree(psb_intel_encoder); | 375 | kfree(gma_encoder); |
384 | } | 376 | } |
diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c index f4693ebfc098..20e08e65d46c 100644 --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c | |||
@@ -406,12 +406,11 @@ static int cdv_intel_lvds_get_modes(struct drm_connector *connector) | |||
406 | { | 406 | { |
407 | struct drm_device *dev = connector->dev; | 407 | struct drm_device *dev = connector->dev; |
408 | struct drm_psb_private *dev_priv = dev->dev_private; | 408 | struct drm_psb_private *dev_priv = dev->dev_private; |
409 | struct psb_intel_encoder *psb_intel_encoder = | 409 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
410 | gma_attached_encoder(connector); | ||
411 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; | 410 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; |
412 | int ret; | 411 | int ret; |
413 | 412 | ||
414 | ret = psb_intel_ddc_get_modes(connector, &psb_intel_encoder->i2c_bus->adapter); | 413 | ret = psb_intel_ddc_get_modes(connector, &gma_encoder->i2c_bus->adapter); |
415 | 414 | ||
416 | if (ret) | 415 | if (ret) |
417 | return ret; | 416 | return ret; |
@@ -443,11 +442,10 @@ static int cdv_intel_lvds_get_modes(struct drm_connector *connector) | |||
443 | */ | 442 | */ |
444 | static void cdv_intel_lvds_destroy(struct drm_connector *connector) | 443 | static void cdv_intel_lvds_destroy(struct drm_connector *connector) |
445 | { | 444 | { |
446 | struct psb_intel_encoder *psb_intel_encoder = | 445 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
447 | gma_attached_encoder(connector); | ||
448 | 446 | ||
449 | if (psb_intel_encoder->i2c_bus) | 447 | if (gma_encoder->i2c_bus) |
450 | psb_intel_i2c_destroy(psb_intel_encoder->i2c_bus); | 448 | psb_intel_i2c_destroy(gma_encoder->i2c_bus); |
451 | drm_sysfs_connector_remove(connector); | 449 | drm_sysfs_connector_remove(connector); |
452 | drm_connector_cleanup(connector); | 450 | drm_connector_cleanup(connector); |
453 | kfree(connector); | 451 | kfree(connector); |
@@ -610,7 +608,7 @@ static bool lvds_is_present_in_vbt(struct drm_device *dev, | |||
610 | void cdv_intel_lvds_init(struct drm_device *dev, | 608 | void cdv_intel_lvds_init(struct drm_device *dev, |
611 | struct psb_intel_mode_device *mode_dev) | 609 | struct psb_intel_mode_device *mode_dev) |
612 | { | 610 | { |
613 | struct psb_intel_encoder *psb_intel_encoder; | 611 | struct gma_encoder *gma_encoder; |
614 | struct gma_connector *gma_connector; | 612 | struct gma_connector *gma_connector; |
615 | struct cdv_intel_lvds_priv *lvds_priv; | 613 | struct cdv_intel_lvds_priv *lvds_priv; |
616 | struct drm_connector *connector; | 614 | struct drm_connector *connector; |
@@ -628,9 +626,9 @@ void cdv_intel_lvds_init(struct drm_device *dev, | |||
628 | return; | 626 | return; |
629 | } | 627 | } |
630 | 628 | ||
631 | psb_intel_encoder = kzalloc(sizeof(struct psb_intel_encoder), | 629 | gma_encoder = kzalloc(sizeof(struct gma_encoder), |
632 | GFP_KERNEL); | 630 | GFP_KERNEL); |
633 | if (!psb_intel_encoder) | 631 | if (!gma_encoder) |
634 | return; | 632 | return; |
635 | 633 | ||
636 | gma_connector = kzalloc(sizeof(struct gma_connector), | 634 | gma_connector = kzalloc(sizeof(struct gma_connector), |
@@ -642,10 +640,10 @@ void cdv_intel_lvds_init(struct drm_device *dev, | |||
642 | if (!lvds_priv) | 640 | if (!lvds_priv) |
643 | goto failed_lvds_priv; | 641 | goto failed_lvds_priv; |
644 | 642 | ||
645 | psb_intel_encoder->dev_priv = lvds_priv; | 643 | gma_encoder->dev_priv = lvds_priv; |
646 | 644 | ||
647 | connector = &gma_connector->base; | 645 | connector = &gma_connector->base; |
648 | encoder = &psb_intel_encoder->base; | 646 | encoder = &gma_encoder->base; |
649 | 647 | ||
650 | 648 | ||
651 | drm_connector_init(dev, connector, | 649 | drm_connector_init(dev, connector, |
@@ -657,8 +655,8 @@ void cdv_intel_lvds_init(struct drm_device *dev, | |||
657 | DRM_MODE_ENCODER_LVDS); | 655 | DRM_MODE_ENCODER_LVDS); |
658 | 656 | ||
659 | 657 | ||
660 | gma_connector_attach_encoder(gma_connector, psb_intel_encoder); | 658 | gma_connector_attach_encoder(gma_connector, gma_encoder); |
661 | psb_intel_encoder->type = INTEL_OUTPUT_LVDS; | 659 | gma_encoder->type = INTEL_OUTPUT_LVDS; |
662 | 660 | ||
663 | drm_encoder_helper_add(encoder, &cdv_intel_lvds_helper_funcs); | 661 | drm_encoder_helper_add(encoder, &cdv_intel_lvds_helper_funcs); |
664 | drm_connector_helper_add(connector, | 662 | drm_connector_helper_add(connector, |
@@ -679,16 +677,16 @@ void cdv_intel_lvds_init(struct drm_device *dev, | |||
679 | * Set up I2C bus | 677 | * Set up I2C bus |
680 | * FIXME: distroy i2c_bus when exit | 678 | * FIXME: distroy i2c_bus when exit |
681 | */ | 679 | */ |
682 | psb_intel_encoder->i2c_bus = psb_intel_i2c_create(dev, | 680 | gma_encoder->i2c_bus = psb_intel_i2c_create(dev, |
683 | GPIOB, | 681 | GPIOB, |
684 | "LVDSBLC_B"); | 682 | "LVDSBLC_B"); |
685 | if (!psb_intel_encoder->i2c_bus) { | 683 | if (!gma_encoder->i2c_bus) { |
686 | dev_printk(KERN_ERR, | 684 | dev_printk(KERN_ERR, |
687 | &dev->pdev->dev, "I2C bus registration failed.\n"); | 685 | &dev->pdev->dev, "I2C bus registration failed.\n"); |
688 | goto failed_blc_i2c; | 686 | goto failed_blc_i2c; |
689 | } | 687 | } |
690 | psb_intel_encoder->i2c_bus->slave_addr = 0x2C; | 688 | gma_encoder->i2c_bus->slave_addr = 0x2C; |
691 | dev_priv->lvds_i2c_bus = psb_intel_encoder->i2c_bus; | 689 | dev_priv->lvds_i2c_bus = gma_encoder->i2c_bus; |
692 | 690 | ||
693 | /* | 691 | /* |
694 | * LVDS discovery: | 692 | * LVDS discovery: |
@@ -701,10 +699,10 @@ void cdv_intel_lvds_init(struct drm_device *dev, | |||
701 | */ | 699 | */ |
702 | 700 | ||
703 | /* Set up the DDC bus. */ | 701 | /* Set up the DDC bus. */ |
704 | psb_intel_encoder->ddc_bus = psb_intel_i2c_create(dev, | 702 | gma_encoder->ddc_bus = psb_intel_i2c_create(dev, |
705 | GPIOC, | 703 | GPIOC, |
706 | "LVDSDDC_C"); | 704 | "LVDSDDC_C"); |
707 | if (!psb_intel_encoder->ddc_bus) { | 705 | if (!gma_encoder->ddc_bus) { |
708 | dev_printk(KERN_ERR, &dev->pdev->dev, | 706 | dev_printk(KERN_ERR, &dev->pdev->dev, |
709 | "DDC bus registration " "failed.\n"); | 707 | "DDC bus registration " "failed.\n"); |
710 | goto failed_ddc; | 708 | goto failed_ddc; |
@@ -715,7 +713,7 @@ void cdv_intel_lvds_init(struct drm_device *dev, | |||
715 | * preferred mode is the right one. | 713 | * preferred mode is the right one. |
716 | */ | 714 | */ |
717 | psb_intel_ddc_get_modes(connector, | 715 | psb_intel_ddc_get_modes(connector, |
718 | &psb_intel_encoder->ddc_bus->adapter); | 716 | &gma_encoder->ddc_bus->adapter); |
719 | list_for_each_entry(scan, &connector->probed_modes, head) { | 717 | list_for_each_entry(scan, &connector->probed_modes, head) { |
720 | if (scan->type & DRM_MODE_TYPE_PREFERRED) { | 718 | if (scan->type & DRM_MODE_TYPE_PREFERRED) { |
721 | mode_dev->panel_fixed_mode = | 719 | mode_dev->panel_fixed_mode = |
@@ -779,12 +777,12 @@ out: | |||
779 | 777 | ||
780 | failed_find: | 778 | failed_find: |
781 | printk(KERN_ERR "Failed find\n"); | 779 | printk(KERN_ERR "Failed find\n"); |
782 | if (psb_intel_encoder->ddc_bus) | 780 | if (gma_encoder->ddc_bus) |
783 | psb_intel_i2c_destroy(psb_intel_encoder->ddc_bus); | 781 | psb_intel_i2c_destroy(gma_encoder->ddc_bus); |
784 | failed_ddc: | 782 | failed_ddc: |
785 | printk(KERN_ERR "Failed DDC\n"); | 783 | printk(KERN_ERR "Failed DDC\n"); |
786 | if (psb_intel_encoder->i2c_bus) | 784 | if (gma_encoder->i2c_bus) |
787 | psb_intel_i2c_destroy(psb_intel_encoder->i2c_bus); | 785 | psb_intel_i2c_destroy(gma_encoder->i2c_bus); |
788 | failed_blc_i2c: | 786 | failed_blc_i2c: |
789 | printk(KERN_ERR "Failed BLC\n"); | 787 | printk(KERN_ERR "Failed BLC\n"); |
790 | drm_encoder_cleanup(encoder); | 788 | drm_encoder_cleanup(encoder); |
@@ -793,5 +791,5 @@ failed_blc_i2c: | |||
793 | failed_lvds_priv: | 791 | failed_lvds_priv: |
794 | kfree(gma_connector); | 792 | kfree(gma_connector); |
795 | failed_connector: | 793 | failed_connector: |
796 | kfree(psb_intel_encoder); | 794 | kfree(gma_encoder); |
797 | } | 795 | } |
diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c index bdc63c6ec5b8..01dd7d225762 100644 --- a/drivers/gpu/drm/gma500/framebuffer.c +++ b/drivers/gpu/drm/gma500/framebuffer.c | |||
@@ -703,13 +703,12 @@ static void psb_setup_outputs(struct drm_device *dev) | |||
703 | 703 | ||
704 | list_for_each_entry(connector, &dev->mode_config.connector_list, | 704 | list_for_each_entry(connector, &dev->mode_config.connector_list, |
705 | head) { | 705 | head) { |
706 | struct psb_intel_encoder *psb_intel_encoder = | 706 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
707 | gma_attached_encoder(connector); | 707 | struct drm_encoder *encoder = &gma_encoder->base; |
708 | struct drm_encoder *encoder = &psb_intel_encoder->base; | ||
709 | int crtc_mask = 0, clone_mask = 0; | 708 | int crtc_mask = 0, clone_mask = 0; |
710 | 709 | ||
711 | /* valid crtcs */ | 710 | /* valid crtcs */ |
712 | switch (psb_intel_encoder->type) { | 711 | switch (gma_encoder->type) { |
713 | case INTEL_OUTPUT_ANALOG: | 712 | case INTEL_OUTPUT_ANALOG: |
714 | crtc_mask = (1 << 0); | 713 | crtc_mask = (1 << 0); |
715 | clone_mask = (1 << INTEL_OUTPUT_ANALOG); | 714 | clone_mask = (1 << INTEL_OUTPUT_ANALOG); |
diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c index eb460759f5d3..cd253caf5672 100644 --- a/drivers/gpu/drm/gma500/gma_display.c +++ b/drivers/gpu/drm/gma500/gma_display.c | |||
@@ -37,9 +37,9 @@ bool gma_pipe_has_type(struct drm_crtc *crtc, int type) | |||
37 | 37 | ||
38 | list_for_each_entry(l_entry, &mode_config->connector_list, head) { | 38 | list_for_each_entry(l_entry, &mode_config->connector_list, head) { |
39 | if (l_entry->encoder && l_entry->encoder->crtc == crtc) { | 39 | if (l_entry->encoder && l_entry->encoder->crtc == crtc) { |
40 | struct psb_intel_encoder *psb_intel_encoder = | 40 | struct gma_encoder *gma_encoder = |
41 | gma_attached_encoder(l_entry); | 41 | gma_attached_encoder(l_entry); |
42 | if (psb_intel_encoder->type == type) | 42 | if (gma_encoder->type == type) |
43 | return true; | 43 | return true; |
44 | } | 44 | } |
45 | } | 45 | } |
@@ -657,7 +657,7 @@ void gma_encoder_commit(struct drm_encoder *encoder) | |||
657 | 657 | ||
658 | void gma_encoder_destroy(struct drm_encoder *encoder) | 658 | void gma_encoder_destroy(struct drm_encoder *encoder) |
659 | { | 659 | { |
660 | struct psb_intel_encoder *intel_encoder = to_psb_intel_encoder(encoder); | 660 | struct gma_encoder *intel_encoder = to_gma_encoder(encoder); |
661 | 661 | ||
662 | drm_encoder_cleanup(encoder); | 662 | drm_encoder_cleanup(encoder); |
663 | kfree(intel_encoder); | 663 | kfree(intel_encoder); |
@@ -666,14 +666,13 @@ void gma_encoder_destroy(struct drm_encoder *encoder) | |||
666 | /* Currently there is only a 1:1 mapping of encoders and connectors */ | 666 | /* Currently there is only a 1:1 mapping of encoders and connectors */ |
667 | struct drm_encoder *gma_best_encoder(struct drm_connector *connector) | 667 | struct drm_encoder *gma_best_encoder(struct drm_connector *connector) |
668 | { | 668 | { |
669 | struct psb_intel_encoder *psb_intel_encoder = | 669 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
670 | gma_attached_encoder(connector); | ||
671 | 670 | ||
672 | return &psb_intel_encoder->base; | 671 | return &gma_encoder->base; |
673 | } | 672 | } |
674 | 673 | ||
675 | void gma_connector_attach_encoder(struct gma_connector *connector, | 674 | void gma_connector_attach_encoder(struct gma_connector *connector, |
676 | struct psb_intel_encoder *encoder) | 675 | struct gma_encoder *encoder) |
677 | { | 676 | { |
678 | connector->encoder = encoder; | 677 | connector->encoder = encoder; |
679 | drm_mode_connector_attach_encoder(&connector->base, | 678 | drm_mode_connector_attach_encoder(&connector->base, |
diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_output.h b/drivers/gpu/drm/gma500/mdfld_dsi_output.h index d78b108e3f3a..45d5af0546bf 100644 --- a/drivers/gpu/drm/gma500/mdfld_dsi_output.h +++ b/drivers/gpu/drm/gma500/mdfld_dsi_output.h | |||
@@ -238,7 +238,7 @@ struct mdfld_dsi_connector { | |||
238 | }; | 238 | }; |
239 | 239 | ||
240 | struct mdfld_dsi_encoder { | 240 | struct mdfld_dsi_encoder { |
241 | struct psb_intel_encoder base; | 241 | struct gma_encoder base; |
242 | void *private; | 242 | void *private; |
243 | }; | 243 | }; |
244 | 244 | ||
@@ -279,11 +279,11 @@ static inline struct mdfld_dsi_connector *mdfld_dsi_connector( | |||
279 | static inline struct mdfld_dsi_encoder *mdfld_dsi_encoder( | 279 | static inline struct mdfld_dsi_encoder *mdfld_dsi_encoder( |
280 | struct drm_encoder *encoder) | 280 | struct drm_encoder *encoder) |
281 | { | 281 | { |
282 | struct psb_intel_encoder *psb_encoder; | 282 | struct gma_encoder *gma_encoder; |
283 | 283 | ||
284 | psb_encoder = to_psb_intel_encoder(encoder); | 284 | gma_encoder = to_gma_encoder(encoder); |
285 | 285 | ||
286 | return container_of(psb_encoder, struct mdfld_dsi_encoder, base); | 286 | return container_of(gma_encoder, struct mdfld_dsi_encoder, base); |
287 | } | 287 | } |
288 | 288 | ||
289 | static inline struct mdfld_dsi_config * | 289 | static inline struct mdfld_dsi_config * |
diff --git a/drivers/gpu/drm/gma500/mdfld_intel_display.c b/drivers/gpu/drm/gma500/mdfld_intel_display.c index adb29e370ce5..321c00a944e9 100644 --- a/drivers/gpu/drm/gma500/mdfld_intel_display.c +++ b/drivers/gpu/drm/gma500/mdfld_intel_display.c | |||
@@ -681,7 +681,7 @@ static int mdfld_crtc_mode_set(struct drm_crtc *crtc, | |||
681 | u32 dpll = 0, fp = 0; | 681 | u32 dpll = 0, fp = 0; |
682 | bool is_mipi = false, is_mipi2 = false, is_hdmi = false; | 682 | bool is_mipi = false, is_mipi2 = false, is_hdmi = false; |
683 | struct drm_mode_config *mode_config = &dev->mode_config; | 683 | struct drm_mode_config *mode_config = &dev->mode_config; |
684 | struct psb_intel_encoder *psb_intel_encoder = NULL; | 684 | struct gma_encoder *gma_encoder = NULL; |
685 | uint64_t scalingType = DRM_MODE_SCALE_FULLSCREEN; | 685 | uint64_t scalingType = DRM_MODE_SCALE_FULLSCREEN; |
686 | struct drm_encoder *encoder; | 686 | struct drm_encoder *encoder; |
687 | struct drm_connector *connector; | 687 | struct drm_connector *connector; |
@@ -747,9 +747,9 @@ static int mdfld_crtc_mode_set(struct drm_crtc *crtc, | |||
747 | if (encoder->crtc != crtc) | 747 | if (encoder->crtc != crtc) |
748 | continue; | 748 | continue; |
749 | 749 | ||
750 | psb_intel_encoder = gma_attached_encoder(connector); | 750 | gma_encoder = gma_attached_encoder(connector); |
751 | 751 | ||
752 | switch (psb_intel_encoder->type) { | 752 | switch (gma_encoder->type) { |
753 | case INTEL_OUTPUT_MIPI: | 753 | case INTEL_OUTPUT_MIPI: |
754 | is_mipi = true; | 754 | is_mipi = true; |
755 | break; | 755 | break; |
@@ -800,7 +800,7 @@ static int mdfld_crtc_mode_set(struct drm_crtc *crtc, | |||
800 | 800 | ||
801 | REG_WRITE(map->pos, 0); | 801 | REG_WRITE(map->pos, 0); |
802 | 802 | ||
803 | if (psb_intel_encoder) | 803 | if (gma_encoder) |
804 | drm_object_property_get_value(&connector->base, | 804 | drm_object_property_get_value(&connector->base, |
805 | dev->mode_config.scaling_mode_property, &scalingType); | 805 | dev->mode_config.scaling_mode_property, &scalingType); |
806 | 806 | ||
diff --git a/drivers/gpu/drm/gma500/oaktrail_crtc.c b/drivers/gpu/drm/gma500/oaktrail_crtc.c index 284e62ae7b57..54c98962b73e 100644 --- a/drivers/gpu/drm/gma500/oaktrail_crtc.c +++ b/drivers/gpu/drm/gma500/oaktrail_crtc.c | |||
@@ -303,7 +303,7 @@ static int oaktrail_crtc_mode_set(struct drm_crtc *crtc, | |||
303 | bool is_lvds = false; | 303 | bool is_lvds = false; |
304 | bool is_mipi = false; | 304 | bool is_mipi = false; |
305 | struct drm_mode_config *mode_config = &dev->mode_config; | 305 | struct drm_mode_config *mode_config = &dev->mode_config; |
306 | struct psb_intel_encoder *psb_intel_encoder = NULL; | 306 | struct gma_encoder *gma_encoder = NULL; |
307 | uint64_t scalingType = DRM_MODE_SCALE_FULLSCREEN; | 307 | uint64_t scalingType = DRM_MODE_SCALE_FULLSCREEN; |
308 | struct drm_connector *connector; | 308 | struct drm_connector *connector; |
309 | 309 | ||
@@ -324,9 +324,9 @@ static int oaktrail_crtc_mode_set(struct drm_crtc *crtc, | |||
324 | if (!connector->encoder || connector->encoder->crtc != crtc) | 324 | if (!connector->encoder || connector->encoder->crtc != crtc) |
325 | continue; | 325 | continue; |
326 | 326 | ||
327 | psb_intel_encoder = gma_attached_encoder(connector); | 327 | gma_encoder = gma_attached_encoder(connector); |
328 | 328 | ||
329 | switch (psb_intel_encoder->type) { | 329 | switch (gma_encoder->type) { |
330 | case INTEL_OUTPUT_LVDS: | 330 | case INTEL_OUTPUT_LVDS: |
331 | is_lvds = true; | 331 | is_lvds = true; |
332 | break; | 332 | break; |
@@ -350,7 +350,7 @@ static int oaktrail_crtc_mode_set(struct drm_crtc *crtc, | |||
350 | ((mode->crtc_hdisplay - 1) << 16) | | 350 | ((mode->crtc_hdisplay - 1) << 16) | |
351 | (mode->crtc_vdisplay - 1)); | 351 | (mode->crtc_vdisplay - 1)); |
352 | 352 | ||
353 | if (psb_intel_encoder) | 353 | if (gma_encoder) |
354 | drm_object_property_get_value(&connector->base, | 354 | drm_object_property_get_value(&connector->base, |
355 | dev->mode_config.scaling_mode_property, &scalingType); | 355 | dev->mode_config.scaling_mode_property, &scalingType); |
356 | 356 | ||
diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi.c b/drivers/gpu/drm/gma500/oaktrail_hdmi.c index 846817fe95ce..38153143ed8c 100644 --- a/drivers/gpu/drm/gma500/oaktrail_hdmi.c +++ b/drivers/gpu/drm/gma500/oaktrail_hdmi.c | |||
@@ -640,13 +640,13 @@ static const struct drm_encoder_funcs oaktrail_hdmi_enc_funcs = { | |||
640 | void oaktrail_hdmi_init(struct drm_device *dev, | 640 | void oaktrail_hdmi_init(struct drm_device *dev, |
641 | struct psb_intel_mode_device *mode_dev) | 641 | struct psb_intel_mode_device *mode_dev) |
642 | { | 642 | { |
643 | struct psb_intel_encoder *psb_intel_encoder; | 643 | struct gma_encoder *gma_encoder; |
644 | struct gma_connector *gma_connector; | 644 | struct gma_connector *gma_connector; |
645 | struct drm_connector *connector; | 645 | struct drm_connector *connector; |
646 | struct drm_encoder *encoder; | 646 | struct drm_encoder *encoder; |
647 | 647 | ||
648 | psb_intel_encoder = kzalloc(sizeof(struct psb_intel_encoder), GFP_KERNEL); | 648 | gma_encoder = kzalloc(sizeof(struct gma_encoder), GFP_KERNEL); |
649 | if (!psb_intel_encoder) | 649 | if (!gma_encoder) |
650 | return; | 650 | return; |
651 | 651 | ||
652 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); | 652 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); |
@@ -654,7 +654,7 @@ void oaktrail_hdmi_init(struct drm_device *dev, | |||
654 | goto failed_connector; | 654 | goto failed_connector; |
655 | 655 | ||
656 | connector = &gma_connector->base; | 656 | connector = &gma_connector->base; |
657 | encoder = &psb_intel_encoder->base; | 657 | encoder = &gma_encoder->base; |
658 | drm_connector_init(dev, connector, | 658 | drm_connector_init(dev, connector, |
659 | &oaktrail_hdmi_connector_funcs, | 659 | &oaktrail_hdmi_connector_funcs, |
660 | DRM_MODE_CONNECTOR_DVID); | 660 | DRM_MODE_CONNECTOR_DVID); |
@@ -663,9 +663,9 @@ void oaktrail_hdmi_init(struct drm_device *dev, | |||
663 | &oaktrail_hdmi_enc_funcs, | 663 | &oaktrail_hdmi_enc_funcs, |
664 | DRM_MODE_ENCODER_TMDS); | 664 | DRM_MODE_ENCODER_TMDS); |
665 | 665 | ||
666 | gma_connector_attach_encoder(gma_connector, psb_intel_encoder); | 666 | gma_connector_attach_encoder(gma_connector, gma_encoder); |
667 | 667 | ||
668 | psb_intel_encoder->type = INTEL_OUTPUT_HDMI; | 668 | gma_encoder->type = INTEL_OUTPUT_HDMI; |
669 | drm_encoder_helper_add(encoder, &oaktrail_hdmi_helper_funcs); | 669 | drm_encoder_helper_add(encoder, &oaktrail_hdmi_helper_funcs); |
670 | drm_connector_helper_add(connector, &oaktrail_hdmi_connector_helper_funcs); | 670 | drm_connector_helper_add(connector, &oaktrail_hdmi_connector_helper_funcs); |
671 | 671 | ||
@@ -678,7 +678,7 @@ void oaktrail_hdmi_init(struct drm_device *dev, | |||
678 | return; | 678 | return; |
679 | 679 | ||
680 | failed_connector: | 680 | failed_connector: |
681 | kfree(psb_intel_encoder); | 681 | kfree(gma_encoder); |
682 | } | 682 | } |
683 | 683 | ||
684 | static DEFINE_PCI_DEVICE_TABLE(hdmi_ids) = { | 684 | static DEFINE_PCI_DEVICE_TABLE(hdmi_ids) = { |
diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c index 9d037720eb9a..e77d7214fca4 100644 --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c | |||
@@ -43,7 +43,7 @@ | |||
43 | * Sets the power state for the panel. | 43 | * Sets the power state for the panel. |
44 | */ | 44 | */ |
45 | static void oaktrail_lvds_set_power(struct drm_device *dev, | 45 | static void oaktrail_lvds_set_power(struct drm_device *dev, |
46 | struct psb_intel_encoder *psb_intel_encoder, | 46 | struct gma_encoder *gma_encoder, |
47 | bool on) | 47 | bool on) |
48 | { | 48 | { |
49 | u32 pp_status; | 49 | u32 pp_status; |
@@ -78,13 +78,12 @@ static void oaktrail_lvds_set_power(struct drm_device *dev, | |||
78 | static void oaktrail_lvds_dpms(struct drm_encoder *encoder, int mode) | 78 | static void oaktrail_lvds_dpms(struct drm_encoder *encoder, int mode) |
79 | { | 79 | { |
80 | struct drm_device *dev = encoder->dev; | 80 | struct drm_device *dev = encoder->dev; |
81 | struct psb_intel_encoder *psb_intel_encoder = | 81 | struct gma_encoder *gma_encoder = to_gma_encoder(encoder); |
82 | to_psb_intel_encoder(encoder); | ||
83 | 82 | ||
84 | if (mode == DRM_MODE_DPMS_ON) | 83 | if (mode == DRM_MODE_DPMS_ON) |
85 | oaktrail_lvds_set_power(dev, psb_intel_encoder, true); | 84 | oaktrail_lvds_set_power(dev, gma_encoder, true); |
86 | else | 85 | else |
87 | oaktrail_lvds_set_power(dev, psb_intel_encoder, false); | 86 | oaktrail_lvds_set_power(dev, gma_encoder, false); |
88 | 87 | ||
89 | /* XXX: We never power down the LVDS pairs. */ | 88 | /* XXX: We never power down the LVDS pairs. */ |
90 | } | 89 | } |
@@ -166,8 +165,7 @@ static void oaktrail_lvds_prepare(struct drm_encoder *encoder) | |||
166 | { | 165 | { |
167 | struct drm_device *dev = encoder->dev; | 166 | struct drm_device *dev = encoder->dev; |
168 | struct drm_psb_private *dev_priv = dev->dev_private; | 167 | struct drm_psb_private *dev_priv = dev->dev_private; |
169 | struct psb_intel_encoder *psb_intel_encoder = | 168 | struct gma_encoder *gma_encoder = to_gma_encoder(encoder); |
170 | to_psb_intel_encoder(encoder); | ||
171 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; | 169 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; |
172 | 170 | ||
173 | if (!gma_power_begin(dev, true)) | 171 | if (!gma_power_begin(dev, true)) |
@@ -176,7 +174,7 @@ static void oaktrail_lvds_prepare(struct drm_encoder *encoder) | |||
176 | mode_dev->saveBLC_PWM_CTL = REG_READ(BLC_PWM_CTL); | 174 | mode_dev->saveBLC_PWM_CTL = REG_READ(BLC_PWM_CTL); |
177 | mode_dev->backlight_duty_cycle = (mode_dev->saveBLC_PWM_CTL & | 175 | mode_dev->backlight_duty_cycle = (mode_dev->saveBLC_PWM_CTL & |
178 | BACKLIGHT_DUTY_CYCLE_MASK); | 176 | BACKLIGHT_DUTY_CYCLE_MASK); |
179 | oaktrail_lvds_set_power(dev, psb_intel_encoder, false); | 177 | oaktrail_lvds_set_power(dev, gma_encoder, false); |
180 | gma_power_end(dev); | 178 | gma_power_end(dev); |
181 | } | 179 | } |
182 | 180 | ||
@@ -203,14 +201,13 @@ static void oaktrail_lvds_commit(struct drm_encoder *encoder) | |||
203 | { | 201 | { |
204 | struct drm_device *dev = encoder->dev; | 202 | struct drm_device *dev = encoder->dev; |
205 | struct drm_psb_private *dev_priv = dev->dev_private; | 203 | struct drm_psb_private *dev_priv = dev->dev_private; |
206 | struct psb_intel_encoder *psb_intel_encoder = | 204 | struct gma_encoder *gma_encoder = to_gma_encoder(encoder); |
207 | to_psb_intel_encoder(encoder); | ||
208 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; | 205 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; |
209 | 206 | ||
210 | if (mode_dev->backlight_duty_cycle == 0) | 207 | if (mode_dev->backlight_duty_cycle == 0) |
211 | mode_dev->backlight_duty_cycle = | 208 | mode_dev->backlight_duty_cycle = |
212 | oaktrail_lvds_get_max_backlight(dev); | 209 | oaktrail_lvds_get_max_backlight(dev); |
213 | oaktrail_lvds_set_power(dev, psb_intel_encoder, true); | 210 | oaktrail_lvds_set_power(dev, gma_encoder, true); |
214 | } | 211 | } |
215 | 212 | ||
216 | static const struct drm_encoder_helper_funcs oaktrail_lvds_helper_funcs = { | 213 | static const struct drm_encoder_helper_funcs oaktrail_lvds_helper_funcs = { |
@@ -325,7 +322,7 @@ static void oaktrail_lvds_get_configuration_mode(struct drm_device *dev, | |||
325 | void oaktrail_lvds_init(struct drm_device *dev, | 322 | void oaktrail_lvds_init(struct drm_device *dev, |
326 | struct psb_intel_mode_device *mode_dev) | 323 | struct psb_intel_mode_device *mode_dev) |
327 | { | 324 | { |
328 | struct psb_intel_encoder *psb_intel_encoder; | 325 | struct gma_encoder *gma_encoder; |
329 | struct gma_connector *gma_connector; | 326 | struct gma_connector *gma_connector; |
330 | struct drm_connector *connector; | 327 | struct drm_connector *connector; |
331 | struct drm_encoder *encoder; | 328 | struct drm_encoder *encoder; |
@@ -334,8 +331,8 @@ void oaktrail_lvds_init(struct drm_device *dev, | |||
334 | struct i2c_adapter *i2c_adap; | 331 | struct i2c_adapter *i2c_adap; |
335 | struct drm_display_mode *scan; /* *modes, *bios_mode; */ | 332 | struct drm_display_mode *scan; /* *modes, *bios_mode; */ |
336 | 333 | ||
337 | psb_intel_encoder = kzalloc(sizeof(struct psb_intel_encoder), GFP_KERNEL); | 334 | gma_encoder = kzalloc(sizeof(struct gma_encoder), GFP_KERNEL); |
338 | if (!psb_intel_encoder) | 335 | if (!gma_encoder) |
339 | return; | 336 | return; |
340 | 337 | ||
341 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); | 338 | gma_connector = kzalloc(sizeof(struct gma_connector), GFP_KERNEL); |
@@ -343,7 +340,7 @@ void oaktrail_lvds_init(struct drm_device *dev, | |||
343 | goto failed_connector; | 340 | goto failed_connector; |
344 | 341 | ||
345 | connector = &gma_connector->base; | 342 | connector = &gma_connector->base; |
346 | encoder = &psb_intel_encoder->base; | 343 | encoder = &gma_encoder->base; |
347 | dev_priv->is_lvds_on = true; | 344 | dev_priv->is_lvds_on = true; |
348 | drm_connector_init(dev, connector, | 345 | drm_connector_init(dev, connector, |
349 | &psb_intel_lvds_connector_funcs, | 346 | &psb_intel_lvds_connector_funcs, |
@@ -352,8 +349,8 @@ void oaktrail_lvds_init(struct drm_device *dev, | |||
352 | drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs, | 349 | drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs, |
353 | DRM_MODE_ENCODER_LVDS); | 350 | DRM_MODE_ENCODER_LVDS); |
354 | 351 | ||
355 | gma_connector_attach_encoder(gma_connector, psb_intel_encoder); | 352 | gma_connector_attach_encoder(gma_connector, gma_encoder); |
356 | psb_intel_encoder->type = INTEL_OUTPUT_LVDS; | 353 | gma_encoder->type = INTEL_OUTPUT_LVDS; |
357 | 354 | ||
358 | drm_encoder_helper_add(encoder, &oaktrail_lvds_helper_funcs); | 355 | drm_encoder_helper_add(encoder, &oaktrail_lvds_helper_funcs); |
359 | drm_connector_helper_add(connector, | 356 | drm_connector_helper_add(connector, |
@@ -433,8 +430,8 @@ out: | |||
433 | 430 | ||
434 | failed_find: | 431 | failed_find: |
435 | dev_dbg(dev->dev, "No LVDS modes found, disabling.\n"); | 432 | dev_dbg(dev->dev, "No LVDS modes found, disabling.\n"); |
436 | if (psb_intel_encoder->ddc_bus) | 433 | if (gma_encoder->ddc_bus) |
437 | psb_intel_i2c_destroy(psb_intel_encoder->ddc_bus); | 434 | psb_intel_i2c_destroy(gma_encoder->ddc_bus); |
438 | 435 | ||
439 | /* failed_ddc: */ | 436 | /* failed_ddc: */ |
440 | 437 | ||
@@ -442,6 +439,6 @@ failed_find: | |||
442 | drm_connector_cleanup(connector); | 439 | drm_connector_cleanup(connector); |
443 | kfree(gma_connector); | 440 | kfree(gma_connector); |
444 | failed_connector: | 441 | failed_connector: |
445 | kfree(psb_intel_encoder); | 442 | kfree(gma_encoder); |
446 | } | 443 | } |
447 | 444 | ||
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c index 6c2d139aab8b..da6a88e67b01 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c | |||
@@ -270,7 +270,7 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset) | |||
270 | unsigned long irqflags; | 270 | unsigned long irqflags; |
271 | int ret = -ENOMEM; | 271 | int ret = -ENOMEM; |
272 | struct drm_connector *connector; | 272 | struct drm_connector *connector; |
273 | struct psb_intel_encoder *psb_intel_encoder; | 273 | struct gma_encoder *gma_encoder; |
274 | 274 | ||
275 | dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL); | 275 | dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL); |
276 | if (dev_priv == NULL) | 276 | if (dev_priv == NULL) |
@@ -372,9 +372,9 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset) | |||
372 | /* Only add backlight support if we have LVDS output */ | 372 | /* Only add backlight support if we have LVDS output */ |
373 | list_for_each_entry(connector, &dev->mode_config.connector_list, | 373 | list_for_each_entry(connector, &dev->mode_config.connector_list, |
374 | head) { | 374 | head) { |
375 | psb_intel_encoder = gma_attached_encoder(connector); | 375 | gma_encoder = gma_attached_encoder(connector); |
376 | 376 | ||
377 | switch (psb_intel_encoder->type) { | 377 | switch (gma_encoder->type) { |
378 | case INTEL_OUTPUT_LVDS: | 378 | case INTEL_OUTPUT_LVDS: |
379 | case INTEL_OUTPUT_MIPI: | 379 | case INTEL_OUTPUT_MIPI: |
380 | ret = gma_backlight_init(dev); | 380 | ret = gma_backlight_init(dev); |
diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c index 6cee07013a2d..97f8a03fee43 100644 --- a/drivers/gpu/drm/gma500/psb_intel_display.c +++ b/drivers/gpu/drm/gma500/psb_intel_display.c | |||
@@ -126,14 +126,13 @@ static int psb_intel_crtc_mode_set(struct drm_crtc *crtc, | |||
126 | } | 126 | } |
127 | 127 | ||
128 | list_for_each_entry(connector, &mode_config->connector_list, head) { | 128 | list_for_each_entry(connector, &mode_config->connector_list, head) { |
129 | struct psb_intel_encoder *psb_intel_encoder = | 129 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
130 | gma_attached_encoder(connector); | ||
131 | 130 | ||
132 | if (!connector->encoder | 131 | if (!connector->encoder |
133 | || connector->encoder->crtc != crtc) | 132 | || connector->encoder->crtc != crtc) |
134 | continue; | 133 | continue; |
135 | 134 | ||
136 | switch (psb_intel_encoder->type) { | 135 | switch (gma_encoder->type) { |
137 | case INTEL_OUTPUT_LVDS: | 136 | case INTEL_OUTPUT_LVDS: |
138 | is_lvds = true; | 137 | is_lvds = true; |
139 | break; | 138 | break; |
@@ -602,9 +601,8 @@ int gma_connector_clones(struct drm_device *dev, int type_mask) | |||
602 | 601 | ||
603 | list_for_each_entry(connector, &dev->mode_config.connector_list, | 602 | list_for_each_entry(connector, &dev->mode_config.connector_list, |
604 | head) { | 603 | head) { |
605 | struct psb_intel_encoder *psb_intel_encoder = | 604 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
606 | gma_attached_encoder(connector); | 605 | if (type_mask & (1 << gma_encoder->type)) |
607 | if (type_mask & (1 << psb_intel_encoder->type)) | ||
608 | index_mask |= (1 << entry); | 606 | index_mask |= (1 << entry); |
609 | entry++; | 607 | entry++; |
610 | } | 608 | } |
diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h index 9a34e85c7421..bde27fdb41bf 100644 --- a/drivers/gpu/drm/gma500/psb_intel_drv.h +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h | |||
@@ -117,11 +117,11 @@ struct psb_intel_i2c_chan { | |||
117 | u8 slave_addr; | 117 | u8 slave_addr; |
118 | }; | 118 | }; |
119 | 119 | ||
120 | struct psb_intel_encoder { | 120 | struct gma_encoder { |
121 | struct drm_encoder base; | 121 | struct drm_encoder base; |
122 | int type; | 122 | int type; |
123 | bool needs_tv_clock; | 123 | bool needs_tv_clock; |
124 | void (*hot_plug)(struct psb_intel_encoder *); | 124 | void (*hot_plug)(struct gma_encoder *); |
125 | int crtc_mask; | 125 | int crtc_mask; |
126 | int clone_mask; | 126 | int clone_mask; |
127 | u32 ddi_select; /* Channel info */ | 127 | u32 ddi_select; /* Channel info */ |
@@ -139,7 +139,7 @@ struct psb_intel_encoder { | |||
139 | 139 | ||
140 | struct gma_connector { | 140 | struct gma_connector { |
141 | struct drm_connector base; | 141 | struct drm_connector base; |
142 | struct psb_intel_encoder *encoder; | 142 | struct gma_encoder *encoder; |
143 | }; | 143 | }; |
144 | 144 | ||
145 | struct psb_intel_crtc_state { | 145 | struct psb_intel_crtc_state { |
@@ -197,8 +197,8 @@ struct gma_crtc { | |||
197 | container_of(x, struct gma_crtc, base) | 197 | container_of(x, struct gma_crtc, base) |
198 | #define to_gma_connector(x) \ | 198 | #define to_gma_connector(x) \ |
199 | container_of(x, struct gma_connector, base) | 199 | container_of(x, struct gma_connector, base) |
200 | #define to_psb_intel_encoder(x) \ | 200 | #define to_gma_encoder(x) \ |
201 | container_of(x, struct psb_intel_encoder, base) | 201 | container_of(x, struct gma_encoder, base) |
202 | #define to_psb_intel_framebuffer(x) \ | 202 | #define to_psb_intel_framebuffer(x) \ |
203 | container_of(x, struct psb_intel_framebuffer, base) | 203 | container_of(x, struct psb_intel_framebuffer, base) |
204 | 204 | ||
@@ -228,9 +228,9 @@ extern void mid_dsi_init(struct drm_device *dev, | |||
228 | 228 | ||
229 | extern struct drm_encoder *gma_best_encoder(struct drm_connector *connector); | 229 | extern struct drm_encoder *gma_best_encoder(struct drm_connector *connector); |
230 | extern void gma_connector_attach_encoder(struct gma_connector *connector, | 230 | extern void gma_connector_attach_encoder(struct gma_connector *connector, |
231 | struct psb_intel_encoder *encoder); | 231 | struct gma_encoder *encoder); |
232 | 232 | ||
233 | static inline struct psb_intel_encoder *gma_attached_encoder( | 233 | static inline struct gma_encoder *gma_attached_encoder( |
234 | struct drm_connector *connector) | 234 | struct drm_connector *connector) |
235 | { | 235 | { |
236 | return to_gma_connector(connector)->encoder; | 236 | return to_gma_connector(connector)->encoder; |
diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c index c08627554b50..32342f6990d9 100644 --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c | |||
@@ -267,10 +267,9 @@ static void psb_intel_lvds_save(struct drm_connector *connector) | |||
267 | struct drm_device *dev = connector->dev; | 267 | struct drm_device *dev = connector->dev; |
268 | struct drm_psb_private *dev_priv = | 268 | struct drm_psb_private *dev_priv = |
269 | (struct drm_psb_private *)dev->dev_private; | 269 | (struct drm_psb_private *)dev->dev_private; |
270 | struct psb_intel_encoder *psb_intel_encoder = | 270 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
271 | gma_attached_encoder(connector); | ||
272 | struct psb_intel_lvds_priv *lvds_priv = | 271 | struct psb_intel_lvds_priv *lvds_priv = |
273 | (struct psb_intel_lvds_priv *)psb_intel_encoder->dev_priv; | 272 | (struct psb_intel_lvds_priv *)gma_encoder->dev_priv; |
274 | 273 | ||
275 | lvds_priv->savePP_ON = REG_READ(LVDSPP_ON); | 274 | lvds_priv->savePP_ON = REG_READ(LVDSPP_ON); |
276 | lvds_priv->savePP_OFF = REG_READ(LVDSPP_OFF); | 275 | lvds_priv->savePP_OFF = REG_READ(LVDSPP_OFF); |
@@ -307,10 +306,9 @@ static void psb_intel_lvds_restore(struct drm_connector *connector) | |||
307 | { | 306 | { |
308 | struct drm_device *dev = connector->dev; | 307 | struct drm_device *dev = connector->dev; |
309 | u32 pp_status; | 308 | u32 pp_status; |
310 | struct psb_intel_encoder *psb_intel_encoder = | 309 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
311 | gma_attached_encoder(connector); | ||
312 | struct psb_intel_lvds_priv *lvds_priv = | 310 | struct psb_intel_lvds_priv *lvds_priv = |
313 | (struct psb_intel_lvds_priv *)psb_intel_encoder->dev_priv; | 311 | (struct psb_intel_lvds_priv *)gma_encoder->dev_priv; |
314 | 312 | ||
315 | dev_dbg(dev->dev, "(0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", | 313 | dev_dbg(dev->dev, "(0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", |
316 | lvds_priv->savePP_ON, | 314 | lvds_priv->savePP_ON, |
@@ -349,12 +347,11 @@ int psb_intel_lvds_mode_valid(struct drm_connector *connector, | |||
349 | struct drm_display_mode *mode) | 347 | struct drm_display_mode *mode) |
350 | { | 348 | { |
351 | struct drm_psb_private *dev_priv = connector->dev->dev_private; | 349 | struct drm_psb_private *dev_priv = connector->dev->dev_private; |
352 | struct psb_intel_encoder *psb_intel_encoder = | 350 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
353 | gma_attached_encoder(connector); | ||
354 | struct drm_display_mode *fixed_mode = | 351 | struct drm_display_mode *fixed_mode = |
355 | dev_priv->mode_dev.panel_fixed_mode; | 352 | dev_priv->mode_dev.panel_fixed_mode; |
356 | 353 | ||
357 | if (psb_intel_encoder->type == INTEL_OUTPUT_MIPI2) | 354 | if (gma_encoder->type == INTEL_OUTPUT_MIPI2) |
358 | fixed_mode = dev_priv->mode_dev.panel_fixed_mode2; | 355 | fixed_mode = dev_priv->mode_dev.panel_fixed_mode2; |
359 | 356 | ||
360 | /* just in case */ | 357 | /* just in case */ |
@@ -384,10 +381,9 @@ bool psb_intel_lvds_mode_fixup(struct drm_encoder *encoder, | |||
384 | struct gma_crtc *gma_crtc = to_gma_crtc(encoder->crtc); | 381 | struct gma_crtc *gma_crtc = to_gma_crtc(encoder->crtc); |
385 | struct drm_encoder *tmp_encoder; | 382 | struct drm_encoder *tmp_encoder; |
386 | struct drm_display_mode *panel_fixed_mode = mode_dev->panel_fixed_mode; | 383 | struct drm_display_mode *panel_fixed_mode = mode_dev->panel_fixed_mode; |
387 | struct psb_intel_encoder *psb_intel_encoder = | 384 | struct gma_encoder *gma_encoder = to_gma_encoder(encoder); |
388 | to_psb_intel_encoder(encoder); | ||
389 | 385 | ||
390 | if (psb_intel_encoder->type == INTEL_OUTPUT_MIPI2) | 386 | if (gma_encoder->type == INTEL_OUTPUT_MIPI2) |
391 | panel_fixed_mode = mode_dev->panel_fixed_mode2; | 387 | panel_fixed_mode = mode_dev->panel_fixed_mode2; |
392 | 388 | ||
393 | /* PSB requires the LVDS is on pipe B, MRST has only one pipe anyway */ | 389 | /* PSB requires the LVDS is on pipe B, MRST has only one pipe anyway */ |
@@ -524,9 +520,8 @@ static int psb_intel_lvds_get_modes(struct drm_connector *connector) | |||
524 | struct drm_device *dev = connector->dev; | 520 | struct drm_device *dev = connector->dev; |
525 | struct drm_psb_private *dev_priv = dev->dev_private; | 521 | struct drm_psb_private *dev_priv = dev->dev_private; |
526 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; | 522 | struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev; |
527 | struct psb_intel_encoder *psb_intel_encoder = | 523 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
528 | gma_attached_encoder(connector); | 524 | struct psb_intel_lvds_priv *lvds_priv = gma_encoder->dev_priv; |
529 | struct psb_intel_lvds_priv *lvds_priv = psb_intel_encoder->dev_priv; | ||
530 | int ret = 0; | 525 | int ret = 0; |
531 | 526 | ||
532 | if (!IS_MRST(dev)) | 527 | if (!IS_MRST(dev)) |
@@ -563,9 +558,8 @@ static int psb_intel_lvds_get_modes(struct drm_connector *connector) | |||
563 | */ | 558 | */ |
564 | void psb_intel_lvds_destroy(struct drm_connector *connector) | 559 | void psb_intel_lvds_destroy(struct drm_connector *connector) |
565 | { | 560 | { |
566 | struct psb_intel_encoder *psb_intel_encoder = | 561 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
567 | gma_attached_encoder(connector); | 562 | struct psb_intel_lvds_priv *lvds_priv = gma_encoder->dev_priv; |
568 | struct psb_intel_lvds_priv *lvds_priv = psb_intel_encoder->dev_priv; | ||
569 | 563 | ||
570 | if (lvds_priv->ddc_bus) | 564 | if (lvds_priv->ddc_bus) |
571 | psb_intel_i2c_destroy(lvds_priv->ddc_bus); | 565 | psb_intel_i2c_destroy(lvds_priv->ddc_bus); |
@@ -689,7 +683,7 @@ const struct drm_encoder_funcs psb_intel_lvds_enc_funcs = { | |||
689 | void psb_intel_lvds_init(struct drm_device *dev, | 683 | void psb_intel_lvds_init(struct drm_device *dev, |
690 | struct psb_intel_mode_device *mode_dev) | 684 | struct psb_intel_mode_device *mode_dev) |
691 | { | 685 | { |
692 | struct psb_intel_encoder *psb_intel_encoder; | 686 | struct gma_encoder *gma_encoder; |
693 | struct gma_connector *gma_connector; | 687 | struct gma_connector *gma_connector; |
694 | struct psb_intel_lvds_priv *lvds_priv; | 688 | struct psb_intel_lvds_priv *lvds_priv; |
695 | struct drm_connector *connector; | 689 | struct drm_connector *connector; |
@@ -700,10 +694,9 @@ void psb_intel_lvds_init(struct drm_device *dev, | |||
700 | u32 lvds; | 694 | u32 lvds; |
701 | int pipe; | 695 | int pipe; |
702 | 696 | ||
703 | psb_intel_encoder = | 697 | gma_encoder = kzalloc(sizeof(struct gma_encoder), GFP_KERNEL); |
704 | kzalloc(sizeof(struct psb_intel_encoder), GFP_KERNEL); | 698 | if (!gma_encoder) { |
705 | if (!psb_intel_encoder) { | 699 | dev_err(dev->dev, "gma_encoder allocation error\n"); |
706 | dev_err(dev->dev, "psb_intel_encoder allocation error\n"); | ||
707 | return; | 700 | return; |
708 | } | 701 | } |
709 | 702 | ||
@@ -719,10 +712,10 @@ void psb_intel_lvds_init(struct drm_device *dev, | |||
719 | goto failed_connector; | 712 | goto failed_connector; |
720 | } | 713 | } |
721 | 714 | ||
722 | psb_intel_encoder->dev_priv = lvds_priv; | 715 | gma_encoder->dev_priv = lvds_priv; |
723 | 716 | ||
724 | connector = &gma_connector->base; | 717 | connector = &gma_connector->base; |
725 | encoder = &psb_intel_encoder->base; | 718 | encoder = &gma_encoder->base; |
726 | drm_connector_init(dev, connector, | 719 | drm_connector_init(dev, connector, |
727 | &psb_intel_lvds_connector_funcs, | 720 | &psb_intel_lvds_connector_funcs, |
728 | DRM_MODE_CONNECTOR_LVDS); | 721 | DRM_MODE_CONNECTOR_LVDS); |
@@ -731,8 +724,8 @@ void psb_intel_lvds_init(struct drm_device *dev, | |||
731 | &psb_intel_lvds_enc_funcs, | 724 | &psb_intel_lvds_enc_funcs, |
732 | DRM_MODE_ENCODER_LVDS); | 725 | DRM_MODE_ENCODER_LVDS); |
733 | 726 | ||
734 | gma_connector_attach_encoder(gma_connector, psb_intel_encoder); | 727 | gma_connector_attach_encoder(gma_connector, gma_encoder); |
735 | psb_intel_encoder->type = INTEL_OUTPUT_LVDS; | 728 | gma_encoder->type = INTEL_OUTPUT_LVDS; |
736 | 729 | ||
737 | drm_encoder_helper_add(encoder, &psb_intel_lvds_helper_funcs); | 730 | drm_encoder_helper_add(encoder, &psb_intel_lvds_helper_funcs); |
738 | drm_connector_helper_add(connector, | 731 | drm_connector_helper_add(connector, |
@@ -849,6 +842,6 @@ failed_blc_i2c: | |||
849 | failed_connector: | 842 | failed_connector: |
850 | kfree(gma_connector); | 843 | kfree(gma_connector); |
851 | failed_encoder: | 844 | failed_encoder: |
852 | kfree(psb_intel_encoder); | 845 | kfree(gma_encoder); |
853 | } | 846 | } |
854 | 847 | ||
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c b/drivers/gpu/drm/gma500/psb_intel_sdvo.c index 7164c3c8f492..77841a113617 100644 --- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c +++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c | |||
@@ -65,7 +65,7 @@ static const char *tv_format_names[] = { | |||
65 | #define TV_FORMAT_NUM (sizeof(tv_format_names) / sizeof(*tv_format_names)) | 65 | #define TV_FORMAT_NUM (sizeof(tv_format_names) / sizeof(*tv_format_names)) |
66 | 66 | ||
67 | struct psb_intel_sdvo { | 67 | struct psb_intel_sdvo { |
68 | struct psb_intel_encoder base; | 68 | struct gma_encoder base; |
69 | 69 | ||
70 | struct i2c_adapter *i2c; | 70 | struct i2c_adapter *i2c; |
71 | u8 slave_addr; | 71 | u8 slave_addr; |
@@ -1836,10 +1836,8 @@ done: | |||
1836 | static void psb_intel_sdvo_save(struct drm_connector *connector) | 1836 | static void psb_intel_sdvo_save(struct drm_connector *connector) |
1837 | { | 1837 | { |
1838 | struct drm_device *dev = connector->dev; | 1838 | struct drm_device *dev = connector->dev; |
1839 | struct psb_intel_encoder *psb_intel_encoder = | 1839 | struct gma_encoder *gma_encoder = gma_attached_encoder(connector); |
1840 | gma_attached_encoder(connector); | 1840 | struct psb_intel_sdvo *sdvo = to_psb_intel_sdvo(&gma_encoder->base); |
1841 | struct psb_intel_sdvo *sdvo = | ||
1842 | to_psb_intel_sdvo(&psb_intel_encoder->base); | ||
1843 | 1841 | ||
1844 | sdvo->saveSDVO = REG_READ(sdvo->sdvo_reg); | 1842 | sdvo->saveSDVO = REG_READ(sdvo->sdvo_reg); |
1845 | } | 1843 | } |
@@ -2539,7 +2537,7 @@ psb_intel_sdvo_init_ddc_proxy(struct psb_intel_sdvo *sdvo, | |||
2539 | bool psb_intel_sdvo_init(struct drm_device *dev, int sdvo_reg) | 2537 | bool psb_intel_sdvo_init(struct drm_device *dev, int sdvo_reg) |
2540 | { | 2538 | { |
2541 | struct drm_psb_private *dev_priv = dev->dev_private; | 2539 | struct drm_psb_private *dev_priv = dev->dev_private; |
2542 | struct psb_intel_encoder *psb_intel_encoder; | 2540 | struct gma_encoder *gma_encoder; |
2543 | struct psb_intel_sdvo *psb_intel_sdvo; | 2541 | struct psb_intel_sdvo *psb_intel_sdvo; |
2544 | int i; | 2542 | int i; |
2545 | 2543 | ||
@@ -2556,9 +2554,9 @@ bool psb_intel_sdvo_init(struct drm_device *dev, int sdvo_reg) | |||
2556 | } | 2554 | } |
2557 | 2555 | ||
2558 | /* encoder type will be decided later */ | 2556 | /* encoder type will be decided later */ |
2559 | psb_intel_encoder = &psb_intel_sdvo->base; | 2557 | gma_encoder = &psb_intel_sdvo->base; |
2560 | psb_intel_encoder->type = INTEL_OUTPUT_SDVO; | 2558 | gma_encoder->type = INTEL_OUTPUT_SDVO; |
2561 | drm_encoder_init(dev, &psb_intel_encoder->base, &psb_intel_sdvo_enc_funcs, 0); | 2559 | drm_encoder_init(dev, &gma_encoder->base, &psb_intel_sdvo_enc_funcs, 0); |
2562 | 2560 | ||
2563 | /* Read the regs to test if we can talk to the device */ | 2561 | /* Read the regs to test if we can talk to the device */ |
2564 | for (i = 0; i < 0x40; i++) { | 2562 | for (i = 0; i < 0x40; i++) { |
@@ -2576,7 +2574,7 @@ bool psb_intel_sdvo_init(struct drm_device *dev, int sdvo_reg) | |||
2576 | else | 2574 | else |
2577 | dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; | 2575 | dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; |
2578 | 2576 | ||
2579 | drm_encoder_helper_add(&psb_intel_encoder->base, &psb_intel_sdvo_helper_funcs); | 2577 | drm_encoder_helper_add(&gma_encoder->base, &psb_intel_sdvo_helper_funcs); |
2580 | 2578 | ||
2581 | /* In default case sdvo lvds is false */ | 2579 | /* In default case sdvo lvds is false */ |
2582 | if (!psb_intel_sdvo_get_capabilities(psb_intel_sdvo, &psb_intel_sdvo->caps)) | 2580 | if (!psb_intel_sdvo_get_capabilities(psb_intel_sdvo, &psb_intel_sdvo->caps)) |
@@ -2619,7 +2617,7 @@ bool psb_intel_sdvo_init(struct drm_device *dev, int sdvo_reg) | |||
2619 | return true; | 2617 | return true; |
2620 | 2618 | ||
2621 | err: | 2619 | err: |
2622 | drm_encoder_cleanup(&psb_intel_encoder->base); | 2620 | drm_encoder_cleanup(&gma_encoder->base); |
2623 | i2c_del_adapter(&psb_intel_sdvo->ddc); | 2621 | i2c_del_adapter(&psb_intel_sdvo->ddc); |
2624 | kfree(psb_intel_sdvo); | 2622 | kfree(psb_intel_sdvo); |
2625 | 2623 | ||