diff options
author | Eric Anholt <eric@anholt.net> | 2010-03-25 14:11:14 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-03-25 15:27:32 -0400 |
commit | 21d40d37eca86872f2bf0af995809ebdef25c9d9 (patch) | |
tree | b9626f936392f223fa7d001de38213a177bfe7fd /drivers | |
parent | 5e64499f3d39c633de49320e399479642c2b1743 (diff) |
drm/i915: Rename intel_output to intel_encoder.
The intel_output naming is inherited from the UMS code, which had a
structure of screen -> CRTC -> output. The DRM code has an additional
notion of encoder/connector, so the structure is screen -> CRTC ->
encoder -> connector. This is a useful structure for SDVO encoders
which can support multiple connectors (each of which requires
different programming in the one encoder and could be connected to
different CRTCs), or for DVI-I, where multiple encoders feed into the
connector for whether it's used for digital or analog. Most of our
code is encoder-related, so transition it to talking about encoders
before we start trying to distinguish connectors.
This patch is produced by sed s/intel_output/intel_encoder/ over the
driver.
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_crt.c | 68 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 46 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 256 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 18 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dvo.c | 92 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 86 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 64 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_modes.c | 22 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 572 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_tv.c | 96 |
11 files changed, 663 insertions, 663 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index bfbdad92d73d..5b53adfad40a 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -259,10 +259,10 @@ static void i915_hotplug_work_func(struct work_struct *work) | |||
259 | 259 | ||
260 | if (mode_config->num_connector) { | 260 | if (mode_config->num_connector) { |
261 | list_for_each_entry(connector, &mode_config->connector_list, head) { | 261 | list_for_each_entry(connector, &mode_config->connector_list, head) { |
262 | struct intel_output *intel_output = to_intel_output(connector); | 262 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
263 | 263 | ||
264 | if (intel_output->hot_plug) | 264 | if (intel_encoder->hot_plug) |
265 | (*intel_output->hot_plug) (intel_output); | 265 | (*intel_encoder->hot_plug) (intel_encoder); |
266 | } | 266 | } |
267 | } | 267 | } |
268 | /* Just fire off a uevent and let userspace tell us what to do */ | 268 | /* Just fire off a uevent and let userspace tell us what to do */ |
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index fccf07470c8f..36c4ad7fb3b6 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c | |||
@@ -246,19 +246,19 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector) | |||
246 | 246 | ||
247 | static bool intel_crt_detect_ddc(struct drm_connector *connector) | 247 | static bool intel_crt_detect_ddc(struct drm_connector *connector) |
248 | { | 248 | { |
249 | struct intel_output *intel_output = to_intel_output(connector); | 249 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
250 | 250 | ||
251 | /* CRT should always be at 0, but check anyway */ | 251 | /* CRT should always be at 0, but check anyway */ |
252 | if (intel_output->type != INTEL_OUTPUT_ANALOG) | 252 | if (intel_encoder->type != INTEL_OUTPUT_ANALOG) |
253 | return false; | 253 | return false; |
254 | 254 | ||
255 | return intel_ddc_probe(intel_output); | 255 | return intel_ddc_probe(intel_encoder); |
256 | } | 256 | } |
257 | 257 | ||
258 | static enum drm_connector_status | 258 | static enum drm_connector_status |
259 | intel_crt_load_detect(struct drm_crtc *crtc, struct intel_output *intel_output) | 259 | intel_crt_load_detect(struct drm_crtc *crtc, struct intel_encoder *intel_encoder) |
260 | { | 260 | { |
261 | struct drm_encoder *encoder = &intel_output->enc; | 261 | struct drm_encoder *encoder = &intel_encoder->enc; |
262 | struct drm_device *dev = encoder->dev; | 262 | struct drm_device *dev = encoder->dev; |
263 | struct drm_i915_private *dev_priv = dev->dev_private; | 263 | struct drm_i915_private *dev_priv = dev->dev_private; |
264 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | 264 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); |
@@ -386,8 +386,8 @@ intel_crt_load_detect(struct drm_crtc *crtc, struct intel_output *intel_output) | |||
386 | static enum drm_connector_status intel_crt_detect(struct drm_connector *connector) | 386 | static enum drm_connector_status intel_crt_detect(struct drm_connector *connector) |
387 | { | 387 | { |
388 | struct drm_device *dev = connector->dev; | 388 | struct drm_device *dev = connector->dev; |
389 | struct intel_output *intel_output = to_intel_output(connector); | 389 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
390 | struct drm_encoder *encoder = &intel_output->enc; | 390 | struct drm_encoder *encoder = &intel_encoder->enc; |
391 | struct drm_crtc *crtc; | 391 | struct drm_crtc *crtc; |
392 | int dpms_mode; | 392 | int dpms_mode; |
393 | enum drm_connector_status status; | 393 | enum drm_connector_status status; |
@@ -404,13 +404,13 @@ static enum drm_connector_status intel_crt_detect(struct drm_connector *connecto | |||
404 | 404 | ||
405 | /* for pre-945g platforms use load detect */ | 405 | /* for pre-945g platforms use load detect */ |
406 | if (encoder->crtc && encoder->crtc->enabled) { | 406 | if (encoder->crtc && encoder->crtc->enabled) { |
407 | status = intel_crt_load_detect(encoder->crtc, intel_output); | 407 | status = intel_crt_load_detect(encoder->crtc, intel_encoder); |
408 | } else { | 408 | } else { |
409 | crtc = intel_get_load_detect_pipe(intel_output, | 409 | crtc = intel_get_load_detect_pipe(intel_encoder, |
410 | NULL, &dpms_mode); | 410 | NULL, &dpms_mode); |
411 | if (crtc) { | 411 | if (crtc) { |
412 | status = intel_crt_load_detect(crtc, intel_output); | 412 | status = intel_crt_load_detect(crtc, intel_encoder); |
413 | intel_release_load_detect_pipe(intel_output, dpms_mode); | 413 | intel_release_load_detect_pipe(intel_encoder, dpms_mode); |
414 | } else | 414 | } else |
415 | status = connector_status_unknown; | 415 | status = connector_status_unknown; |
416 | } | 416 | } |
@@ -420,9 +420,9 @@ static enum drm_connector_status intel_crt_detect(struct drm_connector *connecto | |||
420 | 420 | ||
421 | static void intel_crt_destroy(struct drm_connector *connector) | 421 | static void intel_crt_destroy(struct drm_connector *connector) |
422 | { | 422 | { |
423 | struct intel_output *intel_output = to_intel_output(connector); | 423 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
424 | 424 | ||
425 | intel_i2c_destroy(intel_output->ddc_bus); | 425 | intel_i2c_destroy(intel_encoder->ddc_bus); |
426 | drm_sysfs_connector_remove(connector); | 426 | drm_sysfs_connector_remove(connector); |
427 | drm_connector_cleanup(connector); | 427 | drm_connector_cleanup(connector); |
428 | kfree(connector); | 428 | kfree(connector); |
@@ -431,28 +431,28 @@ static void intel_crt_destroy(struct drm_connector *connector) | |||
431 | static int intel_crt_get_modes(struct drm_connector *connector) | 431 | static int intel_crt_get_modes(struct drm_connector *connector) |
432 | { | 432 | { |
433 | int ret; | 433 | int ret; |
434 | struct intel_output *intel_output = to_intel_output(connector); | 434 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
435 | struct i2c_adapter *ddcbus; | 435 | struct i2c_adapter *ddcbus; |
436 | struct drm_device *dev = connector->dev; | 436 | struct drm_device *dev = connector->dev; |
437 | 437 | ||
438 | 438 | ||
439 | ret = intel_ddc_get_modes(intel_output); | 439 | ret = intel_ddc_get_modes(intel_encoder); |
440 | if (ret || !IS_G4X(dev)) | 440 | if (ret || !IS_G4X(dev)) |
441 | goto end; | 441 | goto end; |
442 | 442 | ||
443 | ddcbus = intel_output->ddc_bus; | 443 | ddcbus = intel_encoder->ddc_bus; |
444 | /* Try to probe digital port for output in DVI-I -> VGA mode. */ | 444 | /* Try to probe digital port for output in DVI-I -> VGA mode. */ |
445 | intel_output->ddc_bus = | 445 | intel_encoder->ddc_bus = |
446 | intel_i2c_create(connector->dev, GPIOD, "CRTDDC_D"); | 446 | intel_i2c_create(connector->dev, GPIOD, "CRTDDC_D"); |
447 | 447 | ||
448 | if (!intel_output->ddc_bus) { | 448 | if (!intel_encoder->ddc_bus) { |
449 | intel_output->ddc_bus = ddcbus; | 449 | intel_encoder->ddc_bus = ddcbus; |
450 | dev_printk(KERN_ERR, &connector->dev->pdev->dev, | 450 | dev_printk(KERN_ERR, &connector->dev->pdev->dev, |
451 | "DDC bus registration failed for CRTDDC_D.\n"); | 451 | "DDC bus registration failed for CRTDDC_D.\n"); |
452 | goto end; | 452 | goto end; |
453 | } | 453 | } |
454 | /* Try to get modes by GPIOD port */ | 454 | /* Try to get modes by GPIOD port */ |
455 | ret = intel_ddc_get_modes(intel_output); | 455 | ret = intel_ddc_get_modes(intel_encoder); |
456 | intel_i2c_destroy(ddcbus); | 456 | intel_i2c_destroy(ddcbus); |
457 | 457 | ||
458 | end: | 458 | end: |
@@ -505,23 +505,23 @@ static const struct drm_encoder_funcs intel_crt_enc_funcs = { | |||
505 | void intel_crt_init(struct drm_device *dev) | 505 | void intel_crt_init(struct drm_device *dev) |
506 | { | 506 | { |
507 | struct drm_connector *connector; | 507 | struct drm_connector *connector; |
508 | struct intel_output *intel_output; | 508 | struct intel_encoder *intel_encoder; |
509 | struct drm_i915_private *dev_priv = dev->dev_private; | 509 | struct drm_i915_private *dev_priv = dev->dev_private; |
510 | u32 i2c_reg; | 510 | u32 i2c_reg; |
511 | 511 | ||
512 | intel_output = kzalloc(sizeof(struct intel_output), GFP_KERNEL); | 512 | intel_encoder = kzalloc(sizeof(struct intel_encoder), GFP_KERNEL); |
513 | if (!intel_output) | 513 | if (!intel_encoder) |
514 | return; | 514 | return; |
515 | 515 | ||
516 | connector = &intel_output->base; | 516 | connector = &intel_encoder->base; |
517 | drm_connector_init(dev, &intel_output->base, | 517 | drm_connector_init(dev, &intel_encoder->base, |
518 | &intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA); | 518 | &intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA); |
519 | 519 | ||
520 | drm_encoder_init(dev, &intel_output->enc, &intel_crt_enc_funcs, | 520 | drm_encoder_init(dev, &intel_encoder->enc, &intel_crt_enc_funcs, |
521 | DRM_MODE_ENCODER_DAC); | 521 | DRM_MODE_ENCODER_DAC); |
522 | 522 | ||
523 | drm_mode_connector_attach_encoder(&intel_output->base, | 523 | drm_mode_connector_attach_encoder(&intel_encoder->base, |
524 | &intel_output->enc); | 524 | &intel_encoder->enc); |
525 | 525 | ||
526 | /* Set up the DDC bus. */ | 526 | /* Set up the DDC bus. */ |
527 | if (HAS_PCH_SPLIT(dev)) | 527 | if (HAS_PCH_SPLIT(dev)) |
@@ -532,22 +532,22 @@ void intel_crt_init(struct drm_device *dev) | |||
532 | if (dev_priv->crt_ddc_bus != 0) | 532 | if (dev_priv->crt_ddc_bus != 0) |
533 | i2c_reg = dev_priv->crt_ddc_bus; | 533 | i2c_reg = dev_priv->crt_ddc_bus; |
534 | } | 534 | } |
535 | intel_output->ddc_bus = intel_i2c_create(dev, i2c_reg, "CRTDDC_A"); | 535 | intel_encoder->ddc_bus = intel_i2c_create(dev, i2c_reg, "CRTDDC_A"); |
536 | if (!intel_output->ddc_bus) { | 536 | if (!intel_encoder->ddc_bus) { |
537 | dev_printk(KERN_ERR, &dev->pdev->dev, "DDC bus registration " | 537 | dev_printk(KERN_ERR, &dev->pdev->dev, "DDC bus registration " |
538 | "failed.\n"); | 538 | "failed.\n"); |
539 | return; | 539 | return; |
540 | } | 540 | } |
541 | 541 | ||
542 | intel_output->type = INTEL_OUTPUT_ANALOG; | 542 | intel_encoder->type = INTEL_OUTPUT_ANALOG; |
543 | intel_output->clone_mask = (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | | 543 | intel_encoder->clone_mask = (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | |
544 | (1 << INTEL_ANALOG_CLONE_BIT) | | 544 | (1 << INTEL_ANALOG_CLONE_BIT) | |
545 | (1 << INTEL_SDVO_LVDS_CLONE_BIT); | 545 | (1 << INTEL_SDVO_LVDS_CLONE_BIT); |
546 | intel_output->crtc_mask = (1 << 0) | (1 << 1); | 546 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); |
547 | connector->interlace_allowed = 0; | 547 | connector->interlace_allowed = 0; |
548 | connector->doublescan_allowed = 0; | 548 | connector->doublescan_allowed = 0; |
549 | 549 | ||
550 | drm_encoder_helper_add(&intel_output->enc, &intel_crt_helper_funcs); | 550 | drm_encoder_helper_add(&intel_encoder->enc, &intel_crt_helper_funcs); |
551 | drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); | 551 | drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); |
552 | 552 | ||
553 | drm_sysfs_connector_add(connector); | 553 | drm_sysfs_connector_add(connector); |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 7adb3a54aac6..2595c4ccc6a8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -746,8 +746,8 @@ bool intel_pipe_has_type (struct drm_crtc *crtc, int type) | |||
746 | list_for_each_entry(l_entry, &mode_config->connector_list, head) { | 746 | list_for_each_entry(l_entry, &mode_config->connector_list, head) { |
747 | if (l_entry->encoder && | 747 | if (l_entry->encoder && |
748 | l_entry->encoder->crtc == crtc) { | 748 | l_entry->encoder->crtc == crtc) { |
749 | struct intel_output *intel_output = to_intel_output(l_entry); | 749 | struct intel_encoder *intel_encoder = to_intel_encoder(l_entry); |
750 | if (intel_output->type == type) | 750 | if (intel_encoder->type == type) |
751 | return true; | 751 | return true; |
752 | } | 752 | } |
753 | } | 753 | } |
@@ -2942,19 +2942,19 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
2942 | drm_vblank_pre_modeset(dev, pipe); | 2942 | drm_vblank_pre_modeset(dev, pipe); |
2943 | 2943 | ||
2944 | list_for_each_entry(connector, &mode_config->connector_list, head) { | 2944 | list_for_each_entry(connector, &mode_config->connector_list, head) { |
2945 | struct intel_output *intel_output = to_intel_output(connector); | 2945 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
2946 | 2946 | ||
2947 | if (!connector->encoder || connector->encoder->crtc != crtc) | 2947 | if (!connector->encoder || connector->encoder->crtc != crtc) |
2948 | continue; | 2948 | continue; |
2949 | 2949 | ||
2950 | switch (intel_output->type) { | 2950 | switch (intel_encoder->type) { |
2951 | case INTEL_OUTPUT_LVDS: | 2951 | case INTEL_OUTPUT_LVDS: |
2952 | is_lvds = true; | 2952 | is_lvds = true; |
2953 | break; | 2953 | break; |
2954 | case INTEL_OUTPUT_SDVO: | 2954 | case INTEL_OUTPUT_SDVO: |
2955 | case INTEL_OUTPUT_HDMI: | 2955 | case INTEL_OUTPUT_HDMI: |
2956 | is_sdvo = true; | 2956 | is_sdvo = true; |
2957 | if (intel_output->needs_tv_clock) | 2957 | if (intel_encoder->needs_tv_clock) |
2958 | is_tv = true; | 2958 | is_tv = true; |
2959 | break; | 2959 | break; |
2960 | case INTEL_OUTPUT_DVO: | 2960 | case INTEL_OUTPUT_DVO: |
@@ -3049,7 +3049,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
3049 | struct drm_connector *edp; | 3049 | struct drm_connector *edp; |
3050 | target_clock = mode->clock; | 3050 | target_clock = mode->clock; |
3051 | edp = intel_pipe_get_output(crtc); | 3051 | edp = intel_pipe_get_output(crtc); |
3052 | intel_edp_link_config(to_intel_output(edp), | 3052 | intel_edp_link_config(to_intel_encoder(edp), |
3053 | &lane, &link_bw); | 3053 | &lane, &link_bw); |
3054 | } else { | 3054 | } else { |
3055 | /* DP over FDI requires target mode clock | 3055 | /* DP over FDI requires target mode clock |
@@ -3669,14 +3669,14 @@ static struct drm_display_mode load_detect_mode = { | |||
3669 | 704, 832, 0, 480, 489, 491, 520, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC), | 3669 | 704, 832, 0, 480, 489, 491, 520, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC), |
3670 | }; | 3670 | }; |
3671 | 3671 | ||
3672 | struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output, | 3672 | struct drm_crtc *intel_get_load_detect_pipe(struct intel_encoder *intel_encoder, |
3673 | struct drm_display_mode *mode, | 3673 | struct drm_display_mode *mode, |
3674 | int *dpms_mode) | 3674 | int *dpms_mode) |
3675 | { | 3675 | { |
3676 | struct intel_crtc *intel_crtc; | 3676 | struct intel_crtc *intel_crtc; |
3677 | struct drm_crtc *possible_crtc; | 3677 | struct drm_crtc *possible_crtc; |
3678 | struct drm_crtc *supported_crtc =NULL; | 3678 | struct drm_crtc *supported_crtc =NULL; |
3679 | struct drm_encoder *encoder = &intel_output->enc; | 3679 | struct drm_encoder *encoder = &intel_encoder->enc; |
3680 | struct drm_crtc *crtc = NULL; | 3680 | struct drm_crtc *crtc = NULL; |
3681 | struct drm_device *dev = encoder->dev; | 3681 | struct drm_device *dev = encoder->dev; |
3682 | struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; | 3682 | struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; |
@@ -3728,8 +3728,8 @@ struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output, | |||
3728 | } | 3728 | } |
3729 | 3729 | ||
3730 | encoder->crtc = crtc; | 3730 | encoder->crtc = crtc; |
3731 | intel_output->base.encoder = encoder; | 3731 | intel_encoder->base.encoder = encoder; |
3732 | intel_output->load_detect_temp = true; | 3732 | intel_encoder->load_detect_temp = true; |
3733 | 3733 | ||
3734 | intel_crtc = to_intel_crtc(crtc); | 3734 | intel_crtc = to_intel_crtc(crtc); |
3735 | *dpms_mode = intel_crtc->dpms_mode; | 3735 | *dpms_mode = intel_crtc->dpms_mode; |
@@ -3754,18 +3754,18 @@ struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output, | |||
3754 | return crtc; | 3754 | return crtc; |
3755 | } | 3755 | } |
3756 | 3756 | ||
3757 | void intel_release_load_detect_pipe(struct intel_output *intel_output, int dpms_mode) | 3757 | void intel_release_load_detect_pipe(struct intel_encoder *intel_encoder, int dpms_mode) |
3758 | { | 3758 | { |
3759 | struct drm_encoder *encoder = &intel_output->enc; | 3759 | struct drm_encoder *encoder = &intel_encoder->enc; |
3760 | struct drm_device *dev = encoder->dev; | 3760 | struct drm_device *dev = encoder->dev; |
3761 | struct drm_crtc *crtc = encoder->crtc; | 3761 | struct drm_crtc *crtc = encoder->crtc; |
3762 | struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; | 3762 | struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; |
3763 | struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; | 3763 | struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; |
3764 | 3764 | ||
3765 | if (intel_output->load_detect_temp) { | 3765 | if (intel_encoder->load_detect_temp) { |
3766 | encoder->crtc = NULL; | 3766 | encoder->crtc = NULL; |
3767 | intel_output->base.encoder = NULL; | 3767 | intel_encoder->base.encoder = NULL; |
3768 | intel_output->load_detect_temp = false; | 3768 | intel_encoder->load_detect_temp = false; |
3769 | crtc->enabled = drm_helper_crtc_in_use(crtc); | 3769 | crtc->enabled = drm_helper_crtc_in_use(crtc); |
3770 | drm_helper_disable_unused_functions(dev); | 3770 | drm_helper_disable_unused_functions(dev); |
3771 | } | 3771 | } |
@@ -4398,8 +4398,8 @@ static int intel_connector_clones(struct drm_device *dev, int type_mask) | |||
4398 | int entry = 0; | 4398 | int entry = 0; |
4399 | 4399 | ||
4400 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 4400 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
4401 | struct intel_output *intel_output = to_intel_output(connector); | 4401 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
4402 | if (type_mask & intel_output->clone_mask) | 4402 | if (type_mask & intel_encoder->clone_mask) |
4403 | index_mask |= (1 << entry); | 4403 | index_mask |= (1 << entry); |
4404 | entry++; | 4404 | entry++; |
4405 | } | 4405 | } |
@@ -4494,12 +4494,12 @@ static void intel_setup_outputs(struct drm_device *dev) | |||
4494 | intel_tv_init(dev); | 4494 | intel_tv_init(dev); |
4495 | 4495 | ||
4496 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 4496 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
4497 | struct intel_output *intel_output = to_intel_output(connector); | 4497 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
4498 | struct drm_encoder *encoder = &intel_output->enc; | 4498 | struct drm_encoder *encoder = &intel_encoder->enc; |
4499 | 4499 | ||
4500 | encoder->possible_crtcs = intel_output->crtc_mask; | 4500 | encoder->possible_crtcs = intel_encoder->crtc_mask; |
4501 | encoder->possible_clones = intel_connector_clones(dev, | 4501 | encoder->possible_clones = intel_connector_clones(dev, |
4502 | intel_output->clone_mask); | 4502 | intel_encoder->clone_mask); |
4503 | } | 4503 | } |
4504 | } | 4504 | } |
4505 | 4505 | ||
@@ -4977,9 +4977,9 @@ void intel_modeset_cleanup(struct drm_device *dev) | |||
4977 | */ | 4977 | */ |
4978 | struct drm_encoder *intel_best_encoder(struct drm_connector *connector) | 4978 | struct drm_encoder *intel_best_encoder(struct drm_connector *connector) |
4979 | { | 4979 | { |
4980 | struct intel_output *intel_output = to_intel_output(connector); | 4980 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
4981 | 4981 | ||
4982 | return &intel_output->enc; | 4982 | return &intel_encoder->enc; |
4983 | } | 4983 | } |
4984 | 4984 | ||
4985 | /* | 4985 | /* |
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 3ef3a0d0edd0..0a7e3264dac2 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -54,23 +54,23 @@ struct intel_dp_priv { | |||
54 | uint8_t link_bw; | 54 | uint8_t link_bw; |
55 | uint8_t lane_count; | 55 | uint8_t lane_count; |
56 | uint8_t dpcd[4]; | 56 | uint8_t dpcd[4]; |
57 | struct intel_output *intel_output; | 57 | struct intel_encoder *intel_encoder; |
58 | struct i2c_adapter adapter; | 58 | struct i2c_adapter adapter; |
59 | struct i2c_algo_dp_aux_data algo; | 59 | struct i2c_algo_dp_aux_data algo; |
60 | }; | 60 | }; |
61 | 61 | ||
62 | static void | 62 | static void |
63 | intel_dp_link_train(struct intel_output *intel_output, uint32_t DP, | 63 | intel_dp_link_train(struct intel_encoder *intel_encoder, uint32_t DP, |
64 | uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]); | 64 | uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]); |
65 | 65 | ||
66 | static void | 66 | static void |
67 | intel_dp_link_down(struct intel_output *intel_output, uint32_t DP); | 67 | intel_dp_link_down(struct intel_encoder *intel_encoder, uint32_t DP); |
68 | 68 | ||
69 | void | 69 | void |
70 | intel_edp_link_config (struct intel_output *intel_output, | 70 | intel_edp_link_config (struct intel_encoder *intel_encoder, |
71 | int *lane_num, int *link_bw) | 71 | int *lane_num, int *link_bw) |
72 | { | 72 | { |
73 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 73 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
74 | 74 | ||
75 | *lane_num = dp_priv->lane_count; | 75 | *lane_num = dp_priv->lane_count; |
76 | if (dp_priv->link_bw == DP_LINK_BW_1_62) | 76 | if (dp_priv->link_bw == DP_LINK_BW_1_62) |
@@ -80,9 +80,9 @@ intel_edp_link_config (struct intel_output *intel_output, | |||
80 | } | 80 | } |
81 | 81 | ||
82 | static int | 82 | static int |
83 | intel_dp_max_lane_count(struct intel_output *intel_output) | 83 | intel_dp_max_lane_count(struct intel_encoder *intel_encoder) |
84 | { | 84 | { |
85 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 85 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
86 | int max_lane_count = 4; | 86 | int max_lane_count = 4; |
87 | 87 | ||
88 | if (dp_priv->dpcd[0] >= 0x11) { | 88 | if (dp_priv->dpcd[0] >= 0x11) { |
@@ -98,9 +98,9 @@ intel_dp_max_lane_count(struct intel_output *intel_output) | |||
98 | } | 98 | } |
99 | 99 | ||
100 | static int | 100 | static int |
101 | intel_dp_max_link_bw(struct intel_output *intel_output) | 101 | intel_dp_max_link_bw(struct intel_encoder *intel_encoder) |
102 | { | 102 | { |
103 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 103 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
104 | int max_link_bw = dp_priv->dpcd[1]; | 104 | int max_link_bw = dp_priv->dpcd[1]; |
105 | 105 | ||
106 | switch (max_link_bw) { | 106 | switch (max_link_bw) { |
@@ -126,11 +126,11 @@ intel_dp_link_clock(uint8_t link_bw) | |||
126 | /* I think this is a fiction */ | 126 | /* I think this is a fiction */ |
127 | static int | 127 | static int |
128 | intel_dp_link_required(struct drm_device *dev, | 128 | intel_dp_link_required(struct drm_device *dev, |
129 | struct intel_output *intel_output, int pixel_clock) | 129 | struct intel_encoder *intel_encoder, int pixel_clock) |
130 | { | 130 | { |
131 | struct drm_i915_private *dev_priv = dev->dev_private; | 131 | struct drm_i915_private *dev_priv = dev->dev_private; |
132 | 132 | ||
133 | if (IS_eDP(intel_output)) | 133 | if (IS_eDP(intel_encoder)) |
134 | return (pixel_clock * dev_priv->edp_bpp) / 8; | 134 | return (pixel_clock * dev_priv->edp_bpp) / 8; |
135 | else | 135 | else |
136 | return pixel_clock * 3; | 136 | return pixel_clock * 3; |
@@ -140,11 +140,11 @@ static int | |||
140 | intel_dp_mode_valid(struct drm_connector *connector, | 140 | intel_dp_mode_valid(struct drm_connector *connector, |
141 | struct drm_display_mode *mode) | 141 | struct drm_display_mode *mode) |
142 | { | 142 | { |
143 | struct intel_output *intel_output = to_intel_output(connector); | 143 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
144 | int max_link_clock = intel_dp_link_clock(intel_dp_max_link_bw(intel_output)); | 144 | int max_link_clock = intel_dp_link_clock(intel_dp_max_link_bw(intel_encoder)); |
145 | int max_lanes = intel_dp_max_lane_count(intel_output); | 145 | int max_lanes = intel_dp_max_lane_count(intel_encoder); |
146 | 146 | ||
147 | if (intel_dp_link_required(connector->dev, intel_output, mode->clock) | 147 | if (intel_dp_link_required(connector->dev, intel_encoder, mode->clock) |
148 | > max_link_clock * max_lanes) | 148 | > max_link_clock * max_lanes) |
149 | return MODE_CLOCK_HIGH; | 149 | return MODE_CLOCK_HIGH; |
150 | 150 | ||
@@ -208,13 +208,13 @@ intel_hrawclk(struct drm_device *dev) | |||
208 | } | 208 | } |
209 | 209 | ||
210 | static int | 210 | static int |
211 | intel_dp_aux_ch(struct intel_output *intel_output, | 211 | intel_dp_aux_ch(struct intel_encoder *intel_encoder, |
212 | uint8_t *send, int send_bytes, | 212 | uint8_t *send, int send_bytes, |
213 | uint8_t *recv, int recv_size) | 213 | uint8_t *recv, int recv_size) |
214 | { | 214 | { |
215 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 215 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
216 | uint32_t output_reg = dp_priv->output_reg; | 216 | uint32_t output_reg = dp_priv->output_reg; |
217 | struct drm_device *dev = intel_output->base.dev; | 217 | struct drm_device *dev = intel_encoder->base.dev; |
218 | struct drm_i915_private *dev_priv = dev->dev_private; | 218 | struct drm_i915_private *dev_priv = dev->dev_private; |
219 | uint32_t ch_ctl = output_reg + 0x10; | 219 | uint32_t ch_ctl = output_reg + 0x10; |
220 | uint32_t ch_data = ch_ctl + 4; | 220 | uint32_t ch_data = ch_ctl + 4; |
@@ -229,7 +229,7 @@ intel_dp_aux_ch(struct intel_output *intel_output, | |||
229 | * and would like to run at 2MHz. So, take the | 229 | * and would like to run at 2MHz. So, take the |
230 | * hrawclk value and divide by 2 and use that | 230 | * hrawclk value and divide by 2 and use that |
231 | */ | 231 | */ |
232 | if (IS_eDP(intel_output)) | 232 | if (IS_eDP(intel_encoder)) |
233 | aux_clock_divider = 225; /* eDP input clock at 450Mhz */ | 233 | aux_clock_divider = 225; /* eDP input clock at 450Mhz */ |
234 | else if (HAS_PCH_SPLIT(dev)) | 234 | else if (HAS_PCH_SPLIT(dev)) |
235 | aux_clock_divider = 62; /* IRL input clock fixed at 125Mhz */ | 235 | aux_clock_divider = 62; /* IRL input clock fixed at 125Mhz */ |
@@ -312,7 +312,7 @@ intel_dp_aux_ch(struct intel_output *intel_output, | |||
312 | 312 | ||
313 | /* Write data to the aux channel in native mode */ | 313 | /* Write data to the aux channel in native mode */ |
314 | static int | 314 | static int |
315 | intel_dp_aux_native_write(struct intel_output *intel_output, | 315 | intel_dp_aux_native_write(struct intel_encoder *intel_encoder, |
316 | uint16_t address, uint8_t *send, int send_bytes) | 316 | uint16_t address, uint8_t *send, int send_bytes) |
317 | { | 317 | { |
318 | int ret; | 318 | int ret; |
@@ -329,7 +329,7 @@ intel_dp_aux_native_write(struct intel_output *intel_output, | |||
329 | memcpy(&msg[4], send, send_bytes); | 329 | memcpy(&msg[4], send, send_bytes); |
330 | msg_bytes = send_bytes + 4; | 330 | msg_bytes = send_bytes + 4; |
331 | for (;;) { | 331 | for (;;) { |
332 | ret = intel_dp_aux_ch(intel_output, msg, msg_bytes, &ack, 1); | 332 | ret = intel_dp_aux_ch(intel_encoder, msg, msg_bytes, &ack, 1); |
333 | if (ret < 0) | 333 | if (ret < 0) |
334 | return ret; | 334 | return ret; |
335 | if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) | 335 | if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) |
@@ -344,15 +344,15 @@ intel_dp_aux_native_write(struct intel_output *intel_output, | |||
344 | 344 | ||
345 | /* Write a single byte to the aux channel in native mode */ | 345 | /* Write a single byte to the aux channel in native mode */ |
346 | static int | 346 | static int |
347 | intel_dp_aux_native_write_1(struct intel_output *intel_output, | 347 | intel_dp_aux_native_write_1(struct intel_encoder *intel_encoder, |
348 | uint16_t address, uint8_t byte) | 348 | uint16_t address, uint8_t byte) |
349 | { | 349 | { |
350 | return intel_dp_aux_native_write(intel_output, address, &byte, 1); | 350 | return intel_dp_aux_native_write(intel_encoder, address, &byte, 1); |
351 | } | 351 | } |
352 | 352 | ||
353 | /* read bytes from a native aux channel */ | 353 | /* read bytes from a native aux channel */ |
354 | static int | 354 | static int |
355 | intel_dp_aux_native_read(struct intel_output *intel_output, | 355 | intel_dp_aux_native_read(struct intel_encoder *intel_encoder, |
356 | uint16_t address, uint8_t *recv, int recv_bytes) | 356 | uint16_t address, uint8_t *recv, int recv_bytes) |
357 | { | 357 | { |
358 | uint8_t msg[4]; | 358 | uint8_t msg[4]; |
@@ -371,7 +371,7 @@ intel_dp_aux_native_read(struct intel_output *intel_output, | |||
371 | reply_bytes = recv_bytes + 1; | 371 | reply_bytes = recv_bytes + 1; |
372 | 372 | ||
373 | for (;;) { | 373 | for (;;) { |
374 | ret = intel_dp_aux_ch(intel_output, msg, msg_bytes, | 374 | ret = intel_dp_aux_ch(intel_encoder, msg, msg_bytes, |
375 | reply, reply_bytes); | 375 | reply, reply_bytes); |
376 | if (ret == 0) | 376 | if (ret == 0) |
377 | return -EPROTO; | 377 | return -EPROTO; |
@@ -397,7 +397,7 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
397 | struct intel_dp_priv *dp_priv = container_of(adapter, | 397 | struct intel_dp_priv *dp_priv = container_of(adapter, |
398 | struct intel_dp_priv, | 398 | struct intel_dp_priv, |
399 | adapter); | 399 | adapter); |
400 | struct intel_output *intel_output = dp_priv->intel_output; | 400 | struct intel_encoder *intel_encoder = dp_priv->intel_encoder; |
401 | uint16_t address = algo_data->address; | 401 | uint16_t address = algo_data->address; |
402 | uint8_t msg[5]; | 402 | uint8_t msg[5]; |
403 | uint8_t reply[2]; | 403 | uint8_t reply[2]; |
@@ -436,7 +436,7 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
436 | } | 436 | } |
437 | 437 | ||
438 | for (;;) { | 438 | for (;;) { |
439 | ret = intel_dp_aux_ch(intel_output, | 439 | ret = intel_dp_aux_ch(intel_encoder, |
440 | msg, msg_bytes, | 440 | msg, msg_bytes, |
441 | reply, reply_bytes); | 441 | reply, reply_bytes); |
442 | if (ret < 0) { | 442 | if (ret < 0) { |
@@ -464,9 +464,9 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
464 | } | 464 | } |
465 | 465 | ||
466 | static int | 466 | static int |
467 | intel_dp_i2c_init(struct intel_output *intel_output, const char *name) | 467 | intel_dp_i2c_init(struct intel_encoder *intel_encoder, const char *name) |
468 | { | 468 | { |
469 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 469 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
470 | 470 | ||
471 | DRM_DEBUG_KMS("i2c_init %s\n", name); | 471 | DRM_DEBUG_KMS("i2c_init %s\n", name); |
472 | dp_priv->algo.running = false; | 472 | dp_priv->algo.running = false; |
@@ -479,7 +479,7 @@ intel_dp_i2c_init(struct intel_output *intel_output, const char *name) | |||
479 | strncpy (dp_priv->adapter.name, name, sizeof(dp_priv->adapter.name) - 1); | 479 | strncpy (dp_priv->adapter.name, name, sizeof(dp_priv->adapter.name) - 1); |
480 | dp_priv->adapter.name[sizeof(dp_priv->adapter.name) - 1] = '\0'; | 480 | dp_priv->adapter.name[sizeof(dp_priv->adapter.name) - 1] = '\0'; |
481 | dp_priv->adapter.algo_data = &dp_priv->algo; | 481 | dp_priv->adapter.algo_data = &dp_priv->algo; |
482 | dp_priv->adapter.dev.parent = &intel_output->base.kdev; | 482 | dp_priv->adapter.dev.parent = &intel_encoder->base.kdev; |
483 | 483 | ||
484 | return i2c_dp_aux_add_bus(&dp_priv->adapter); | 484 | return i2c_dp_aux_add_bus(&dp_priv->adapter); |
485 | } | 485 | } |
@@ -488,18 +488,18 @@ static bool | |||
488 | intel_dp_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, | 488 | intel_dp_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, |
489 | struct drm_display_mode *adjusted_mode) | 489 | struct drm_display_mode *adjusted_mode) |
490 | { | 490 | { |
491 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 491 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
492 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 492 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
493 | int lane_count, clock; | 493 | int lane_count, clock; |
494 | int max_lane_count = intel_dp_max_lane_count(intel_output); | 494 | int max_lane_count = intel_dp_max_lane_count(intel_encoder); |
495 | int max_clock = intel_dp_max_link_bw(intel_output) == DP_LINK_BW_2_7 ? 1 : 0; | 495 | int max_clock = intel_dp_max_link_bw(intel_encoder) == DP_LINK_BW_2_7 ? 1 : 0; |
496 | static int bws[2] = { DP_LINK_BW_1_62, DP_LINK_BW_2_7 }; | 496 | static int bws[2] = { DP_LINK_BW_1_62, DP_LINK_BW_2_7 }; |
497 | 497 | ||
498 | for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { | 498 | for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { |
499 | for (clock = 0; clock <= max_clock; clock++) { | 499 | for (clock = 0; clock <= max_clock; clock++) { |
500 | int link_avail = intel_dp_link_clock(bws[clock]) * lane_count; | 500 | int link_avail = intel_dp_link_clock(bws[clock]) * lane_count; |
501 | 501 | ||
502 | if (intel_dp_link_required(encoder->dev, intel_output, mode->clock) | 502 | if (intel_dp_link_required(encoder->dev, intel_encoder, mode->clock) |
503 | <= link_avail) { | 503 | <= link_avail) { |
504 | dp_priv->link_bw = bws[clock]; | 504 | dp_priv->link_bw = bws[clock]; |
505 | dp_priv->lane_count = lane_count; | 505 | dp_priv->lane_count = lane_count; |
@@ -561,16 +561,16 @@ intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, | |||
561 | struct intel_dp_m_n m_n; | 561 | struct intel_dp_m_n m_n; |
562 | 562 | ||
563 | /* | 563 | /* |
564 | * Find the lane count in the intel_output private | 564 | * Find the lane count in the intel_encoder private |
565 | */ | 565 | */ |
566 | list_for_each_entry(connector, &mode_config->connector_list, head) { | 566 | list_for_each_entry(connector, &mode_config->connector_list, head) { |
567 | struct intel_output *intel_output = to_intel_output(connector); | 567 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
568 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 568 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
569 | 569 | ||
570 | if (!connector->encoder || connector->encoder->crtc != crtc) | 570 | if (!connector->encoder || connector->encoder->crtc != crtc) |
571 | continue; | 571 | continue; |
572 | 572 | ||
573 | if (intel_output->type == INTEL_OUTPUT_DISPLAYPORT) { | 573 | if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT) { |
574 | lane_count = dp_priv->lane_count; | 574 | lane_count = dp_priv->lane_count; |
575 | break; | 575 | break; |
576 | } | 576 | } |
@@ -625,9 +625,9 @@ static void | |||
625 | intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, | 625 | intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, |
626 | struct drm_display_mode *adjusted_mode) | 626 | struct drm_display_mode *adjusted_mode) |
627 | { | 627 | { |
628 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 628 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
629 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 629 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
630 | struct drm_crtc *crtc = intel_output->enc.crtc; | 630 | struct drm_crtc *crtc = intel_encoder->enc.crtc; |
631 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | 631 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); |
632 | 632 | ||
633 | dp_priv->DP = (DP_LINK_TRAIN_OFF | | 633 | dp_priv->DP = (DP_LINK_TRAIN_OFF | |
@@ -666,7 +666,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, | |||
666 | if (intel_crtc->pipe == 1) | 666 | if (intel_crtc->pipe == 1) |
667 | dp_priv->DP |= DP_PIPEB_SELECT; | 667 | dp_priv->DP |= DP_PIPEB_SELECT; |
668 | 668 | ||
669 | if (IS_eDP(intel_output)) { | 669 | if (IS_eDP(intel_encoder)) { |
670 | /* don't miss out required setting for eDP */ | 670 | /* don't miss out required setting for eDP */ |
671 | dp_priv->DP |= DP_PLL_ENABLE; | 671 | dp_priv->DP |= DP_PLL_ENABLE; |
672 | if (adjusted_mode->clock < 200000) | 672 | if (adjusted_mode->clock < 200000) |
@@ -701,22 +701,22 @@ static void ironlake_edp_backlight_off (struct drm_device *dev) | |||
701 | static void | 701 | static void |
702 | intel_dp_dpms(struct drm_encoder *encoder, int mode) | 702 | intel_dp_dpms(struct drm_encoder *encoder, int mode) |
703 | { | 703 | { |
704 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 704 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
705 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 705 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
706 | struct drm_device *dev = intel_output->base.dev; | 706 | struct drm_device *dev = intel_encoder->base.dev; |
707 | struct drm_i915_private *dev_priv = dev->dev_private; | 707 | struct drm_i915_private *dev_priv = dev->dev_private; |
708 | uint32_t dp_reg = I915_READ(dp_priv->output_reg); | 708 | uint32_t dp_reg = I915_READ(dp_priv->output_reg); |
709 | 709 | ||
710 | if (mode != DRM_MODE_DPMS_ON) { | 710 | if (mode != DRM_MODE_DPMS_ON) { |
711 | if (dp_reg & DP_PORT_EN) { | 711 | if (dp_reg & DP_PORT_EN) { |
712 | intel_dp_link_down(intel_output, dp_priv->DP); | 712 | intel_dp_link_down(intel_encoder, dp_priv->DP); |
713 | if (IS_eDP(intel_output)) | 713 | if (IS_eDP(intel_encoder)) |
714 | ironlake_edp_backlight_off(dev); | 714 | ironlake_edp_backlight_off(dev); |
715 | } | 715 | } |
716 | } else { | 716 | } else { |
717 | if (!(dp_reg & DP_PORT_EN)) { | 717 | if (!(dp_reg & DP_PORT_EN)) { |
718 | intel_dp_link_train(intel_output, dp_priv->DP, dp_priv->link_configuration); | 718 | intel_dp_link_train(intel_encoder, dp_priv->DP, dp_priv->link_configuration); |
719 | if (IS_eDP(intel_output)) | 719 | if (IS_eDP(intel_encoder)) |
720 | ironlake_edp_backlight_on(dev); | 720 | ironlake_edp_backlight_on(dev); |
721 | } | 721 | } |
722 | } | 722 | } |
@@ -728,12 +728,12 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode) | |||
728 | * link status information | 728 | * link status information |
729 | */ | 729 | */ |
730 | static bool | 730 | static bool |
731 | intel_dp_get_link_status(struct intel_output *intel_output, | 731 | intel_dp_get_link_status(struct intel_encoder *intel_encoder, |
732 | uint8_t link_status[DP_LINK_STATUS_SIZE]) | 732 | uint8_t link_status[DP_LINK_STATUS_SIZE]) |
733 | { | 733 | { |
734 | int ret; | 734 | int ret; |
735 | 735 | ||
736 | ret = intel_dp_aux_native_read(intel_output, | 736 | ret = intel_dp_aux_native_read(intel_encoder, |
737 | DP_LANE0_1_STATUS, | 737 | DP_LANE0_1_STATUS, |
738 | link_status, DP_LINK_STATUS_SIZE); | 738 | link_status, DP_LINK_STATUS_SIZE); |
739 | if (ret != DP_LINK_STATUS_SIZE) | 739 | if (ret != DP_LINK_STATUS_SIZE) |
@@ -751,13 +751,13 @@ intel_dp_link_status(uint8_t link_status[DP_LINK_STATUS_SIZE], | |||
751 | static void | 751 | static void |
752 | intel_dp_save(struct drm_connector *connector) | 752 | intel_dp_save(struct drm_connector *connector) |
753 | { | 753 | { |
754 | struct intel_output *intel_output = to_intel_output(connector); | 754 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
755 | struct drm_device *dev = intel_output->base.dev; | 755 | struct drm_device *dev = intel_encoder->base.dev; |
756 | struct drm_i915_private *dev_priv = dev->dev_private; | 756 | struct drm_i915_private *dev_priv = dev->dev_private; |
757 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 757 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
758 | 758 | ||
759 | dp_priv->save_DP = I915_READ(dp_priv->output_reg); | 759 | dp_priv->save_DP = I915_READ(dp_priv->output_reg); |
760 | intel_dp_aux_native_read(intel_output, DP_LINK_BW_SET, | 760 | intel_dp_aux_native_read(intel_encoder, DP_LINK_BW_SET, |
761 | dp_priv->save_link_configuration, | 761 | dp_priv->save_link_configuration, |
762 | sizeof (dp_priv->save_link_configuration)); | 762 | sizeof (dp_priv->save_link_configuration)); |
763 | } | 763 | } |
@@ -824,7 +824,7 @@ intel_dp_pre_emphasis_max(uint8_t voltage_swing) | |||
824 | } | 824 | } |
825 | 825 | ||
826 | static void | 826 | static void |
827 | intel_get_adjust_train(struct intel_output *intel_output, | 827 | intel_get_adjust_train(struct intel_encoder *intel_encoder, |
828 | uint8_t link_status[DP_LINK_STATUS_SIZE], | 828 | uint8_t link_status[DP_LINK_STATUS_SIZE], |
829 | int lane_count, | 829 | int lane_count, |
830 | uint8_t train_set[4]) | 830 | uint8_t train_set[4]) |
@@ -941,15 +941,15 @@ intel_channel_eq_ok(uint8_t link_status[DP_LINK_STATUS_SIZE], int lane_count) | |||
941 | } | 941 | } |
942 | 942 | ||
943 | static bool | 943 | static bool |
944 | intel_dp_set_link_train(struct intel_output *intel_output, | 944 | intel_dp_set_link_train(struct intel_encoder *intel_encoder, |
945 | uint32_t dp_reg_value, | 945 | uint32_t dp_reg_value, |
946 | uint8_t dp_train_pat, | 946 | uint8_t dp_train_pat, |
947 | uint8_t train_set[4], | 947 | uint8_t train_set[4], |
948 | bool first) | 948 | bool first) |
949 | { | 949 | { |
950 | struct drm_device *dev = intel_output->base.dev; | 950 | struct drm_device *dev = intel_encoder->base.dev; |
951 | struct drm_i915_private *dev_priv = dev->dev_private; | 951 | struct drm_i915_private *dev_priv = dev->dev_private; |
952 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 952 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
953 | int ret; | 953 | int ret; |
954 | 954 | ||
955 | I915_WRITE(dp_priv->output_reg, dp_reg_value); | 955 | I915_WRITE(dp_priv->output_reg, dp_reg_value); |
@@ -957,11 +957,11 @@ intel_dp_set_link_train(struct intel_output *intel_output, | |||
957 | if (first) | 957 | if (first) |
958 | intel_wait_for_vblank(dev); | 958 | intel_wait_for_vblank(dev); |
959 | 959 | ||
960 | intel_dp_aux_native_write_1(intel_output, | 960 | intel_dp_aux_native_write_1(intel_encoder, |
961 | DP_TRAINING_PATTERN_SET, | 961 | DP_TRAINING_PATTERN_SET, |
962 | dp_train_pat); | 962 | dp_train_pat); |
963 | 963 | ||
964 | ret = intel_dp_aux_native_write(intel_output, | 964 | ret = intel_dp_aux_native_write(intel_encoder, |
965 | DP_TRAINING_LANE0_SET, train_set, 4); | 965 | DP_TRAINING_LANE0_SET, train_set, 4); |
966 | if (ret != 4) | 966 | if (ret != 4) |
967 | return false; | 967 | return false; |
@@ -970,12 +970,12 @@ intel_dp_set_link_train(struct intel_output *intel_output, | |||
970 | } | 970 | } |
971 | 971 | ||
972 | static void | 972 | static void |
973 | intel_dp_link_train(struct intel_output *intel_output, uint32_t DP, | 973 | intel_dp_link_train(struct intel_encoder *intel_encoder, uint32_t DP, |
974 | uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]) | 974 | uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]) |
975 | { | 975 | { |
976 | struct drm_device *dev = intel_output->base.dev; | 976 | struct drm_device *dev = intel_encoder->base.dev; |
977 | struct drm_i915_private *dev_priv = dev->dev_private; | 977 | struct drm_i915_private *dev_priv = dev->dev_private; |
978 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 978 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
979 | uint8_t train_set[4]; | 979 | uint8_t train_set[4]; |
980 | uint8_t link_status[DP_LINK_STATUS_SIZE]; | 980 | uint8_t link_status[DP_LINK_STATUS_SIZE]; |
981 | int i; | 981 | int i; |
@@ -986,7 +986,7 @@ intel_dp_link_train(struct intel_output *intel_output, uint32_t DP, | |||
986 | int tries; | 986 | int tries; |
987 | 987 | ||
988 | /* Write the link configuration data */ | 988 | /* Write the link configuration data */ |
989 | intel_dp_aux_native_write(intel_output, 0x100, | 989 | intel_dp_aux_native_write(intel_encoder, 0x100, |
990 | link_configuration, DP_LINK_CONFIGURATION_SIZE); | 990 | link_configuration, DP_LINK_CONFIGURATION_SIZE); |
991 | 991 | ||
992 | DP |= DP_PORT_EN; | 992 | DP |= DP_PORT_EN; |
@@ -1000,14 +1000,14 @@ intel_dp_link_train(struct intel_output *intel_output, uint32_t DP, | |||
1000 | uint32_t signal_levels = intel_dp_signal_levels(train_set[0], dp_priv->lane_count); | 1000 | uint32_t signal_levels = intel_dp_signal_levels(train_set[0], dp_priv->lane_count); |
1001 | DP = (DP & ~(DP_VOLTAGE_MASK|DP_PRE_EMPHASIS_MASK)) | signal_levels; | 1001 | DP = (DP & ~(DP_VOLTAGE_MASK|DP_PRE_EMPHASIS_MASK)) | signal_levels; |
1002 | 1002 | ||
1003 | if (!intel_dp_set_link_train(intel_output, DP | DP_LINK_TRAIN_PAT_1, | 1003 | if (!intel_dp_set_link_train(intel_encoder, DP | DP_LINK_TRAIN_PAT_1, |
1004 | DP_TRAINING_PATTERN_1, train_set, first)) | 1004 | DP_TRAINING_PATTERN_1, train_set, first)) |
1005 | break; | 1005 | break; |
1006 | first = false; | 1006 | first = false; |
1007 | /* Set training pattern 1 */ | 1007 | /* Set training pattern 1 */ |
1008 | 1008 | ||
1009 | udelay(100); | 1009 | udelay(100); |
1010 | if (!intel_dp_get_link_status(intel_output, link_status)) | 1010 | if (!intel_dp_get_link_status(intel_encoder, link_status)) |
1011 | break; | 1011 | break; |
1012 | 1012 | ||
1013 | if (intel_clock_recovery_ok(link_status, dp_priv->lane_count)) { | 1013 | if (intel_clock_recovery_ok(link_status, dp_priv->lane_count)) { |
@@ -1032,7 +1032,7 @@ intel_dp_link_train(struct intel_output *intel_output, uint32_t DP, | |||
1032 | voltage = train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK; | 1032 | voltage = train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK; |
1033 | 1033 | ||
1034 | /* Compute new train_set as requested by target */ | 1034 | /* Compute new train_set as requested by target */ |
1035 | intel_get_adjust_train(intel_output, link_status, dp_priv->lane_count, train_set); | 1035 | intel_get_adjust_train(intel_encoder, link_status, dp_priv->lane_count, train_set); |
1036 | } | 1036 | } |
1037 | 1037 | ||
1038 | /* channel equalization */ | 1038 | /* channel equalization */ |
@@ -1044,13 +1044,13 @@ intel_dp_link_train(struct intel_output *intel_output, uint32_t DP, | |||
1044 | DP = (DP & ~(DP_VOLTAGE_MASK|DP_PRE_EMPHASIS_MASK)) | signal_levels; | 1044 | DP = (DP & ~(DP_VOLTAGE_MASK|DP_PRE_EMPHASIS_MASK)) | signal_levels; |
1045 | 1045 | ||
1046 | /* channel eq pattern */ | 1046 | /* channel eq pattern */ |
1047 | if (!intel_dp_set_link_train(intel_output, DP | DP_LINK_TRAIN_PAT_2, | 1047 | if (!intel_dp_set_link_train(intel_encoder, DP | DP_LINK_TRAIN_PAT_2, |
1048 | DP_TRAINING_PATTERN_2, train_set, | 1048 | DP_TRAINING_PATTERN_2, train_set, |
1049 | false)) | 1049 | false)) |
1050 | break; | 1050 | break; |
1051 | 1051 | ||
1052 | udelay(400); | 1052 | udelay(400); |
1053 | if (!intel_dp_get_link_status(intel_output, link_status)) | 1053 | if (!intel_dp_get_link_status(intel_encoder, link_status)) |
1054 | break; | 1054 | break; |
1055 | 1055 | ||
1056 | if (intel_channel_eq_ok(link_status, dp_priv->lane_count)) { | 1056 | if (intel_channel_eq_ok(link_status, dp_priv->lane_count)) { |
@@ -1063,26 +1063,26 @@ intel_dp_link_train(struct intel_output *intel_output, uint32_t DP, | |||
1063 | break; | 1063 | break; |
1064 | 1064 | ||
1065 | /* Compute new train_set as requested by target */ | 1065 | /* Compute new train_set as requested by target */ |
1066 | intel_get_adjust_train(intel_output, link_status, dp_priv->lane_count, train_set); | 1066 | intel_get_adjust_train(intel_encoder, link_status, dp_priv->lane_count, train_set); |
1067 | ++tries; | 1067 | ++tries; |
1068 | } | 1068 | } |
1069 | 1069 | ||
1070 | I915_WRITE(dp_priv->output_reg, DP | DP_LINK_TRAIN_OFF); | 1070 | I915_WRITE(dp_priv->output_reg, DP | DP_LINK_TRAIN_OFF); |
1071 | POSTING_READ(dp_priv->output_reg); | 1071 | POSTING_READ(dp_priv->output_reg); |
1072 | intel_dp_aux_native_write_1(intel_output, | 1072 | intel_dp_aux_native_write_1(intel_encoder, |
1073 | DP_TRAINING_PATTERN_SET, DP_TRAINING_PATTERN_DISABLE); | 1073 | DP_TRAINING_PATTERN_SET, DP_TRAINING_PATTERN_DISABLE); |
1074 | } | 1074 | } |
1075 | 1075 | ||
1076 | static void | 1076 | static void |
1077 | intel_dp_link_down(struct intel_output *intel_output, uint32_t DP) | 1077 | intel_dp_link_down(struct intel_encoder *intel_encoder, uint32_t DP) |
1078 | { | 1078 | { |
1079 | struct drm_device *dev = intel_output->base.dev; | 1079 | struct drm_device *dev = intel_encoder->base.dev; |
1080 | struct drm_i915_private *dev_priv = dev->dev_private; | 1080 | struct drm_i915_private *dev_priv = dev->dev_private; |
1081 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 1081 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
1082 | 1082 | ||
1083 | DRM_DEBUG_KMS("\n"); | 1083 | DRM_DEBUG_KMS("\n"); |
1084 | 1084 | ||
1085 | if (IS_eDP(intel_output)) { | 1085 | if (IS_eDP(intel_encoder)) { |
1086 | DP &= ~DP_PLL_ENABLE; | 1086 | DP &= ~DP_PLL_ENABLE; |
1087 | I915_WRITE(dp_priv->output_reg, DP); | 1087 | I915_WRITE(dp_priv->output_reg, DP); |
1088 | POSTING_READ(dp_priv->output_reg); | 1088 | POSTING_READ(dp_priv->output_reg); |
@@ -1095,7 +1095,7 @@ intel_dp_link_down(struct intel_output *intel_output, uint32_t DP) | |||
1095 | 1095 | ||
1096 | udelay(17000); | 1096 | udelay(17000); |
1097 | 1097 | ||
1098 | if (IS_eDP(intel_output)) | 1098 | if (IS_eDP(intel_encoder)) |
1099 | DP |= DP_LINK_TRAIN_OFF; | 1099 | DP |= DP_LINK_TRAIN_OFF; |
1100 | I915_WRITE(dp_priv->output_reg, DP & ~DP_PORT_EN); | 1100 | I915_WRITE(dp_priv->output_reg, DP & ~DP_PORT_EN); |
1101 | POSTING_READ(dp_priv->output_reg); | 1101 | POSTING_READ(dp_priv->output_reg); |
@@ -1104,13 +1104,13 @@ intel_dp_link_down(struct intel_output *intel_output, uint32_t DP) | |||
1104 | static void | 1104 | static void |
1105 | intel_dp_restore(struct drm_connector *connector) | 1105 | intel_dp_restore(struct drm_connector *connector) |
1106 | { | 1106 | { |
1107 | struct intel_output *intel_output = to_intel_output(connector); | 1107 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1108 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 1108 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
1109 | 1109 | ||
1110 | if (dp_priv->save_DP & DP_PORT_EN) | 1110 | if (dp_priv->save_DP & DP_PORT_EN) |
1111 | intel_dp_link_train(intel_output, dp_priv->save_DP, dp_priv->save_link_configuration); | 1111 | intel_dp_link_train(intel_encoder, dp_priv->save_DP, dp_priv->save_link_configuration); |
1112 | else | 1112 | else |
1113 | intel_dp_link_down(intel_output, dp_priv->save_DP); | 1113 | intel_dp_link_down(intel_encoder, dp_priv->save_DP); |
1114 | } | 1114 | } |
1115 | 1115 | ||
1116 | /* | 1116 | /* |
@@ -1123,32 +1123,32 @@ intel_dp_restore(struct drm_connector *connector) | |||
1123 | */ | 1123 | */ |
1124 | 1124 | ||
1125 | static void | 1125 | static void |
1126 | intel_dp_check_link_status(struct intel_output *intel_output) | 1126 | intel_dp_check_link_status(struct intel_encoder *intel_encoder) |
1127 | { | 1127 | { |
1128 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 1128 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
1129 | uint8_t link_status[DP_LINK_STATUS_SIZE]; | 1129 | uint8_t link_status[DP_LINK_STATUS_SIZE]; |
1130 | 1130 | ||
1131 | if (!intel_output->enc.crtc) | 1131 | if (!intel_encoder->enc.crtc) |
1132 | return; | 1132 | return; |
1133 | 1133 | ||
1134 | if (!intel_dp_get_link_status(intel_output, link_status)) { | 1134 | if (!intel_dp_get_link_status(intel_encoder, link_status)) { |
1135 | intel_dp_link_down(intel_output, dp_priv->DP); | 1135 | intel_dp_link_down(intel_encoder, dp_priv->DP); |
1136 | return; | 1136 | return; |
1137 | } | 1137 | } |
1138 | 1138 | ||
1139 | if (!intel_channel_eq_ok(link_status, dp_priv->lane_count)) | 1139 | if (!intel_channel_eq_ok(link_status, dp_priv->lane_count)) |
1140 | intel_dp_link_train(intel_output, dp_priv->DP, dp_priv->link_configuration); | 1140 | intel_dp_link_train(intel_encoder, dp_priv->DP, dp_priv->link_configuration); |
1141 | } | 1141 | } |
1142 | 1142 | ||
1143 | static enum drm_connector_status | 1143 | static enum drm_connector_status |
1144 | ironlake_dp_detect(struct drm_connector *connector) | 1144 | ironlake_dp_detect(struct drm_connector *connector) |
1145 | { | 1145 | { |
1146 | struct intel_output *intel_output = to_intel_output(connector); | 1146 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1147 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 1147 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
1148 | enum drm_connector_status status; | 1148 | enum drm_connector_status status; |
1149 | 1149 | ||
1150 | status = connector_status_disconnected; | 1150 | status = connector_status_disconnected; |
1151 | if (intel_dp_aux_native_read(intel_output, | 1151 | if (intel_dp_aux_native_read(intel_encoder, |
1152 | 0x000, dp_priv->dpcd, | 1152 | 0x000, dp_priv->dpcd, |
1153 | sizeof (dp_priv->dpcd)) == sizeof (dp_priv->dpcd)) | 1153 | sizeof (dp_priv->dpcd)) == sizeof (dp_priv->dpcd)) |
1154 | { | 1154 | { |
@@ -1167,10 +1167,10 @@ ironlake_dp_detect(struct drm_connector *connector) | |||
1167 | static enum drm_connector_status | 1167 | static enum drm_connector_status |
1168 | intel_dp_detect(struct drm_connector *connector) | 1168 | intel_dp_detect(struct drm_connector *connector) |
1169 | { | 1169 | { |
1170 | struct intel_output *intel_output = to_intel_output(connector); | 1170 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1171 | struct drm_device *dev = intel_output->base.dev; | 1171 | struct drm_device *dev = intel_encoder->base.dev; |
1172 | struct drm_i915_private *dev_priv = dev->dev_private; | 1172 | struct drm_i915_private *dev_priv = dev->dev_private; |
1173 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 1173 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
1174 | uint32_t temp, bit; | 1174 | uint32_t temp, bit; |
1175 | enum drm_connector_status status; | 1175 | enum drm_connector_status status; |
1176 | 1176 | ||
@@ -1209,7 +1209,7 @@ intel_dp_detect(struct drm_connector *connector) | |||
1209 | return connector_status_disconnected; | 1209 | return connector_status_disconnected; |
1210 | 1210 | ||
1211 | status = connector_status_disconnected; | 1211 | status = connector_status_disconnected; |
1212 | if (intel_dp_aux_native_read(intel_output, | 1212 | if (intel_dp_aux_native_read(intel_encoder, |
1213 | 0x000, dp_priv->dpcd, | 1213 | 0x000, dp_priv->dpcd, |
1214 | sizeof (dp_priv->dpcd)) == sizeof (dp_priv->dpcd)) | 1214 | sizeof (dp_priv->dpcd)) == sizeof (dp_priv->dpcd)) |
1215 | { | 1215 | { |
@@ -1221,20 +1221,20 @@ intel_dp_detect(struct drm_connector *connector) | |||
1221 | 1221 | ||
1222 | static int intel_dp_get_modes(struct drm_connector *connector) | 1222 | static int intel_dp_get_modes(struct drm_connector *connector) |
1223 | { | 1223 | { |
1224 | struct intel_output *intel_output = to_intel_output(connector); | 1224 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1225 | struct drm_device *dev = intel_output->base.dev; | 1225 | struct drm_device *dev = intel_encoder->base.dev; |
1226 | struct drm_i915_private *dev_priv = dev->dev_private; | 1226 | struct drm_i915_private *dev_priv = dev->dev_private; |
1227 | int ret; | 1227 | int ret; |
1228 | 1228 | ||
1229 | /* We should parse the EDID data and find out if it has an audio sink | 1229 | /* We should parse the EDID data and find out if it has an audio sink |
1230 | */ | 1230 | */ |
1231 | 1231 | ||
1232 | ret = intel_ddc_get_modes(intel_output); | 1232 | ret = intel_ddc_get_modes(intel_encoder); |
1233 | if (ret) | 1233 | if (ret) |
1234 | return ret; | 1234 | return ret; |
1235 | 1235 | ||
1236 | /* if eDP has no EDID, try to use fixed panel mode from VBT */ | 1236 | /* if eDP has no EDID, try to use fixed panel mode from VBT */ |
1237 | if (IS_eDP(intel_output)) { | 1237 | if (IS_eDP(intel_encoder)) { |
1238 | if (dev_priv->panel_fixed_mode != NULL) { | 1238 | if (dev_priv->panel_fixed_mode != NULL) { |
1239 | struct drm_display_mode *mode; | 1239 | struct drm_display_mode *mode; |
1240 | mode = drm_mode_duplicate(dev, dev_priv->panel_fixed_mode); | 1240 | mode = drm_mode_duplicate(dev, dev_priv->panel_fixed_mode); |
@@ -1248,13 +1248,13 @@ static int intel_dp_get_modes(struct drm_connector *connector) | |||
1248 | static void | 1248 | static void |
1249 | intel_dp_destroy (struct drm_connector *connector) | 1249 | intel_dp_destroy (struct drm_connector *connector) |
1250 | { | 1250 | { |
1251 | struct intel_output *intel_output = to_intel_output(connector); | 1251 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1252 | 1252 | ||
1253 | if (intel_output->i2c_bus) | 1253 | if (intel_encoder->i2c_bus) |
1254 | intel_i2c_destroy(intel_output->i2c_bus); | 1254 | intel_i2c_destroy(intel_encoder->i2c_bus); |
1255 | drm_sysfs_connector_remove(connector); | 1255 | drm_sysfs_connector_remove(connector); |
1256 | drm_connector_cleanup(connector); | 1256 | drm_connector_cleanup(connector); |
1257 | kfree(intel_output); | 1257 | kfree(intel_encoder); |
1258 | } | 1258 | } |
1259 | 1259 | ||
1260 | static const struct drm_encoder_helper_funcs intel_dp_helper_funcs = { | 1260 | static const struct drm_encoder_helper_funcs intel_dp_helper_funcs = { |
@@ -1290,12 +1290,12 @@ static const struct drm_encoder_funcs intel_dp_enc_funcs = { | |||
1290 | }; | 1290 | }; |
1291 | 1291 | ||
1292 | void | 1292 | void |
1293 | intel_dp_hot_plug(struct intel_output *intel_output) | 1293 | intel_dp_hot_plug(struct intel_encoder *intel_encoder) |
1294 | { | 1294 | { |
1295 | struct intel_dp_priv *dp_priv = intel_output->dev_priv; | 1295 | struct intel_dp_priv *dp_priv = intel_encoder->dev_priv; |
1296 | 1296 | ||
1297 | if (dp_priv->dpms_mode == DRM_MODE_DPMS_ON) | 1297 | if (dp_priv->dpms_mode == DRM_MODE_DPMS_ON) |
1298 | intel_dp_check_link_status(intel_output); | 1298 | intel_dp_check_link_status(intel_encoder); |
1299 | } | 1299 | } |
1300 | 1300 | ||
1301 | void | 1301 | void |
@@ -1303,53 +1303,53 @@ intel_dp_init(struct drm_device *dev, int output_reg) | |||
1303 | { | 1303 | { |
1304 | struct drm_i915_private *dev_priv = dev->dev_private; | 1304 | struct drm_i915_private *dev_priv = dev->dev_private; |
1305 | struct drm_connector *connector; | 1305 | struct drm_connector *connector; |
1306 | struct intel_output *intel_output; | 1306 | struct intel_encoder *intel_encoder; |
1307 | struct intel_dp_priv *dp_priv; | 1307 | struct intel_dp_priv *dp_priv; |
1308 | const char *name = NULL; | 1308 | const char *name = NULL; |
1309 | 1309 | ||
1310 | intel_output = kcalloc(sizeof(struct intel_output) + | 1310 | intel_encoder = kcalloc(sizeof(struct intel_encoder) + |
1311 | sizeof(struct intel_dp_priv), 1, GFP_KERNEL); | 1311 | sizeof(struct intel_dp_priv), 1, GFP_KERNEL); |
1312 | if (!intel_output) | 1312 | if (!intel_encoder) |
1313 | return; | 1313 | return; |
1314 | 1314 | ||
1315 | dp_priv = (struct intel_dp_priv *)(intel_output + 1); | 1315 | dp_priv = (struct intel_dp_priv *)(intel_encoder + 1); |
1316 | 1316 | ||
1317 | connector = &intel_output->base; | 1317 | connector = &intel_encoder->base; |
1318 | drm_connector_init(dev, connector, &intel_dp_connector_funcs, | 1318 | drm_connector_init(dev, connector, &intel_dp_connector_funcs, |
1319 | DRM_MODE_CONNECTOR_DisplayPort); | 1319 | DRM_MODE_CONNECTOR_DisplayPort); |
1320 | drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs); | 1320 | drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs); |
1321 | 1321 | ||
1322 | if (output_reg == DP_A) | 1322 | if (output_reg == DP_A) |
1323 | intel_output->type = INTEL_OUTPUT_EDP; | 1323 | intel_encoder->type = INTEL_OUTPUT_EDP; |
1324 | else | 1324 | else |
1325 | intel_output->type = INTEL_OUTPUT_DISPLAYPORT; | 1325 | intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT; |
1326 | 1326 | ||
1327 | if (output_reg == DP_B || output_reg == PCH_DP_B) | 1327 | if (output_reg == DP_B || output_reg == PCH_DP_B) |
1328 | intel_output->clone_mask = (1 << INTEL_DP_B_CLONE_BIT); | 1328 | intel_encoder->clone_mask = (1 << INTEL_DP_B_CLONE_BIT); |
1329 | else if (output_reg == DP_C || output_reg == PCH_DP_C) | 1329 | else if (output_reg == DP_C || output_reg == PCH_DP_C) |
1330 | intel_output->clone_mask = (1 << INTEL_DP_C_CLONE_BIT); | 1330 | intel_encoder->clone_mask = (1 << INTEL_DP_C_CLONE_BIT); |
1331 | else if (output_reg == DP_D || output_reg == PCH_DP_D) | 1331 | else if (output_reg == DP_D || output_reg == PCH_DP_D) |
1332 | intel_output->clone_mask = (1 << INTEL_DP_D_CLONE_BIT); | 1332 | intel_encoder->clone_mask = (1 << INTEL_DP_D_CLONE_BIT); |
1333 | 1333 | ||
1334 | if (IS_eDP(intel_output)) | 1334 | if (IS_eDP(intel_encoder)) |
1335 | intel_output->clone_mask = (1 << INTEL_EDP_CLONE_BIT); | 1335 | intel_encoder->clone_mask = (1 << INTEL_EDP_CLONE_BIT); |
1336 | 1336 | ||
1337 | intel_output->crtc_mask = (1 << 0) | (1 << 1); | 1337 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); |
1338 | connector->interlace_allowed = true; | 1338 | connector->interlace_allowed = true; |
1339 | connector->doublescan_allowed = 0; | 1339 | connector->doublescan_allowed = 0; |
1340 | 1340 | ||
1341 | dp_priv->intel_output = intel_output; | 1341 | dp_priv->intel_encoder = intel_encoder; |
1342 | dp_priv->output_reg = output_reg; | 1342 | dp_priv->output_reg = output_reg; |
1343 | dp_priv->has_audio = false; | 1343 | dp_priv->has_audio = false; |
1344 | dp_priv->dpms_mode = DRM_MODE_DPMS_ON; | 1344 | dp_priv->dpms_mode = DRM_MODE_DPMS_ON; |
1345 | intel_output->dev_priv = dp_priv; | 1345 | intel_encoder->dev_priv = dp_priv; |
1346 | 1346 | ||
1347 | drm_encoder_init(dev, &intel_output->enc, &intel_dp_enc_funcs, | 1347 | drm_encoder_init(dev, &intel_encoder->enc, &intel_dp_enc_funcs, |
1348 | DRM_MODE_ENCODER_TMDS); | 1348 | DRM_MODE_ENCODER_TMDS); |
1349 | drm_encoder_helper_add(&intel_output->enc, &intel_dp_helper_funcs); | 1349 | drm_encoder_helper_add(&intel_encoder->enc, &intel_dp_helper_funcs); |
1350 | 1350 | ||
1351 | drm_mode_connector_attach_encoder(&intel_output->base, | 1351 | drm_mode_connector_attach_encoder(&intel_encoder->base, |
1352 | &intel_output->enc); | 1352 | &intel_encoder->enc); |
1353 | drm_sysfs_connector_add(connector); | 1353 | drm_sysfs_connector_add(connector); |
1354 | 1354 | ||
1355 | /* Set up the DDC bus. */ | 1355 | /* Set up the DDC bus. */ |
@@ -1377,10 +1377,10 @@ intel_dp_init(struct drm_device *dev, int output_reg) | |||
1377 | break; | 1377 | break; |
1378 | } | 1378 | } |
1379 | 1379 | ||
1380 | intel_dp_i2c_init(intel_output, name); | 1380 | intel_dp_i2c_init(intel_encoder, name); |
1381 | 1381 | ||
1382 | intel_output->ddc_bus = &dp_priv->adapter; | 1382 | intel_encoder->ddc_bus = &dp_priv->adapter; |
1383 | intel_output->hot_plug = intel_dp_hot_plug; | 1383 | intel_encoder->hot_plug = intel_dp_hot_plug; |
1384 | 1384 | ||
1385 | if (output_reg == DP_A) { | 1385 | if (output_reg == DP_A) { |
1386 | /* initialize panel mode from VBT if available for eDP */ | 1386 | /* initialize panel mode from VBT if available for eDP */ |
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 3a467ca57857..e30253755f12 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -95,7 +95,7 @@ struct intel_framebuffer { | |||
95 | }; | 95 | }; |
96 | 96 | ||
97 | 97 | ||
98 | struct intel_output { | 98 | struct intel_encoder { |
99 | struct drm_connector base; | 99 | struct drm_connector base; |
100 | 100 | ||
101 | struct drm_encoder enc; | 101 | struct drm_encoder enc; |
@@ -105,7 +105,7 @@ struct intel_output { | |||
105 | bool load_detect_temp; | 105 | bool load_detect_temp; |
106 | bool needs_tv_clock; | 106 | bool needs_tv_clock; |
107 | void *dev_priv; | 107 | void *dev_priv; |
108 | void (*hot_plug)(struct intel_output *); | 108 | void (*hot_plug)(struct intel_encoder *); |
109 | int crtc_mask; | 109 | int crtc_mask; |
110 | int clone_mask; | 110 | int clone_mask; |
111 | }; | 111 | }; |
@@ -152,15 +152,15 @@ struct intel_crtc { | |||
152 | }; | 152 | }; |
153 | 153 | ||
154 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) | 154 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) |
155 | #define to_intel_output(x) container_of(x, struct intel_output, base) | 155 | #define to_intel_encoder(x) container_of(x, struct intel_encoder, base) |
156 | #define enc_to_intel_output(x) container_of(x, struct intel_output, enc) | 156 | #define enc_to_intel_encoder(x) container_of(x, struct intel_encoder, enc) |
157 | #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) | 157 | #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) |
158 | 158 | ||
159 | struct i2c_adapter *intel_i2c_create(struct drm_device *dev, const u32 reg, | 159 | struct i2c_adapter *intel_i2c_create(struct drm_device *dev, const u32 reg, |
160 | const char *name); | 160 | const char *name); |
161 | void intel_i2c_destroy(struct i2c_adapter *adapter); | 161 | void intel_i2c_destroy(struct i2c_adapter *adapter); |
162 | int intel_ddc_get_modes(struct intel_output *intel_output); | 162 | int intel_ddc_get_modes(struct intel_encoder *intel_encoder); |
163 | extern bool intel_ddc_probe(struct intel_output *intel_output); | 163 | extern bool intel_ddc_probe(struct intel_encoder *intel_encoder); |
164 | void intel_i2c_quirk_set(struct drm_device *dev, bool enable); | 164 | void intel_i2c_quirk_set(struct drm_device *dev, bool enable); |
165 | void intel_i2c_reset_gmbus(struct drm_device *dev); | 165 | void intel_i2c_reset_gmbus(struct drm_device *dev); |
166 | 166 | ||
@@ -175,7 +175,7 @@ extern void intel_dp_init(struct drm_device *dev, int dp_reg); | |||
175 | void | 175 | void |
176 | intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, | 176 | intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, |
177 | struct drm_display_mode *adjusted_mode); | 177 | struct drm_display_mode *adjusted_mode); |
178 | extern void intel_edp_link_config (struct intel_output *, int *, int *); | 178 | extern void intel_edp_link_config (struct intel_encoder *, int *, int *); |
179 | 179 | ||
180 | 180 | ||
181 | extern int intel_panel_fitter_pipe (struct drm_device *dev); | 181 | extern int intel_panel_fitter_pipe (struct drm_device *dev); |
@@ -191,10 +191,10 @@ int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, | |||
191 | struct drm_file *file_priv); | 191 | struct drm_file *file_priv); |
192 | extern void intel_wait_for_vblank(struct drm_device *dev); | 192 | extern void intel_wait_for_vblank(struct drm_device *dev); |
193 | extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe); | 193 | extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe); |
194 | extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output, | 194 | extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_encoder *intel_encoder, |
195 | struct drm_display_mode *mode, | 195 | struct drm_display_mode *mode, |
196 | int *dpms_mode); | 196 | int *dpms_mode); |
197 | extern void intel_release_load_detect_pipe(struct intel_output *intel_output, | 197 | extern void intel_release_load_detect_pipe(struct intel_encoder *intel_encoder, |
198 | int dpms_mode); | 198 | int dpms_mode); |
199 | 199 | ||
200 | extern struct drm_connector* intel_sdvo_find(struct drm_device *dev, int sdvoB); | 200 | extern struct drm_connector* intel_sdvo_find(struct drm_device *dev, int sdvoB); |
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index a4d2606de778..62282f34eba9 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c | |||
@@ -79,8 +79,8 @@ static struct intel_dvo_device intel_dvo_devices[] = { | |||
79 | static void intel_dvo_dpms(struct drm_encoder *encoder, int mode) | 79 | static void intel_dvo_dpms(struct drm_encoder *encoder, int mode) |
80 | { | 80 | { |
81 | struct drm_i915_private *dev_priv = encoder->dev->dev_private; | 81 | struct drm_i915_private *dev_priv = encoder->dev->dev_private; |
82 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 82 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
83 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 83 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
84 | u32 dvo_reg = dvo->dvo_reg; | 84 | u32 dvo_reg = dvo->dvo_reg; |
85 | u32 temp = I915_READ(dvo_reg); | 85 | u32 temp = I915_READ(dvo_reg); |
86 | 86 | ||
@@ -98,8 +98,8 @@ static void intel_dvo_dpms(struct drm_encoder *encoder, int mode) | |||
98 | static void intel_dvo_save(struct drm_connector *connector) | 98 | static void intel_dvo_save(struct drm_connector *connector) |
99 | { | 99 | { |
100 | struct drm_i915_private *dev_priv = connector->dev->dev_private; | 100 | struct drm_i915_private *dev_priv = connector->dev->dev_private; |
101 | struct intel_output *intel_output = to_intel_output(connector); | 101 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
102 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 102 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
103 | 103 | ||
104 | /* Each output should probably just save the registers it touches, | 104 | /* Each output should probably just save the registers it touches, |
105 | * but for now, use more overkill. | 105 | * but for now, use more overkill. |
@@ -114,8 +114,8 @@ static void intel_dvo_save(struct drm_connector *connector) | |||
114 | static void intel_dvo_restore(struct drm_connector *connector) | 114 | static void intel_dvo_restore(struct drm_connector *connector) |
115 | { | 115 | { |
116 | struct drm_i915_private *dev_priv = connector->dev->dev_private; | 116 | struct drm_i915_private *dev_priv = connector->dev->dev_private; |
117 | struct intel_output *intel_output = to_intel_output(connector); | 117 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
118 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 118 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
119 | 119 | ||
120 | dvo->dev_ops->restore(dvo); | 120 | dvo->dev_ops->restore(dvo); |
121 | 121 | ||
@@ -127,8 +127,8 @@ static void intel_dvo_restore(struct drm_connector *connector) | |||
127 | static int intel_dvo_mode_valid(struct drm_connector *connector, | 127 | static int intel_dvo_mode_valid(struct drm_connector *connector, |
128 | struct drm_display_mode *mode) | 128 | struct drm_display_mode *mode) |
129 | { | 129 | { |
130 | struct intel_output *intel_output = to_intel_output(connector); | 130 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
131 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 131 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
132 | 132 | ||
133 | if (mode->flags & DRM_MODE_FLAG_DBLSCAN) | 133 | if (mode->flags & DRM_MODE_FLAG_DBLSCAN) |
134 | return MODE_NO_DBLESCAN; | 134 | return MODE_NO_DBLESCAN; |
@@ -149,8 +149,8 @@ static bool intel_dvo_mode_fixup(struct drm_encoder *encoder, | |||
149 | struct drm_display_mode *mode, | 149 | struct drm_display_mode *mode, |
150 | struct drm_display_mode *adjusted_mode) | 150 | struct drm_display_mode *adjusted_mode) |
151 | { | 151 | { |
152 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 152 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
153 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 153 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
154 | 154 | ||
155 | /* If we have timings from the BIOS for the panel, put them in | 155 | /* If we have timings from the BIOS for the panel, put them in |
156 | * to the adjusted mode. The CRTC will be set up for this mode, | 156 | * to the adjusted mode. The CRTC will be set up for this mode, |
@@ -185,8 +185,8 @@ static void intel_dvo_mode_set(struct drm_encoder *encoder, | |||
185 | struct drm_device *dev = encoder->dev; | 185 | struct drm_device *dev = encoder->dev; |
186 | struct drm_i915_private *dev_priv = dev->dev_private; | 186 | struct drm_i915_private *dev_priv = dev->dev_private; |
187 | struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); | 187 | struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); |
188 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 188 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
189 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 189 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
190 | int pipe = intel_crtc->pipe; | 190 | int pipe = intel_crtc->pipe; |
191 | u32 dvo_val; | 191 | u32 dvo_val; |
192 | u32 dvo_reg = dvo->dvo_reg, dvo_srcdim_reg; | 192 | u32 dvo_reg = dvo->dvo_reg, dvo_srcdim_reg; |
@@ -240,23 +240,23 @@ static void intel_dvo_mode_set(struct drm_encoder *encoder, | |||
240 | */ | 240 | */ |
241 | static enum drm_connector_status intel_dvo_detect(struct drm_connector *connector) | 241 | static enum drm_connector_status intel_dvo_detect(struct drm_connector *connector) |
242 | { | 242 | { |
243 | struct intel_output *intel_output = to_intel_output(connector); | 243 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
244 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 244 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
245 | 245 | ||
246 | return dvo->dev_ops->detect(dvo); | 246 | return dvo->dev_ops->detect(dvo); |
247 | } | 247 | } |
248 | 248 | ||
249 | static int intel_dvo_get_modes(struct drm_connector *connector) | 249 | static int intel_dvo_get_modes(struct drm_connector *connector) |
250 | { | 250 | { |
251 | struct intel_output *intel_output = to_intel_output(connector); | 251 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
252 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 252 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
253 | 253 | ||
254 | /* We should probably have an i2c driver get_modes function for those | 254 | /* We should probably have an i2c driver get_modes function for those |
255 | * devices which will have a fixed set of modes determined by the chip | 255 | * devices which will have a fixed set of modes determined by the chip |
256 | * (TV-out, for example), but for now with just TMDS and LVDS, | 256 | * (TV-out, for example), but for now with just TMDS and LVDS, |
257 | * that's not the case. | 257 | * that's not the case. |
258 | */ | 258 | */ |
259 | intel_ddc_get_modes(intel_output); | 259 | intel_ddc_get_modes(intel_encoder); |
260 | if (!list_empty(&connector->probed_modes)) | 260 | if (!list_empty(&connector->probed_modes)) |
261 | return 1; | 261 | return 1; |
262 | 262 | ||
@@ -274,8 +274,8 @@ static int intel_dvo_get_modes(struct drm_connector *connector) | |||
274 | 274 | ||
275 | static void intel_dvo_destroy (struct drm_connector *connector) | 275 | static void intel_dvo_destroy (struct drm_connector *connector) |
276 | { | 276 | { |
277 | struct intel_output *intel_output = to_intel_output(connector); | 277 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
278 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 278 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
279 | 279 | ||
280 | if (dvo) { | 280 | if (dvo) { |
281 | if (dvo->dev_ops->destroy) | 281 | if (dvo->dev_ops->destroy) |
@@ -285,13 +285,13 @@ static void intel_dvo_destroy (struct drm_connector *connector) | |||
285 | /* no need, in i830_dvoices[] now */ | 285 | /* no need, in i830_dvoices[] now */ |
286 | //kfree(dvo); | 286 | //kfree(dvo); |
287 | } | 287 | } |
288 | if (intel_output->i2c_bus) | 288 | if (intel_encoder->i2c_bus) |
289 | intel_i2c_destroy(intel_output->i2c_bus); | 289 | intel_i2c_destroy(intel_encoder->i2c_bus); |
290 | if (intel_output->ddc_bus) | 290 | if (intel_encoder->ddc_bus) |
291 | intel_i2c_destroy(intel_output->ddc_bus); | 291 | intel_i2c_destroy(intel_encoder->ddc_bus); |
292 | drm_sysfs_connector_remove(connector); | 292 | drm_sysfs_connector_remove(connector); |
293 | drm_connector_cleanup(connector); | 293 | drm_connector_cleanup(connector); |
294 | kfree(intel_output); | 294 | kfree(intel_encoder); |
295 | } | 295 | } |
296 | 296 | ||
297 | #ifdef RANDR_GET_CRTC_INTERFACE | 297 | #ifdef RANDR_GET_CRTC_INTERFACE |
@@ -299,8 +299,8 @@ static struct drm_crtc *intel_dvo_get_crtc(struct drm_connector *connector) | |||
299 | { | 299 | { |
300 | struct drm_device *dev = connector->dev; | 300 | struct drm_device *dev = connector->dev; |
301 | struct drm_i915_private *dev_priv = dev->dev_private; | 301 | struct drm_i915_private *dev_priv = dev->dev_private; |
302 | struct intel_output *intel_output = to_intel_output(connector); | 302 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
303 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 303 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
304 | int pipe = !!(I915_READ(dvo->dvo_reg) & SDVO_PIPE_B_SELECT); | 304 | int pipe = !!(I915_READ(dvo->dvo_reg) & SDVO_PIPE_B_SELECT); |
305 | 305 | ||
306 | return intel_pipe_to_crtc(pScrn, pipe); | 306 | return intel_pipe_to_crtc(pScrn, pipe); |
@@ -351,8 +351,8 @@ intel_dvo_get_current_mode (struct drm_connector *connector) | |||
351 | { | 351 | { |
352 | struct drm_device *dev = connector->dev; | 352 | struct drm_device *dev = connector->dev; |
353 | struct drm_i915_private *dev_priv = dev->dev_private; | 353 | struct drm_i915_private *dev_priv = dev->dev_private; |
354 | struct intel_output *intel_output = to_intel_output(connector); | 354 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
355 | struct intel_dvo_device *dvo = intel_output->dev_priv; | 355 | struct intel_dvo_device *dvo = intel_encoder->dev_priv; |
356 | uint32_t dvo_reg = dvo->dvo_reg; | 356 | uint32_t dvo_reg = dvo->dvo_reg; |
357 | uint32_t dvo_val = I915_READ(dvo_reg); | 357 | uint32_t dvo_val = I915_READ(dvo_reg); |
358 | struct drm_display_mode *mode = NULL; | 358 | struct drm_display_mode *mode = NULL; |
@@ -382,24 +382,24 @@ intel_dvo_get_current_mode (struct drm_connector *connector) | |||
382 | 382 | ||
383 | void intel_dvo_init(struct drm_device *dev) | 383 | void intel_dvo_init(struct drm_device *dev) |
384 | { | 384 | { |
385 | struct intel_output *intel_output; | 385 | struct intel_encoder *intel_encoder; |
386 | struct intel_dvo_device *dvo; | 386 | struct intel_dvo_device *dvo; |
387 | struct i2c_adapter *i2cbus = NULL; | 387 | struct i2c_adapter *i2cbus = NULL; |
388 | int ret = 0; | 388 | int ret = 0; |
389 | int i; | 389 | int i; |
390 | int encoder_type = DRM_MODE_ENCODER_NONE; | 390 | int encoder_type = DRM_MODE_ENCODER_NONE; |
391 | intel_output = kzalloc (sizeof(struct intel_output), GFP_KERNEL); | 391 | intel_encoder = kzalloc (sizeof(struct intel_encoder), GFP_KERNEL); |
392 | if (!intel_output) | 392 | if (!intel_encoder) |
393 | return; | 393 | return; |
394 | 394 | ||
395 | /* Set up the DDC bus */ | 395 | /* Set up the DDC bus */ |
396 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOD, "DVODDC_D"); | 396 | intel_encoder->ddc_bus = intel_i2c_create(dev, GPIOD, "DVODDC_D"); |
397 | if (!intel_output->ddc_bus) | 397 | if (!intel_encoder->ddc_bus) |
398 | goto free_intel; | 398 | goto free_intel; |
399 | 399 | ||
400 | /* Now, try to find a controller */ | 400 | /* Now, try to find a controller */ |
401 | for (i = 0; i < ARRAY_SIZE(intel_dvo_devices); i++) { | 401 | for (i = 0; i < ARRAY_SIZE(intel_dvo_devices); i++) { |
402 | struct drm_connector *connector = &intel_output->base; | 402 | struct drm_connector *connector = &intel_encoder->base; |
403 | int gpio; | 403 | int gpio; |
404 | 404 | ||
405 | dvo = &intel_dvo_devices[i]; | 405 | dvo = &intel_dvo_devices[i]; |
@@ -434,11 +434,11 @@ void intel_dvo_init(struct drm_device *dev) | |||
434 | if (!ret) | 434 | if (!ret) |
435 | continue; | 435 | continue; |
436 | 436 | ||
437 | intel_output->type = INTEL_OUTPUT_DVO; | 437 | intel_encoder->type = INTEL_OUTPUT_DVO; |
438 | intel_output->crtc_mask = (1 << 0) | (1 << 1); | 438 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); |
439 | switch (dvo->type) { | 439 | switch (dvo->type) { |
440 | case INTEL_DVO_CHIP_TMDS: | 440 | case INTEL_DVO_CHIP_TMDS: |
441 | intel_output->clone_mask = | 441 | intel_encoder->clone_mask = |
442 | (1 << INTEL_DVO_TMDS_CLONE_BIT) | | 442 | (1 << INTEL_DVO_TMDS_CLONE_BIT) | |
443 | (1 << INTEL_ANALOG_CLONE_BIT); | 443 | (1 << INTEL_ANALOG_CLONE_BIT); |
444 | drm_connector_init(dev, connector, | 444 | drm_connector_init(dev, connector, |
@@ -447,7 +447,7 @@ void intel_dvo_init(struct drm_device *dev) | |||
447 | encoder_type = DRM_MODE_ENCODER_TMDS; | 447 | encoder_type = DRM_MODE_ENCODER_TMDS; |
448 | break; | 448 | break; |
449 | case INTEL_DVO_CHIP_LVDS: | 449 | case INTEL_DVO_CHIP_LVDS: |
450 | intel_output->clone_mask = | 450 | intel_encoder->clone_mask = |
451 | (1 << INTEL_DVO_LVDS_CLONE_BIT); | 451 | (1 << INTEL_DVO_LVDS_CLONE_BIT); |
452 | drm_connector_init(dev, connector, | 452 | drm_connector_init(dev, connector, |
453 | &intel_dvo_connector_funcs, | 453 | &intel_dvo_connector_funcs, |
@@ -462,16 +462,16 @@ void intel_dvo_init(struct drm_device *dev) | |||
462 | connector->interlace_allowed = false; | 462 | connector->interlace_allowed = false; |
463 | connector->doublescan_allowed = false; | 463 | connector->doublescan_allowed = false; |
464 | 464 | ||
465 | intel_output->dev_priv = dvo; | 465 | intel_encoder->dev_priv = dvo; |
466 | intel_output->i2c_bus = i2cbus; | 466 | intel_encoder->i2c_bus = i2cbus; |
467 | 467 | ||
468 | drm_encoder_init(dev, &intel_output->enc, | 468 | drm_encoder_init(dev, &intel_encoder->enc, |
469 | &intel_dvo_enc_funcs, encoder_type); | 469 | &intel_dvo_enc_funcs, encoder_type); |
470 | drm_encoder_helper_add(&intel_output->enc, | 470 | drm_encoder_helper_add(&intel_encoder->enc, |
471 | &intel_dvo_helper_funcs); | 471 | &intel_dvo_helper_funcs); |
472 | 472 | ||
473 | drm_mode_connector_attach_encoder(&intel_output->base, | 473 | drm_mode_connector_attach_encoder(&intel_encoder->base, |
474 | &intel_output->enc); | 474 | &intel_encoder->enc); |
475 | if (dvo->type == INTEL_DVO_CHIP_LVDS) { | 475 | if (dvo->type == INTEL_DVO_CHIP_LVDS) { |
476 | /* For our LVDS chipsets, we should hopefully be able | 476 | /* For our LVDS chipsets, we should hopefully be able |
477 | * to dig the fixed panel mode out of the BIOS data. | 477 | * to dig the fixed panel mode out of the BIOS data. |
@@ -489,10 +489,10 @@ void intel_dvo_init(struct drm_device *dev) | |||
489 | return; | 489 | return; |
490 | } | 490 | } |
491 | 491 | ||
492 | intel_i2c_destroy(intel_output->ddc_bus); | 492 | intel_i2c_destroy(intel_encoder->ddc_bus); |
493 | /* Didn't find a chip, so tear down. */ | 493 | /* Didn't find a chip, so tear down. */ |
494 | if (i2cbus != NULL) | 494 | if (i2cbus != NULL) |
495 | intel_i2c_destroy(i2cbus); | 495 | intel_i2c_destroy(i2cbus); |
496 | free_intel: | 496 | free_intel: |
497 | kfree(intel_output); | 497 | kfree(intel_encoder); |
498 | } | 498 | } |
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index a30f8bfc1985..9777504afeb2 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -50,8 +50,8 @@ static void intel_hdmi_mode_set(struct drm_encoder *encoder, | |||
50 | struct drm_i915_private *dev_priv = dev->dev_private; | 50 | struct drm_i915_private *dev_priv = dev->dev_private; |
51 | struct drm_crtc *crtc = encoder->crtc; | 51 | struct drm_crtc *crtc = encoder->crtc; |
52 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | 52 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); |
53 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 53 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
54 | struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; | 54 | struct intel_hdmi_priv *hdmi_priv = intel_encoder->dev_priv; |
55 | u32 sdvox; | 55 | u32 sdvox; |
56 | 56 | ||
57 | sdvox = SDVO_ENCODING_HDMI | | 57 | sdvox = SDVO_ENCODING_HDMI | |
@@ -73,8 +73,8 @@ static void intel_hdmi_dpms(struct drm_encoder *encoder, int mode) | |||
73 | { | 73 | { |
74 | struct drm_device *dev = encoder->dev; | 74 | struct drm_device *dev = encoder->dev; |
75 | struct drm_i915_private *dev_priv = dev->dev_private; | 75 | struct drm_i915_private *dev_priv = dev->dev_private; |
76 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 76 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
77 | struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; | 77 | struct intel_hdmi_priv *hdmi_priv = intel_encoder->dev_priv; |
78 | u32 temp; | 78 | u32 temp; |
79 | 79 | ||
80 | temp = I915_READ(hdmi_priv->sdvox_reg); | 80 | temp = I915_READ(hdmi_priv->sdvox_reg); |
@@ -109,8 +109,8 @@ static void intel_hdmi_save(struct drm_connector *connector) | |||
109 | { | 109 | { |
110 | struct drm_device *dev = connector->dev; | 110 | struct drm_device *dev = connector->dev; |
111 | struct drm_i915_private *dev_priv = dev->dev_private; | 111 | struct drm_i915_private *dev_priv = dev->dev_private; |
112 | struct intel_output *intel_output = to_intel_output(connector); | 112 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
113 | struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; | 113 | struct intel_hdmi_priv *hdmi_priv = intel_encoder->dev_priv; |
114 | 114 | ||
115 | hdmi_priv->save_SDVOX = I915_READ(hdmi_priv->sdvox_reg); | 115 | hdmi_priv->save_SDVOX = I915_READ(hdmi_priv->sdvox_reg); |
116 | } | 116 | } |
@@ -119,8 +119,8 @@ static void intel_hdmi_restore(struct drm_connector *connector) | |||
119 | { | 119 | { |
120 | struct drm_device *dev = connector->dev; | 120 | struct drm_device *dev = connector->dev; |
121 | struct drm_i915_private *dev_priv = dev->dev_private; | 121 | struct drm_i915_private *dev_priv = dev->dev_private; |
122 | struct intel_output *intel_output = to_intel_output(connector); | 122 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
123 | struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; | 123 | struct intel_hdmi_priv *hdmi_priv = intel_encoder->dev_priv; |
124 | 124 | ||
125 | I915_WRITE(hdmi_priv->sdvox_reg, hdmi_priv->save_SDVOX); | 125 | I915_WRITE(hdmi_priv->sdvox_reg, hdmi_priv->save_SDVOX); |
126 | POSTING_READ(hdmi_priv->sdvox_reg); | 126 | POSTING_READ(hdmi_priv->sdvox_reg); |
@@ -150,21 +150,21 @@ static bool intel_hdmi_mode_fixup(struct drm_encoder *encoder, | |||
150 | static enum drm_connector_status | 150 | static enum drm_connector_status |
151 | intel_hdmi_detect(struct drm_connector *connector) | 151 | intel_hdmi_detect(struct drm_connector *connector) |
152 | { | 152 | { |
153 | struct intel_output *intel_output = to_intel_output(connector); | 153 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
154 | struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; | 154 | struct intel_hdmi_priv *hdmi_priv = intel_encoder->dev_priv; |
155 | struct edid *edid = NULL; | 155 | struct edid *edid = NULL; |
156 | enum drm_connector_status status = connector_status_disconnected; | 156 | enum drm_connector_status status = connector_status_disconnected; |
157 | 157 | ||
158 | hdmi_priv->has_hdmi_sink = false; | 158 | hdmi_priv->has_hdmi_sink = false; |
159 | edid = drm_get_edid(&intel_output->base, | 159 | edid = drm_get_edid(&intel_encoder->base, |
160 | intel_output->ddc_bus); | 160 | intel_encoder->ddc_bus); |
161 | 161 | ||
162 | if (edid) { | 162 | if (edid) { |
163 | if (edid->input & DRM_EDID_INPUT_DIGITAL) { | 163 | if (edid->input & DRM_EDID_INPUT_DIGITAL) { |
164 | status = connector_status_connected; | 164 | status = connector_status_connected; |
165 | hdmi_priv->has_hdmi_sink = drm_detect_hdmi_monitor(edid); | 165 | hdmi_priv->has_hdmi_sink = drm_detect_hdmi_monitor(edid); |
166 | } | 166 | } |
167 | intel_output->base.display_info.raw_edid = NULL; | 167 | intel_encoder->base.display_info.raw_edid = NULL; |
168 | kfree(edid); | 168 | kfree(edid); |
169 | } | 169 | } |
170 | 170 | ||
@@ -173,24 +173,24 @@ intel_hdmi_detect(struct drm_connector *connector) | |||
173 | 173 | ||
174 | static int intel_hdmi_get_modes(struct drm_connector *connector) | 174 | static int intel_hdmi_get_modes(struct drm_connector *connector) |
175 | { | 175 | { |
176 | struct intel_output *intel_output = to_intel_output(connector); | 176 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
177 | 177 | ||
178 | /* We should parse the EDID data and find out if it's an HDMI sink so | 178 | /* We should parse the EDID data and find out if it's an HDMI sink so |
179 | * we can send audio to it. | 179 | * we can send audio to it. |
180 | */ | 180 | */ |
181 | 181 | ||
182 | return intel_ddc_get_modes(intel_output); | 182 | return intel_ddc_get_modes(intel_encoder); |
183 | } | 183 | } |
184 | 184 | ||
185 | static void intel_hdmi_destroy(struct drm_connector *connector) | 185 | static void intel_hdmi_destroy(struct drm_connector *connector) |
186 | { | 186 | { |
187 | struct intel_output *intel_output = to_intel_output(connector); | 187 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
188 | 188 | ||
189 | if (intel_output->i2c_bus) | 189 | if (intel_encoder->i2c_bus) |
190 | intel_i2c_destroy(intel_output->i2c_bus); | 190 | intel_i2c_destroy(intel_encoder->i2c_bus); |
191 | drm_sysfs_connector_remove(connector); | 191 | drm_sysfs_connector_remove(connector); |
192 | drm_connector_cleanup(connector); | 192 | drm_connector_cleanup(connector); |
193 | kfree(intel_output); | 193 | kfree(intel_encoder); |
194 | } | 194 | } |
195 | 195 | ||
196 | static const struct drm_encoder_helper_funcs intel_hdmi_helper_funcs = { | 196 | static const struct drm_encoder_helper_funcs intel_hdmi_helper_funcs = { |
@@ -229,63 +229,63 @@ void intel_hdmi_init(struct drm_device *dev, int sdvox_reg) | |||
229 | { | 229 | { |
230 | struct drm_i915_private *dev_priv = dev->dev_private; | 230 | struct drm_i915_private *dev_priv = dev->dev_private; |
231 | struct drm_connector *connector; | 231 | struct drm_connector *connector; |
232 | struct intel_output *intel_output; | 232 | struct intel_encoder *intel_encoder; |
233 | struct intel_hdmi_priv *hdmi_priv; | 233 | struct intel_hdmi_priv *hdmi_priv; |
234 | 234 | ||
235 | intel_output = kcalloc(sizeof(struct intel_output) + | 235 | intel_encoder = kcalloc(sizeof(struct intel_encoder) + |
236 | sizeof(struct intel_hdmi_priv), 1, GFP_KERNEL); | 236 | sizeof(struct intel_hdmi_priv), 1, GFP_KERNEL); |
237 | if (!intel_output) | 237 | if (!intel_encoder) |
238 | return; | 238 | return; |
239 | hdmi_priv = (struct intel_hdmi_priv *)(intel_output + 1); | 239 | hdmi_priv = (struct intel_hdmi_priv *)(intel_encoder + 1); |
240 | 240 | ||
241 | connector = &intel_output->base; | 241 | connector = &intel_encoder->base; |
242 | drm_connector_init(dev, connector, &intel_hdmi_connector_funcs, | 242 | drm_connector_init(dev, connector, &intel_hdmi_connector_funcs, |
243 | DRM_MODE_CONNECTOR_HDMIA); | 243 | DRM_MODE_CONNECTOR_HDMIA); |
244 | drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs); | 244 | drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs); |
245 | 245 | ||
246 | intel_output->type = INTEL_OUTPUT_HDMI; | 246 | intel_encoder->type = INTEL_OUTPUT_HDMI; |
247 | 247 | ||
248 | connector->interlace_allowed = 0; | 248 | connector->interlace_allowed = 0; |
249 | connector->doublescan_allowed = 0; | 249 | connector->doublescan_allowed = 0; |
250 | intel_output->crtc_mask = (1 << 0) | (1 << 1); | 250 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); |
251 | 251 | ||
252 | /* Set up the DDC bus. */ | 252 | /* Set up the DDC bus. */ |
253 | if (sdvox_reg == SDVOB) { | 253 | if (sdvox_reg == SDVOB) { |
254 | intel_output->clone_mask = (1 << INTEL_HDMIB_CLONE_BIT); | 254 | intel_encoder->clone_mask = (1 << INTEL_HDMIB_CLONE_BIT); |
255 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "HDMIB"); | 255 | intel_encoder->ddc_bus = intel_i2c_create(dev, GPIOE, "HDMIB"); |
256 | dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; | 256 | dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; |
257 | } else if (sdvox_reg == SDVOC) { | 257 | } else if (sdvox_reg == SDVOC) { |
258 | intel_output->clone_mask = (1 << INTEL_HDMIC_CLONE_BIT); | 258 | intel_encoder->clone_mask = (1 << INTEL_HDMIC_CLONE_BIT); |
259 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOD, "HDMIC"); | 259 | intel_encoder->ddc_bus = intel_i2c_create(dev, GPIOD, "HDMIC"); |
260 | dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; | 260 | dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; |
261 | } else if (sdvox_reg == HDMIB) { | 261 | } else if (sdvox_reg == HDMIB) { |
262 | intel_output->clone_mask = (1 << INTEL_HDMID_CLONE_BIT); | 262 | intel_encoder->clone_mask = (1 << INTEL_HDMID_CLONE_BIT); |
263 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOE, | 263 | intel_encoder->ddc_bus = intel_i2c_create(dev, PCH_GPIOE, |
264 | "HDMIB"); | 264 | "HDMIB"); |
265 | dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; | 265 | dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; |
266 | } else if (sdvox_reg == HDMIC) { | 266 | } else if (sdvox_reg == HDMIC) { |
267 | intel_output->clone_mask = (1 << INTEL_HDMIE_CLONE_BIT); | 267 | intel_encoder->clone_mask = (1 << INTEL_HDMIE_CLONE_BIT); |
268 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOD, | 268 | intel_encoder->ddc_bus = intel_i2c_create(dev, PCH_GPIOD, |
269 | "HDMIC"); | 269 | "HDMIC"); |
270 | dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; | 270 | dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; |
271 | } else if (sdvox_reg == HDMID) { | 271 | } else if (sdvox_reg == HDMID) { |
272 | intel_output->clone_mask = (1 << INTEL_HDMIF_CLONE_BIT); | 272 | intel_encoder->clone_mask = (1 << INTEL_HDMIF_CLONE_BIT); |
273 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOF, | 273 | intel_encoder->ddc_bus = intel_i2c_create(dev, PCH_GPIOF, |
274 | "HDMID"); | 274 | "HDMID"); |
275 | dev_priv->hotplug_supported_mask |= HDMID_HOTPLUG_INT_STATUS; | 275 | dev_priv->hotplug_supported_mask |= HDMID_HOTPLUG_INT_STATUS; |
276 | } | 276 | } |
277 | if (!intel_output->ddc_bus) | 277 | if (!intel_encoder->ddc_bus) |
278 | goto err_connector; | 278 | goto err_connector; |
279 | 279 | ||
280 | hdmi_priv->sdvox_reg = sdvox_reg; | 280 | hdmi_priv->sdvox_reg = sdvox_reg; |
281 | intel_output->dev_priv = hdmi_priv; | 281 | intel_encoder->dev_priv = hdmi_priv; |
282 | 282 | ||
283 | drm_encoder_init(dev, &intel_output->enc, &intel_hdmi_enc_funcs, | 283 | drm_encoder_init(dev, &intel_encoder->enc, &intel_hdmi_enc_funcs, |
284 | DRM_MODE_ENCODER_TMDS); | 284 | DRM_MODE_ENCODER_TMDS); |
285 | drm_encoder_helper_add(&intel_output->enc, &intel_hdmi_helper_funcs); | 285 | drm_encoder_helper_add(&intel_encoder->enc, &intel_hdmi_helper_funcs); |
286 | 286 | ||
287 | drm_mode_connector_attach_encoder(&intel_output->base, | 287 | drm_mode_connector_attach_encoder(&intel_encoder->base, |
288 | &intel_output->enc); | 288 | &intel_encoder->enc); |
289 | drm_sysfs_connector_add(connector); | 289 | drm_sysfs_connector_add(connector); |
290 | 290 | ||
291 | /* For G4X desktop chip, PEG_BAND_GAP_DATA 3:0 must first be written | 291 | /* For G4X desktop chip, PEG_BAND_GAP_DATA 3:0 must first be written |
@@ -301,7 +301,7 @@ void intel_hdmi_init(struct drm_device *dev, int sdvox_reg) | |||
301 | 301 | ||
302 | err_connector: | 302 | err_connector: |
303 | drm_connector_cleanup(connector); | 303 | drm_connector_cleanup(connector); |
304 | kfree(intel_output); | 304 | kfree(intel_encoder); |
305 | 305 | ||
306 | return; | 306 | return; |
307 | } | 307 | } |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 2b3fa7a3c028..9d99ddca17ef 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -238,8 +238,8 @@ static bool intel_lvds_mode_fixup(struct drm_encoder *encoder, | |||
238 | struct drm_i915_private *dev_priv = dev->dev_private; | 238 | struct drm_i915_private *dev_priv = dev->dev_private; |
239 | struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); | 239 | struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); |
240 | struct drm_encoder *tmp_encoder; | 240 | struct drm_encoder *tmp_encoder; |
241 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 241 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
242 | struct intel_lvds_priv *lvds_priv = intel_output->dev_priv; | 242 | struct intel_lvds_priv *lvds_priv = intel_encoder->dev_priv; |
243 | u32 pfit_control = 0, pfit_pgm_ratios = 0; | 243 | u32 pfit_control = 0, pfit_pgm_ratios = 0; |
244 | int left_border = 0, right_border = 0, top_border = 0; | 244 | int left_border = 0, right_border = 0, top_border = 0; |
245 | int bottom_border = 0; | 245 | int bottom_border = 0; |
@@ -586,8 +586,8 @@ static void intel_lvds_mode_set(struct drm_encoder *encoder, | |||
586 | { | 586 | { |
587 | struct drm_device *dev = encoder->dev; | 587 | struct drm_device *dev = encoder->dev; |
588 | struct drm_i915_private *dev_priv = dev->dev_private; | 588 | struct drm_i915_private *dev_priv = dev->dev_private; |
589 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 589 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
590 | struct intel_lvds_priv *lvds_priv = intel_output->dev_priv; | 590 | struct intel_lvds_priv *lvds_priv = intel_encoder->dev_priv; |
591 | 591 | ||
592 | /* | 592 | /* |
593 | * The LVDS pin pair will already have been turned on in the | 593 | * The LVDS pin pair will already have been turned on in the |
@@ -634,11 +634,11 @@ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connect | |||
634 | static int intel_lvds_get_modes(struct drm_connector *connector) | 634 | static int intel_lvds_get_modes(struct drm_connector *connector) |
635 | { | 635 | { |
636 | struct drm_device *dev = connector->dev; | 636 | struct drm_device *dev = connector->dev; |
637 | struct intel_output *intel_output = to_intel_output(connector); | 637 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
638 | struct drm_i915_private *dev_priv = dev->dev_private; | 638 | struct drm_i915_private *dev_priv = dev->dev_private; |
639 | int ret = 0; | 639 | int ret = 0; |
640 | 640 | ||
641 | ret = intel_ddc_get_modes(intel_output); | 641 | ret = intel_ddc_get_modes(intel_encoder); |
642 | 642 | ||
643 | if (ret) | 643 | if (ret) |
644 | return ret; | 644 | return ret; |
@@ -714,11 +714,11 @@ static int intel_lid_notify(struct notifier_block *nb, unsigned long val, | |||
714 | static void intel_lvds_destroy(struct drm_connector *connector) | 714 | static void intel_lvds_destroy(struct drm_connector *connector) |
715 | { | 715 | { |
716 | struct drm_device *dev = connector->dev; | 716 | struct drm_device *dev = connector->dev; |
717 | struct intel_output *intel_output = to_intel_output(connector); | 717 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
718 | struct drm_i915_private *dev_priv = dev->dev_private; | 718 | struct drm_i915_private *dev_priv = dev->dev_private; |
719 | 719 | ||
720 | if (intel_output->ddc_bus) | 720 | if (intel_encoder->ddc_bus) |
721 | intel_i2c_destroy(intel_output->ddc_bus); | 721 | intel_i2c_destroy(intel_encoder->ddc_bus); |
722 | if (dev_priv->lid_notifier.notifier_call) | 722 | if (dev_priv->lid_notifier.notifier_call) |
723 | acpi_lid_notifier_unregister(&dev_priv->lid_notifier); | 723 | acpi_lid_notifier_unregister(&dev_priv->lid_notifier); |
724 | drm_sysfs_connector_remove(connector); | 724 | drm_sysfs_connector_remove(connector); |
@@ -731,13 +731,13 @@ static int intel_lvds_set_property(struct drm_connector *connector, | |||
731 | uint64_t value) | 731 | uint64_t value) |
732 | { | 732 | { |
733 | struct drm_device *dev = connector->dev; | 733 | struct drm_device *dev = connector->dev; |
734 | struct intel_output *intel_output = | 734 | struct intel_encoder *intel_encoder = |
735 | to_intel_output(connector); | 735 | to_intel_encoder(connector); |
736 | 736 | ||
737 | if (property == dev->mode_config.scaling_mode_property && | 737 | if (property == dev->mode_config.scaling_mode_property && |
738 | connector->encoder) { | 738 | connector->encoder) { |
739 | struct drm_crtc *crtc = connector->encoder->crtc; | 739 | struct drm_crtc *crtc = connector->encoder->crtc; |
740 | struct intel_lvds_priv *lvds_priv = intel_output->dev_priv; | 740 | struct intel_lvds_priv *lvds_priv = intel_encoder->dev_priv; |
741 | if (value == DRM_MODE_SCALE_NONE) { | 741 | if (value == DRM_MODE_SCALE_NONE) { |
742 | DRM_DEBUG_KMS("no scaling not supported\n"); | 742 | DRM_DEBUG_KMS("no scaling not supported\n"); |
743 | return 0; | 743 | return 0; |
@@ -967,7 +967,7 @@ static int lvds_is_present_in_vbt(struct drm_device *dev) | |||
967 | void intel_lvds_init(struct drm_device *dev) | 967 | void intel_lvds_init(struct drm_device *dev) |
968 | { | 968 | { |
969 | struct drm_i915_private *dev_priv = dev->dev_private; | 969 | struct drm_i915_private *dev_priv = dev->dev_private; |
970 | struct intel_output *intel_output; | 970 | struct intel_encoder *intel_encoder; |
971 | struct drm_connector *connector; | 971 | struct drm_connector *connector; |
972 | struct drm_encoder *encoder; | 972 | struct drm_encoder *encoder; |
973 | struct drm_display_mode *scan; /* *modes, *bios_mode; */ | 973 | struct drm_display_mode *scan; /* *modes, *bios_mode; */ |
@@ -995,40 +995,40 @@ void intel_lvds_init(struct drm_device *dev) | |||
995 | gpio = PCH_GPIOC; | 995 | gpio = PCH_GPIOC; |
996 | } | 996 | } |
997 | 997 | ||
998 | intel_output = kzalloc(sizeof(struct intel_output) + | 998 | intel_encoder = kzalloc(sizeof(struct intel_encoder) + |
999 | sizeof(struct intel_lvds_priv), GFP_KERNEL); | 999 | sizeof(struct intel_lvds_priv), GFP_KERNEL); |
1000 | if (!intel_output) { | 1000 | if (!intel_encoder) { |
1001 | return; | 1001 | return; |
1002 | } | 1002 | } |
1003 | 1003 | ||
1004 | connector = &intel_output->base; | 1004 | connector = &intel_encoder->base; |
1005 | encoder = &intel_output->enc; | 1005 | encoder = &intel_encoder->enc; |
1006 | drm_connector_init(dev, &intel_output->base, &intel_lvds_connector_funcs, | 1006 | drm_connector_init(dev, &intel_encoder->base, &intel_lvds_connector_funcs, |
1007 | DRM_MODE_CONNECTOR_LVDS); | 1007 | DRM_MODE_CONNECTOR_LVDS); |
1008 | 1008 | ||
1009 | drm_encoder_init(dev, &intel_output->enc, &intel_lvds_enc_funcs, | 1009 | drm_encoder_init(dev, &intel_encoder->enc, &intel_lvds_enc_funcs, |
1010 | DRM_MODE_ENCODER_LVDS); | 1010 | DRM_MODE_ENCODER_LVDS); |
1011 | 1011 | ||
1012 | drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc); | 1012 | drm_mode_connector_attach_encoder(&intel_encoder->base, &intel_encoder->enc); |
1013 | intel_output->type = INTEL_OUTPUT_LVDS; | 1013 | intel_encoder->type = INTEL_OUTPUT_LVDS; |
1014 | 1014 | ||
1015 | intel_output->clone_mask = (1 << INTEL_LVDS_CLONE_BIT); | 1015 | intel_encoder->clone_mask = (1 << INTEL_LVDS_CLONE_BIT); |
1016 | intel_output->crtc_mask = (1 << 1); | 1016 | intel_encoder->crtc_mask = (1 << 1); |
1017 | drm_encoder_helper_add(encoder, &intel_lvds_helper_funcs); | 1017 | drm_encoder_helper_add(encoder, &intel_lvds_helper_funcs); |
1018 | drm_connector_helper_add(connector, &intel_lvds_connector_helper_funcs); | 1018 | drm_connector_helper_add(connector, &intel_lvds_connector_helper_funcs); |
1019 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | 1019 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; |
1020 | connector->interlace_allowed = false; | 1020 | connector->interlace_allowed = false; |
1021 | connector->doublescan_allowed = false; | 1021 | connector->doublescan_allowed = false; |
1022 | 1022 | ||
1023 | lvds_priv = (struct intel_lvds_priv *)(intel_output + 1); | 1023 | lvds_priv = (struct intel_lvds_priv *)(intel_encoder + 1); |
1024 | intel_output->dev_priv = lvds_priv; | 1024 | intel_encoder->dev_priv = lvds_priv; |
1025 | /* create the scaling mode property */ | 1025 | /* create the scaling mode property */ |
1026 | drm_mode_create_scaling_mode_property(dev); | 1026 | drm_mode_create_scaling_mode_property(dev); |
1027 | /* | 1027 | /* |
1028 | * the initial panel fitting mode will be FULL_SCREEN. | 1028 | * the initial panel fitting mode will be FULL_SCREEN. |
1029 | */ | 1029 | */ |
1030 | 1030 | ||
1031 | drm_connector_attach_property(&intel_output->base, | 1031 | drm_connector_attach_property(&intel_encoder->base, |
1032 | dev->mode_config.scaling_mode_property, | 1032 | dev->mode_config.scaling_mode_property, |
1033 | DRM_MODE_SCALE_FULLSCREEN); | 1033 | DRM_MODE_SCALE_FULLSCREEN); |
1034 | lvds_priv->fitting_mode = DRM_MODE_SCALE_FULLSCREEN; | 1034 | lvds_priv->fitting_mode = DRM_MODE_SCALE_FULLSCREEN; |
@@ -1043,8 +1043,8 @@ void intel_lvds_init(struct drm_device *dev) | |||
1043 | */ | 1043 | */ |
1044 | 1044 | ||
1045 | /* Set up the DDC bus. */ | 1045 | /* Set up the DDC bus. */ |
1046 | intel_output->ddc_bus = intel_i2c_create(dev, gpio, "LVDSDDC_C"); | 1046 | intel_encoder->ddc_bus = intel_i2c_create(dev, gpio, "LVDSDDC_C"); |
1047 | if (!intel_output->ddc_bus) { | 1047 | if (!intel_encoder->ddc_bus) { |
1048 | dev_printk(KERN_ERR, &dev->pdev->dev, "DDC bus registration " | 1048 | dev_printk(KERN_ERR, &dev->pdev->dev, "DDC bus registration " |
1049 | "failed.\n"); | 1049 | "failed.\n"); |
1050 | goto failed; | 1050 | goto failed; |
@@ -1054,7 +1054,7 @@ void intel_lvds_init(struct drm_device *dev) | |||
1054 | * Attempt to get the fixed panel mode from DDC. Assume that the | 1054 | * Attempt to get the fixed panel mode from DDC. Assume that the |
1055 | * preferred mode is the right one. | 1055 | * preferred mode is the right one. |
1056 | */ | 1056 | */ |
1057 | intel_ddc_get_modes(intel_output); | 1057 | intel_ddc_get_modes(intel_encoder); |
1058 | 1058 | ||
1059 | list_for_each_entry(scan, &connector->probed_modes, head) { | 1059 | list_for_each_entry(scan, &connector->probed_modes, head) { |
1060 | mutex_lock(&dev->mode_config.mutex); | 1060 | mutex_lock(&dev->mode_config.mutex); |
@@ -1132,9 +1132,9 @@ out: | |||
1132 | 1132 | ||
1133 | failed: | 1133 | failed: |
1134 | DRM_DEBUG_KMS("No LVDS modes found, disabling.\n"); | 1134 | DRM_DEBUG_KMS("No LVDS modes found, disabling.\n"); |
1135 | if (intel_output->ddc_bus) | 1135 | if (intel_encoder->ddc_bus) |
1136 | intel_i2c_destroy(intel_output->ddc_bus); | 1136 | intel_i2c_destroy(intel_encoder->ddc_bus); |
1137 | drm_connector_cleanup(connector); | 1137 | drm_connector_cleanup(connector); |
1138 | drm_encoder_cleanup(encoder); | 1138 | drm_encoder_cleanup(encoder); |
1139 | kfree(intel_output); | 1139 | kfree(intel_encoder); |
1140 | } | 1140 | } |
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c index 67e2f4632a24..3111a1c2731f 100644 --- a/drivers/gpu/drm/i915/intel_modes.c +++ b/drivers/gpu/drm/i915/intel_modes.c | |||
@@ -33,7 +33,7 @@ | |||
33 | * intel_ddc_probe | 33 | * intel_ddc_probe |
34 | * | 34 | * |
35 | */ | 35 | */ |
36 | bool intel_ddc_probe(struct intel_output *intel_output) | 36 | bool intel_ddc_probe(struct intel_encoder *intel_encoder) |
37 | { | 37 | { |
38 | u8 out_buf[] = { 0x0, 0x0}; | 38 | u8 out_buf[] = { 0x0, 0x0}; |
39 | u8 buf[2]; | 39 | u8 buf[2]; |
@@ -53,9 +53,9 @@ bool intel_ddc_probe(struct intel_output *intel_output) | |||
53 | } | 53 | } |
54 | }; | 54 | }; |
55 | 55 | ||
56 | intel_i2c_quirk_set(intel_output->base.dev, true); | 56 | intel_i2c_quirk_set(intel_encoder->base.dev, true); |
57 | ret = i2c_transfer(intel_output->ddc_bus, msgs, 2); | 57 | ret = i2c_transfer(intel_encoder->ddc_bus, msgs, 2); |
58 | intel_i2c_quirk_set(intel_output->base.dev, false); | 58 | intel_i2c_quirk_set(intel_encoder->base.dev, false); |
59 | if (ret == 2) | 59 | if (ret == 2) |
60 | return true; | 60 | return true; |
61 | 61 | ||
@@ -68,19 +68,19 @@ bool intel_ddc_probe(struct intel_output *intel_output) | |||
68 | * | 68 | * |
69 | * Fetch the EDID information from @connector using the DDC bus. | 69 | * Fetch the EDID information from @connector using the DDC bus. |
70 | */ | 70 | */ |
71 | int intel_ddc_get_modes(struct intel_output *intel_output) | 71 | int intel_ddc_get_modes(struct intel_encoder *intel_encoder) |
72 | { | 72 | { |
73 | struct edid *edid; | 73 | struct edid *edid; |
74 | int ret = 0; | 74 | int ret = 0; |
75 | 75 | ||
76 | intel_i2c_quirk_set(intel_output->base.dev, true); | 76 | intel_i2c_quirk_set(intel_encoder->base.dev, true); |
77 | edid = drm_get_edid(&intel_output->base, intel_output->ddc_bus); | 77 | edid = drm_get_edid(&intel_encoder->base, intel_encoder->ddc_bus); |
78 | intel_i2c_quirk_set(intel_output->base.dev, false); | 78 | intel_i2c_quirk_set(intel_encoder->base.dev, false); |
79 | if (edid) { | 79 | if (edid) { |
80 | drm_mode_connector_update_edid_property(&intel_output->base, | 80 | drm_mode_connector_update_edid_property(&intel_encoder->base, |
81 | edid); | 81 | edid); |
82 | ret = drm_add_edid_modes(&intel_output->base, edid); | 82 | ret = drm_add_edid_modes(&intel_encoder->base, edid); |
83 | intel_output->base.display_info.raw_edid = NULL; | 83 | intel_encoder->base.display_info.raw_edid = NULL; |
84 | kfree(edid); | 84 | kfree(edid); |
85 | } | 85 | } |
86 | 86 | ||
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 48daee5c9c63..ea6de3b14954 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
@@ -161,18 +161,18 @@ struct intel_sdvo_priv { | |||
161 | }; | 161 | }; |
162 | 162 | ||
163 | static bool | 163 | static bool |
164 | intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags); | 164 | intel_sdvo_output_setup(struct intel_encoder *intel_encoder, uint16_t flags); |
165 | 165 | ||
166 | /** | 166 | /** |
167 | * Writes the SDVOB or SDVOC with the given value, but always writes both | 167 | * Writes the SDVOB or SDVOC with the given value, but always writes both |
168 | * SDVOB and SDVOC to work around apparent hardware issues (according to | 168 | * SDVOB and SDVOC to work around apparent hardware issues (according to |
169 | * comments in the BIOS). | 169 | * comments in the BIOS). |
170 | */ | 170 | */ |
171 | static void intel_sdvo_write_sdvox(struct intel_output *intel_output, u32 val) | 171 | static void intel_sdvo_write_sdvox(struct intel_encoder *intel_encoder, u32 val) |
172 | { | 172 | { |
173 | struct drm_device *dev = intel_output->base.dev; | 173 | struct drm_device *dev = intel_encoder->base.dev; |
174 | struct drm_i915_private *dev_priv = dev->dev_private; | 174 | struct drm_i915_private *dev_priv = dev->dev_private; |
175 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 175 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
176 | u32 bval = val, cval = val; | 176 | u32 bval = val, cval = val; |
177 | int i; | 177 | int i; |
178 | 178 | ||
@@ -195,10 +195,10 @@ static void intel_sdvo_write_sdvox(struct intel_output *intel_output, u32 val) | |||
195 | } | 195 | } |
196 | } | 196 | } |
197 | 197 | ||
198 | static bool intel_sdvo_read_byte(struct intel_output *intel_output, u8 addr, | 198 | static bool intel_sdvo_read_byte(struct intel_encoder *intel_encoder, u8 addr, |
199 | u8 *ch) | 199 | u8 *ch) |
200 | { | 200 | { |
201 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 201 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
202 | u8 out_buf[2]; | 202 | u8 out_buf[2]; |
203 | u8 buf[2]; | 203 | u8 buf[2]; |
204 | int ret; | 204 | int ret; |
@@ -221,7 +221,7 @@ static bool intel_sdvo_read_byte(struct intel_output *intel_output, u8 addr, | |||
221 | out_buf[0] = addr; | 221 | out_buf[0] = addr; |
222 | out_buf[1] = 0; | 222 | out_buf[1] = 0; |
223 | 223 | ||
224 | if ((ret = i2c_transfer(intel_output->i2c_bus, msgs, 2)) == 2) | 224 | if ((ret = i2c_transfer(intel_encoder->i2c_bus, msgs, 2)) == 2) |
225 | { | 225 | { |
226 | *ch = buf[0]; | 226 | *ch = buf[0]; |
227 | return true; | 227 | return true; |
@@ -231,10 +231,10 @@ static bool intel_sdvo_read_byte(struct intel_output *intel_output, u8 addr, | |||
231 | return false; | 231 | return false; |
232 | } | 232 | } |
233 | 233 | ||
234 | static bool intel_sdvo_write_byte(struct intel_output *intel_output, int addr, | 234 | static bool intel_sdvo_write_byte(struct intel_encoder *intel_encoder, int addr, |
235 | u8 ch) | 235 | u8 ch) |
236 | { | 236 | { |
237 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 237 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
238 | u8 out_buf[2]; | 238 | u8 out_buf[2]; |
239 | struct i2c_msg msgs[] = { | 239 | struct i2c_msg msgs[] = { |
240 | { | 240 | { |
@@ -248,7 +248,7 @@ static bool intel_sdvo_write_byte(struct intel_output *intel_output, int addr, | |||
248 | out_buf[0] = addr; | 248 | out_buf[0] = addr; |
249 | out_buf[1] = ch; | 249 | out_buf[1] = ch; |
250 | 250 | ||
251 | if (i2c_transfer(intel_output->i2c_bus, msgs, 1) == 1) | 251 | if (i2c_transfer(intel_encoder->i2c_bus, msgs, 1) == 1) |
252 | { | 252 | { |
253 | return true; | 253 | return true; |
254 | } | 254 | } |
@@ -355,10 +355,10 @@ static const struct _sdvo_cmd_name { | |||
355 | #define SDVO_NAME(dev_priv) ((dev_priv)->output_device == SDVOB ? "SDVOB" : "SDVOC") | 355 | #define SDVO_NAME(dev_priv) ((dev_priv)->output_device == SDVOB ? "SDVOB" : "SDVOC") |
356 | #define SDVO_PRIV(output) ((struct intel_sdvo_priv *) (output)->dev_priv) | 356 | #define SDVO_PRIV(output) ((struct intel_sdvo_priv *) (output)->dev_priv) |
357 | 357 | ||
358 | static void intel_sdvo_debug_write(struct intel_output *intel_output, u8 cmd, | 358 | static void intel_sdvo_debug_write(struct intel_encoder *intel_encoder, u8 cmd, |
359 | void *args, int args_len) | 359 | void *args, int args_len) |
360 | { | 360 | { |
361 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 361 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
362 | int i; | 362 | int i; |
363 | 363 | ||
364 | DRM_DEBUG_KMS("%s: W: %02X ", | 364 | DRM_DEBUG_KMS("%s: W: %02X ", |
@@ -378,19 +378,19 @@ static void intel_sdvo_debug_write(struct intel_output *intel_output, u8 cmd, | |||
378 | DRM_LOG_KMS("\n"); | 378 | DRM_LOG_KMS("\n"); |
379 | } | 379 | } |
380 | 380 | ||
381 | static void intel_sdvo_write_cmd(struct intel_output *intel_output, u8 cmd, | 381 | static void intel_sdvo_write_cmd(struct intel_encoder *intel_encoder, u8 cmd, |
382 | void *args, int args_len) | 382 | void *args, int args_len) |
383 | { | 383 | { |
384 | int i; | 384 | int i; |
385 | 385 | ||
386 | intel_sdvo_debug_write(intel_output, cmd, args, args_len); | 386 | intel_sdvo_debug_write(intel_encoder, cmd, args, args_len); |
387 | 387 | ||
388 | for (i = 0; i < args_len; i++) { | 388 | for (i = 0; i < args_len; i++) { |
389 | intel_sdvo_write_byte(intel_output, SDVO_I2C_ARG_0 - i, | 389 | intel_sdvo_write_byte(intel_encoder, SDVO_I2C_ARG_0 - i, |
390 | ((u8*)args)[i]); | 390 | ((u8*)args)[i]); |
391 | } | 391 | } |
392 | 392 | ||
393 | intel_sdvo_write_byte(intel_output, SDVO_I2C_OPCODE, cmd); | 393 | intel_sdvo_write_byte(intel_encoder, SDVO_I2C_OPCODE, cmd); |
394 | } | 394 | } |
395 | 395 | ||
396 | static const char *cmd_status_names[] = { | 396 | static const char *cmd_status_names[] = { |
@@ -403,11 +403,11 @@ static const char *cmd_status_names[] = { | |||
403 | "Scaling not supported" | 403 | "Scaling not supported" |
404 | }; | 404 | }; |
405 | 405 | ||
406 | static void intel_sdvo_debug_response(struct intel_output *intel_output, | 406 | static void intel_sdvo_debug_response(struct intel_encoder *intel_encoder, |
407 | void *response, int response_len, | 407 | void *response, int response_len, |
408 | u8 status) | 408 | u8 status) |
409 | { | 409 | { |
410 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 410 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
411 | int i; | 411 | int i; |
412 | 412 | ||
413 | DRM_DEBUG_KMS("%s: R: ", SDVO_NAME(sdvo_priv)); | 413 | DRM_DEBUG_KMS("%s: R: ", SDVO_NAME(sdvo_priv)); |
@@ -422,7 +422,7 @@ static void intel_sdvo_debug_response(struct intel_output *intel_output, | |||
422 | DRM_LOG_KMS("\n"); | 422 | DRM_LOG_KMS("\n"); |
423 | } | 423 | } |
424 | 424 | ||
425 | static u8 intel_sdvo_read_response(struct intel_output *intel_output, | 425 | static u8 intel_sdvo_read_response(struct intel_encoder *intel_encoder, |
426 | void *response, int response_len) | 426 | void *response, int response_len) |
427 | { | 427 | { |
428 | int i; | 428 | int i; |
@@ -432,16 +432,16 @@ static u8 intel_sdvo_read_response(struct intel_output *intel_output, | |||
432 | while (retry--) { | 432 | while (retry--) { |
433 | /* Read the command response */ | 433 | /* Read the command response */ |
434 | for (i = 0; i < response_len; i++) { | 434 | for (i = 0; i < response_len; i++) { |
435 | intel_sdvo_read_byte(intel_output, | 435 | intel_sdvo_read_byte(intel_encoder, |
436 | SDVO_I2C_RETURN_0 + i, | 436 | SDVO_I2C_RETURN_0 + i, |
437 | &((u8 *)response)[i]); | 437 | &((u8 *)response)[i]); |
438 | } | 438 | } |
439 | 439 | ||
440 | /* read the return status */ | 440 | /* read the return status */ |
441 | intel_sdvo_read_byte(intel_output, SDVO_I2C_CMD_STATUS, | 441 | intel_sdvo_read_byte(intel_encoder, SDVO_I2C_CMD_STATUS, |
442 | &status); | 442 | &status); |
443 | 443 | ||
444 | intel_sdvo_debug_response(intel_output, response, response_len, | 444 | intel_sdvo_debug_response(intel_encoder, response, response_len, |
445 | status); | 445 | status); |
446 | if (status != SDVO_CMD_STATUS_PENDING) | 446 | if (status != SDVO_CMD_STATUS_PENDING) |
447 | return status; | 447 | return status; |
@@ -469,10 +469,10 @@ static int intel_sdvo_get_pixel_multiplier(struct drm_display_mode *mode) | |||
469 | * another I2C transaction after issuing the DDC bus switch, it will be | 469 | * another I2C transaction after issuing the DDC bus switch, it will be |
470 | * switched to the internal SDVO register. | 470 | * switched to the internal SDVO register. |
471 | */ | 471 | */ |
472 | static void intel_sdvo_set_control_bus_switch(struct intel_output *intel_output, | 472 | static void intel_sdvo_set_control_bus_switch(struct intel_encoder *intel_encoder, |
473 | u8 target) | 473 | u8 target) |
474 | { | 474 | { |
475 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 475 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
476 | u8 out_buf[2], cmd_buf[2], ret_value[2], ret; | 476 | u8 out_buf[2], cmd_buf[2], ret_value[2], ret; |
477 | struct i2c_msg msgs[] = { | 477 | struct i2c_msg msgs[] = { |
478 | { | 478 | { |
@@ -496,10 +496,10 @@ static void intel_sdvo_set_control_bus_switch(struct intel_output *intel_output, | |||
496 | }, | 496 | }, |
497 | }; | 497 | }; |
498 | 498 | ||
499 | intel_sdvo_debug_write(intel_output, SDVO_CMD_SET_CONTROL_BUS_SWITCH, | 499 | intel_sdvo_debug_write(intel_encoder, SDVO_CMD_SET_CONTROL_BUS_SWITCH, |
500 | &target, 1); | 500 | &target, 1); |
501 | /* write the DDC switch command argument */ | 501 | /* write the DDC switch command argument */ |
502 | intel_sdvo_write_byte(intel_output, SDVO_I2C_ARG_0, target); | 502 | intel_sdvo_write_byte(intel_encoder, SDVO_I2C_ARG_0, target); |
503 | 503 | ||
504 | out_buf[0] = SDVO_I2C_OPCODE; | 504 | out_buf[0] = SDVO_I2C_OPCODE; |
505 | out_buf[1] = SDVO_CMD_SET_CONTROL_BUS_SWITCH; | 505 | out_buf[1] = SDVO_CMD_SET_CONTROL_BUS_SWITCH; |
@@ -508,7 +508,7 @@ static void intel_sdvo_set_control_bus_switch(struct intel_output *intel_output, | |||
508 | ret_value[0] = 0; | 508 | ret_value[0] = 0; |
509 | ret_value[1] = 0; | 509 | ret_value[1] = 0; |
510 | 510 | ||
511 | ret = i2c_transfer(intel_output->i2c_bus, msgs, 3); | 511 | ret = i2c_transfer(intel_encoder->i2c_bus, msgs, 3); |
512 | if (ret != 3) { | 512 | if (ret != 3) { |
513 | /* failure in I2C transfer */ | 513 | /* failure in I2C transfer */ |
514 | DRM_DEBUG_KMS("I2c transfer returned %d\n", ret); | 514 | DRM_DEBUG_KMS("I2c transfer returned %d\n", ret); |
@@ -522,7 +522,7 @@ static void intel_sdvo_set_control_bus_switch(struct intel_output *intel_output, | |||
522 | return; | 522 | return; |
523 | } | 523 | } |
524 | 524 | ||
525 | static bool intel_sdvo_set_target_input(struct intel_output *intel_output, bool target_0, bool target_1) | 525 | static bool intel_sdvo_set_target_input(struct intel_encoder *intel_encoder, bool target_0, bool target_1) |
526 | { | 526 | { |
527 | struct intel_sdvo_set_target_input_args targets = {0}; | 527 | struct intel_sdvo_set_target_input_args targets = {0}; |
528 | u8 status; | 528 | u8 status; |
@@ -533,10 +533,10 @@ static bool intel_sdvo_set_target_input(struct intel_output *intel_output, bool | |||
533 | if (target_1) | 533 | if (target_1) |
534 | targets.target_1 = 1; | 534 | targets.target_1 = 1; |
535 | 535 | ||
536 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_TARGET_INPUT, &targets, | 536 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_SET_TARGET_INPUT, &targets, |
537 | sizeof(targets)); | 537 | sizeof(targets)); |
538 | 538 | ||
539 | status = intel_sdvo_read_response(intel_output, NULL, 0); | 539 | status = intel_sdvo_read_response(intel_encoder, NULL, 0); |
540 | 540 | ||
541 | return (status == SDVO_CMD_STATUS_SUCCESS); | 541 | return (status == SDVO_CMD_STATUS_SUCCESS); |
542 | } | 542 | } |
@@ -547,13 +547,13 @@ static bool intel_sdvo_set_target_input(struct intel_output *intel_output, bool | |||
547 | * This function is making an assumption about the layout of the response, | 547 | * This function is making an assumption about the layout of the response, |
548 | * which should be checked against the docs. | 548 | * which should be checked against the docs. |
549 | */ | 549 | */ |
550 | static bool intel_sdvo_get_trained_inputs(struct intel_output *intel_output, bool *input_1, bool *input_2) | 550 | static bool intel_sdvo_get_trained_inputs(struct intel_encoder *intel_encoder, bool *input_1, bool *input_2) |
551 | { | 551 | { |
552 | struct intel_sdvo_get_trained_inputs_response response; | 552 | struct intel_sdvo_get_trained_inputs_response response; |
553 | u8 status; | 553 | u8 status; |
554 | 554 | ||
555 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_TRAINED_INPUTS, NULL, 0); | 555 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_TRAINED_INPUTS, NULL, 0); |
556 | status = intel_sdvo_read_response(intel_output, &response, sizeof(response)); | 556 | status = intel_sdvo_read_response(intel_encoder, &response, sizeof(response)); |
557 | if (status != SDVO_CMD_STATUS_SUCCESS) | 557 | if (status != SDVO_CMD_STATUS_SUCCESS) |
558 | return false; | 558 | return false; |
559 | 559 | ||
@@ -562,29 +562,29 @@ static bool intel_sdvo_get_trained_inputs(struct intel_output *intel_output, boo | |||
562 | return true; | 562 | return true; |
563 | } | 563 | } |
564 | 564 | ||
565 | static bool intel_sdvo_get_active_outputs(struct intel_output *intel_output, | 565 | static bool intel_sdvo_get_active_outputs(struct intel_encoder *intel_encoder, |
566 | u16 *outputs) | 566 | u16 *outputs) |
567 | { | 567 | { |
568 | u8 status; | 568 | u8 status; |
569 | 569 | ||
570 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_ACTIVE_OUTPUTS, NULL, 0); | 570 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_ACTIVE_OUTPUTS, NULL, 0); |
571 | status = intel_sdvo_read_response(intel_output, outputs, sizeof(*outputs)); | 571 | status = intel_sdvo_read_response(intel_encoder, outputs, sizeof(*outputs)); |
572 | 572 | ||
573 | return (status == SDVO_CMD_STATUS_SUCCESS); | 573 | return (status == SDVO_CMD_STATUS_SUCCESS); |
574 | } | 574 | } |
575 | 575 | ||
576 | static bool intel_sdvo_set_active_outputs(struct intel_output *intel_output, | 576 | static bool intel_sdvo_set_active_outputs(struct intel_encoder *intel_encoder, |
577 | u16 outputs) | 577 | u16 outputs) |
578 | { | 578 | { |
579 | u8 status; | 579 | u8 status; |
580 | 580 | ||
581 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_ACTIVE_OUTPUTS, &outputs, | 581 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_SET_ACTIVE_OUTPUTS, &outputs, |
582 | sizeof(outputs)); | 582 | sizeof(outputs)); |
583 | status = intel_sdvo_read_response(intel_output, NULL, 0); | 583 | status = intel_sdvo_read_response(intel_encoder, NULL, 0); |
584 | return (status == SDVO_CMD_STATUS_SUCCESS); | 584 | return (status == SDVO_CMD_STATUS_SUCCESS); |
585 | } | 585 | } |
586 | 586 | ||
587 | static bool intel_sdvo_set_encoder_power_state(struct intel_output *intel_output, | 587 | static bool intel_sdvo_set_encoder_power_state(struct intel_encoder *intel_encoder, |
588 | int mode) | 588 | int mode) |
589 | { | 589 | { |
590 | u8 status, state = SDVO_ENCODER_STATE_ON; | 590 | u8 status, state = SDVO_ENCODER_STATE_ON; |
@@ -604,24 +604,24 @@ static bool intel_sdvo_set_encoder_power_state(struct intel_output *intel_output | |||
604 | break; | 604 | break; |
605 | } | 605 | } |
606 | 606 | ||
607 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_ENCODER_POWER_STATE, &state, | 607 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_SET_ENCODER_POWER_STATE, &state, |
608 | sizeof(state)); | 608 | sizeof(state)); |
609 | status = intel_sdvo_read_response(intel_output, NULL, 0); | 609 | status = intel_sdvo_read_response(intel_encoder, NULL, 0); |
610 | 610 | ||
611 | return (status == SDVO_CMD_STATUS_SUCCESS); | 611 | return (status == SDVO_CMD_STATUS_SUCCESS); |
612 | } | 612 | } |
613 | 613 | ||
614 | static bool intel_sdvo_get_input_pixel_clock_range(struct intel_output *intel_output, | 614 | static bool intel_sdvo_get_input_pixel_clock_range(struct intel_encoder *intel_encoder, |
615 | int *clock_min, | 615 | int *clock_min, |
616 | int *clock_max) | 616 | int *clock_max) |
617 | { | 617 | { |
618 | struct intel_sdvo_pixel_clock_range clocks; | 618 | struct intel_sdvo_pixel_clock_range clocks; |
619 | u8 status; | 619 | u8 status; |
620 | 620 | ||
621 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE, | 621 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE, |
622 | NULL, 0); | 622 | NULL, 0); |
623 | 623 | ||
624 | status = intel_sdvo_read_response(intel_output, &clocks, sizeof(clocks)); | 624 | status = intel_sdvo_read_response(intel_encoder, &clocks, sizeof(clocks)); |
625 | 625 | ||
626 | if (status != SDVO_CMD_STATUS_SUCCESS) | 626 | if (status != SDVO_CMD_STATUS_SUCCESS) |
627 | return false; | 627 | return false; |
@@ -633,31 +633,31 @@ static bool intel_sdvo_get_input_pixel_clock_range(struct intel_output *intel_ou | |||
633 | return true; | 633 | return true; |
634 | } | 634 | } |
635 | 635 | ||
636 | static bool intel_sdvo_set_target_output(struct intel_output *intel_output, | 636 | static bool intel_sdvo_set_target_output(struct intel_encoder *intel_encoder, |
637 | u16 outputs) | 637 | u16 outputs) |
638 | { | 638 | { |
639 | u8 status; | 639 | u8 status; |
640 | 640 | ||
641 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_TARGET_OUTPUT, &outputs, | 641 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_SET_TARGET_OUTPUT, &outputs, |
642 | sizeof(outputs)); | 642 | sizeof(outputs)); |
643 | 643 | ||
644 | status = intel_sdvo_read_response(intel_output, NULL, 0); | 644 | status = intel_sdvo_read_response(intel_encoder, NULL, 0); |
645 | return (status == SDVO_CMD_STATUS_SUCCESS); | 645 | return (status == SDVO_CMD_STATUS_SUCCESS); |
646 | } | 646 | } |
647 | 647 | ||
648 | static bool intel_sdvo_get_timing(struct intel_output *intel_output, u8 cmd, | 648 | static bool intel_sdvo_get_timing(struct intel_encoder *intel_encoder, u8 cmd, |
649 | struct intel_sdvo_dtd *dtd) | 649 | struct intel_sdvo_dtd *dtd) |
650 | { | 650 | { |
651 | u8 status; | 651 | u8 status; |
652 | 652 | ||
653 | intel_sdvo_write_cmd(intel_output, cmd, NULL, 0); | 653 | intel_sdvo_write_cmd(intel_encoder, cmd, NULL, 0); |
654 | status = intel_sdvo_read_response(intel_output, &dtd->part1, | 654 | status = intel_sdvo_read_response(intel_encoder, &dtd->part1, |
655 | sizeof(dtd->part1)); | 655 | sizeof(dtd->part1)); |
656 | if (status != SDVO_CMD_STATUS_SUCCESS) | 656 | if (status != SDVO_CMD_STATUS_SUCCESS) |
657 | return false; | 657 | return false; |
658 | 658 | ||
659 | intel_sdvo_write_cmd(intel_output, cmd + 1, NULL, 0); | 659 | intel_sdvo_write_cmd(intel_encoder, cmd + 1, NULL, 0); |
660 | status = intel_sdvo_read_response(intel_output, &dtd->part2, | 660 | status = intel_sdvo_read_response(intel_encoder, &dtd->part2, |
661 | sizeof(dtd->part2)); | 661 | sizeof(dtd->part2)); |
662 | if (status != SDVO_CMD_STATUS_SUCCESS) | 662 | if (status != SDVO_CMD_STATUS_SUCCESS) |
663 | return false; | 663 | return false; |
@@ -665,54 +665,54 @@ static bool intel_sdvo_get_timing(struct intel_output *intel_output, u8 cmd, | |||
665 | return true; | 665 | return true; |
666 | } | 666 | } |
667 | 667 | ||
668 | static bool intel_sdvo_get_input_timing(struct intel_output *intel_output, | 668 | static bool intel_sdvo_get_input_timing(struct intel_encoder *intel_encoder, |
669 | struct intel_sdvo_dtd *dtd) | 669 | struct intel_sdvo_dtd *dtd) |
670 | { | 670 | { |
671 | return intel_sdvo_get_timing(intel_output, | 671 | return intel_sdvo_get_timing(intel_encoder, |
672 | SDVO_CMD_GET_INPUT_TIMINGS_PART1, dtd); | 672 | SDVO_CMD_GET_INPUT_TIMINGS_PART1, dtd); |
673 | } | 673 | } |
674 | 674 | ||
675 | static bool intel_sdvo_get_output_timing(struct intel_output *intel_output, | 675 | static bool intel_sdvo_get_output_timing(struct intel_encoder *intel_encoder, |
676 | struct intel_sdvo_dtd *dtd) | 676 | struct intel_sdvo_dtd *dtd) |
677 | { | 677 | { |
678 | return intel_sdvo_get_timing(intel_output, | 678 | return intel_sdvo_get_timing(intel_encoder, |
679 | SDVO_CMD_GET_OUTPUT_TIMINGS_PART1, dtd); | 679 | SDVO_CMD_GET_OUTPUT_TIMINGS_PART1, dtd); |
680 | } | 680 | } |
681 | 681 | ||
682 | static bool intel_sdvo_set_timing(struct intel_output *intel_output, u8 cmd, | 682 | static bool intel_sdvo_set_timing(struct intel_encoder *intel_encoder, u8 cmd, |
683 | struct intel_sdvo_dtd *dtd) | 683 | struct intel_sdvo_dtd *dtd) |
684 | { | 684 | { |
685 | u8 status; | 685 | u8 status; |
686 | 686 | ||
687 | intel_sdvo_write_cmd(intel_output, cmd, &dtd->part1, sizeof(dtd->part1)); | 687 | intel_sdvo_write_cmd(intel_encoder, cmd, &dtd->part1, sizeof(dtd->part1)); |
688 | status = intel_sdvo_read_response(intel_output, NULL, 0); | 688 | status = intel_sdvo_read_response(intel_encoder, NULL, 0); |
689 | if (status != SDVO_CMD_STATUS_SUCCESS) | 689 | if (status != SDVO_CMD_STATUS_SUCCESS) |
690 | return false; | 690 | return false; |
691 | 691 | ||
692 | intel_sdvo_write_cmd(intel_output, cmd + 1, &dtd->part2, sizeof(dtd->part2)); | 692 | intel_sdvo_write_cmd(intel_encoder, cmd + 1, &dtd->part2, sizeof(dtd->part2)); |
693 | status = intel_sdvo_read_response(intel_output, NULL, 0); | 693 | status = intel_sdvo_read_response(intel_encoder, NULL, 0); |
694 | if (status != SDVO_CMD_STATUS_SUCCESS) | 694 | if (status != SDVO_CMD_STATUS_SUCCESS) |
695 | return false; | 695 | return false; |
696 | 696 | ||
697 | return true; | 697 | return true; |
698 | } | 698 | } |
699 | 699 | ||
700 | static bool intel_sdvo_set_input_timing(struct intel_output *intel_output, | 700 | static bool intel_sdvo_set_input_timing(struct intel_encoder *intel_encoder, |
701 | struct intel_sdvo_dtd *dtd) | 701 | struct intel_sdvo_dtd *dtd) |
702 | { | 702 | { |
703 | return intel_sdvo_set_timing(intel_output, | 703 | return intel_sdvo_set_timing(intel_encoder, |
704 | SDVO_CMD_SET_INPUT_TIMINGS_PART1, dtd); | 704 | SDVO_CMD_SET_INPUT_TIMINGS_PART1, dtd); |
705 | } | 705 | } |
706 | 706 | ||
707 | static bool intel_sdvo_set_output_timing(struct intel_output *intel_output, | 707 | static bool intel_sdvo_set_output_timing(struct intel_encoder *intel_encoder, |
708 | struct intel_sdvo_dtd *dtd) | 708 | struct intel_sdvo_dtd *dtd) |
709 | { | 709 | { |
710 | return intel_sdvo_set_timing(intel_output, | 710 | return intel_sdvo_set_timing(intel_encoder, |
711 | SDVO_CMD_SET_OUTPUT_TIMINGS_PART1, dtd); | 711 | SDVO_CMD_SET_OUTPUT_TIMINGS_PART1, dtd); |
712 | } | 712 | } |
713 | 713 | ||
714 | static bool | 714 | static bool |
715 | intel_sdvo_create_preferred_input_timing(struct intel_output *output, | 715 | intel_sdvo_create_preferred_input_timing(struct intel_encoder *output, |
716 | uint16_t clock, | 716 | uint16_t clock, |
717 | uint16_t width, | 717 | uint16_t width, |
718 | uint16_t height) | 718 | uint16_t height) |
@@ -741,7 +741,7 @@ intel_sdvo_create_preferred_input_timing(struct intel_output *output, | |||
741 | return true; | 741 | return true; |
742 | } | 742 | } |
743 | 743 | ||
744 | static bool intel_sdvo_get_preferred_input_timing(struct intel_output *output, | 744 | static bool intel_sdvo_get_preferred_input_timing(struct intel_encoder *output, |
745 | struct intel_sdvo_dtd *dtd) | 745 | struct intel_sdvo_dtd *dtd) |
746 | { | 746 | { |
747 | bool status; | 747 | bool status; |
@@ -765,12 +765,12 @@ static bool intel_sdvo_get_preferred_input_timing(struct intel_output *output, | |||
765 | return false; | 765 | return false; |
766 | } | 766 | } |
767 | 767 | ||
768 | static int intel_sdvo_get_clock_rate_mult(struct intel_output *intel_output) | 768 | static int intel_sdvo_get_clock_rate_mult(struct intel_encoder *intel_encoder) |
769 | { | 769 | { |
770 | u8 response, status; | 770 | u8 response, status; |
771 | 771 | ||
772 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_CLOCK_RATE_MULT, NULL, 0); | 772 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_CLOCK_RATE_MULT, NULL, 0); |
773 | status = intel_sdvo_read_response(intel_output, &response, 1); | 773 | status = intel_sdvo_read_response(intel_encoder, &response, 1); |
774 | 774 | ||
775 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 775 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
776 | DRM_DEBUG_KMS("Couldn't get SDVO clock rate multiplier\n"); | 776 | DRM_DEBUG_KMS("Couldn't get SDVO clock rate multiplier\n"); |
@@ -782,12 +782,12 @@ static int intel_sdvo_get_clock_rate_mult(struct intel_output *intel_output) | |||
782 | return response; | 782 | return response; |
783 | } | 783 | } |
784 | 784 | ||
785 | static bool intel_sdvo_set_clock_rate_mult(struct intel_output *intel_output, u8 val) | 785 | static bool intel_sdvo_set_clock_rate_mult(struct intel_encoder *intel_encoder, u8 val) |
786 | { | 786 | { |
787 | u8 status; | 787 | u8 status; |
788 | 788 | ||
789 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_CLOCK_RATE_MULT, &val, 1); | 789 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_SET_CLOCK_RATE_MULT, &val, 1); |
790 | status = intel_sdvo_read_response(intel_output, NULL, 0); | 790 | status = intel_sdvo_read_response(intel_encoder, NULL, 0); |
791 | if (status != SDVO_CMD_STATUS_SUCCESS) | 791 | if (status != SDVO_CMD_STATUS_SUCCESS) |
792 | return false; | 792 | return false; |
793 | 793 | ||
@@ -876,7 +876,7 @@ static void intel_sdvo_get_mode_from_dtd(struct drm_display_mode * mode, | |||
876 | mode->flags |= DRM_MODE_FLAG_PVSYNC; | 876 | mode->flags |= DRM_MODE_FLAG_PVSYNC; |
877 | } | 877 | } |
878 | 878 | ||
879 | static bool intel_sdvo_get_supp_encode(struct intel_output *output, | 879 | static bool intel_sdvo_get_supp_encode(struct intel_encoder *output, |
880 | struct intel_sdvo_encode *encode) | 880 | struct intel_sdvo_encode *encode) |
881 | { | 881 | { |
882 | uint8_t status; | 882 | uint8_t status; |
@@ -891,7 +891,7 @@ static bool intel_sdvo_get_supp_encode(struct intel_output *output, | |||
891 | return true; | 891 | return true; |
892 | } | 892 | } |
893 | 893 | ||
894 | static bool intel_sdvo_set_encode(struct intel_output *output, uint8_t mode) | 894 | static bool intel_sdvo_set_encode(struct intel_encoder *output, uint8_t mode) |
895 | { | 895 | { |
896 | uint8_t status; | 896 | uint8_t status; |
897 | 897 | ||
@@ -901,7 +901,7 @@ static bool intel_sdvo_set_encode(struct intel_output *output, uint8_t mode) | |||
901 | return (status == SDVO_CMD_STATUS_SUCCESS); | 901 | return (status == SDVO_CMD_STATUS_SUCCESS); |
902 | } | 902 | } |
903 | 903 | ||
904 | static bool intel_sdvo_set_colorimetry(struct intel_output *output, | 904 | static bool intel_sdvo_set_colorimetry(struct intel_encoder *output, |
905 | uint8_t mode) | 905 | uint8_t mode) |
906 | { | 906 | { |
907 | uint8_t status; | 907 | uint8_t status; |
@@ -913,7 +913,7 @@ static bool intel_sdvo_set_colorimetry(struct intel_output *output, | |||
913 | } | 913 | } |
914 | 914 | ||
915 | #if 0 | 915 | #if 0 |
916 | static void intel_sdvo_dump_hdmi_buf(struct intel_output *output) | 916 | static void intel_sdvo_dump_hdmi_buf(struct intel_encoder *output) |
917 | { | 917 | { |
918 | int i, j; | 918 | int i, j; |
919 | uint8_t set_buf_index[2]; | 919 | uint8_t set_buf_index[2]; |
@@ -943,7 +943,7 @@ static void intel_sdvo_dump_hdmi_buf(struct intel_output *output) | |||
943 | } | 943 | } |
944 | #endif | 944 | #endif |
945 | 945 | ||
946 | static void intel_sdvo_set_hdmi_buf(struct intel_output *output, int index, | 946 | static void intel_sdvo_set_hdmi_buf(struct intel_encoder *output, int index, |
947 | uint8_t *data, int8_t size, uint8_t tx_rate) | 947 | uint8_t *data, int8_t size, uint8_t tx_rate) |
948 | { | 948 | { |
949 | uint8_t set_buf_index[2]; | 949 | uint8_t set_buf_index[2]; |
@@ -1033,7 +1033,7 @@ struct dip_infoframe { | |||
1033 | } __attribute__ ((packed)) u; | 1033 | } __attribute__ ((packed)) u; |
1034 | } __attribute__((packed)); | 1034 | } __attribute__((packed)); |
1035 | 1035 | ||
1036 | static void intel_sdvo_set_avi_infoframe(struct intel_output *output, | 1036 | static void intel_sdvo_set_avi_infoframe(struct intel_encoder *output, |
1037 | struct drm_display_mode * mode) | 1037 | struct drm_display_mode * mode) |
1038 | { | 1038 | { |
1039 | struct dip_infoframe avi_if = { | 1039 | struct dip_infoframe avi_if = { |
@@ -1048,7 +1048,7 @@ static void intel_sdvo_set_avi_infoframe(struct intel_output *output, | |||
1048 | SDVO_HBUF_TX_VSYNC); | 1048 | SDVO_HBUF_TX_VSYNC); |
1049 | } | 1049 | } |
1050 | 1050 | ||
1051 | static void intel_sdvo_set_tv_format(struct intel_output *output) | 1051 | static void intel_sdvo_set_tv_format(struct intel_encoder *output) |
1052 | { | 1052 | { |
1053 | 1053 | ||
1054 | struct intel_sdvo_tv_format format; | 1054 | struct intel_sdvo_tv_format format; |
@@ -1078,7 +1078,7 @@ static bool intel_sdvo_mode_fixup(struct drm_encoder *encoder, | |||
1078 | struct drm_display_mode *mode, | 1078 | struct drm_display_mode *mode, |
1079 | struct drm_display_mode *adjusted_mode) | 1079 | struct drm_display_mode *adjusted_mode) |
1080 | { | 1080 | { |
1081 | struct intel_output *output = enc_to_intel_output(encoder); | 1081 | struct intel_encoder *output = enc_to_intel_encoder(encoder); |
1082 | struct intel_sdvo_priv *dev_priv = output->dev_priv; | 1082 | struct intel_sdvo_priv *dev_priv = output->dev_priv; |
1083 | 1083 | ||
1084 | if (dev_priv->is_tv) { | 1084 | if (dev_priv->is_tv) { |
@@ -1181,7 +1181,7 @@ static void intel_sdvo_mode_set(struct drm_encoder *encoder, | |||
1181 | struct drm_i915_private *dev_priv = dev->dev_private; | 1181 | struct drm_i915_private *dev_priv = dev->dev_private; |
1182 | struct drm_crtc *crtc = encoder->crtc; | 1182 | struct drm_crtc *crtc = encoder->crtc; |
1183 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | 1183 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); |
1184 | struct intel_output *output = enc_to_intel_output(encoder); | 1184 | struct intel_encoder *output = enc_to_intel_encoder(encoder); |
1185 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; | 1185 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; |
1186 | u32 sdvox = 0; | 1186 | u32 sdvox = 0; |
1187 | int sdvo_pixel_multiply; | 1187 | int sdvo_pixel_multiply; |
@@ -1305,19 +1305,19 @@ static void intel_sdvo_dpms(struct drm_encoder *encoder, int mode) | |||
1305 | { | 1305 | { |
1306 | struct drm_device *dev = encoder->dev; | 1306 | struct drm_device *dev = encoder->dev; |
1307 | struct drm_i915_private *dev_priv = dev->dev_private; | 1307 | struct drm_i915_private *dev_priv = dev->dev_private; |
1308 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 1308 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
1309 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1309 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1310 | u32 temp; | 1310 | u32 temp; |
1311 | 1311 | ||
1312 | if (mode != DRM_MODE_DPMS_ON) { | 1312 | if (mode != DRM_MODE_DPMS_ON) { |
1313 | intel_sdvo_set_active_outputs(intel_output, 0); | 1313 | intel_sdvo_set_active_outputs(intel_encoder, 0); |
1314 | if (0) | 1314 | if (0) |
1315 | intel_sdvo_set_encoder_power_state(intel_output, mode); | 1315 | intel_sdvo_set_encoder_power_state(intel_encoder, mode); |
1316 | 1316 | ||
1317 | if (mode == DRM_MODE_DPMS_OFF) { | 1317 | if (mode == DRM_MODE_DPMS_OFF) { |
1318 | temp = I915_READ(sdvo_priv->output_device); | 1318 | temp = I915_READ(sdvo_priv->output_device); |
1319 | if ((temp & SDVO_ENABLE) != 0) { | 1319 | if ((temp & SDVO_ENABLE) != 0) { |
1320 | intel_sdvo_write_sdvox(intel_output, temp & ~SDVO_ENABLE); | 1320 | intel_sdvo_write_sdvox(intel_encoder, temp & ~SDVO_ENABLE); |
1321 | } | 1321 | } |
1322 | } | 1322 | } |
1323 | } else { | 1323 | } else { |
@@ -1327,11 +1327,11 @@ static void intel_sdvo_dpms(struct drm_encoder *encoder, int mode) | |||
1327 | 1327 | ||
1328 | temp = I915_READ(sdvo_priv->output_device); | 1328 | temp = I915_READ(sdvo_priv->output_device); |
1329 | if ((temp & SDVO_ENABLE) == 0) | 1329 | if ((temp & SDVO_ENABLE) == 0) |
1330 | intel_sdvo_write_sdvox(intel_output, temp | SDVO_ENABLE); | 1330 | intel_sdvo_write_sdvox(intel_encoder, temp | SDVO_ENABLE); |
1331 | for (i = 0; i < 2; i++) | 1331 | for (i = 0; i < 2; i++) |
1332 | intel_wait_for_vblank(dev); | 1332 | intel_wait_for_vblank(dev); |
1333 | 1333 | ||
1334 | status = intel_sdvo_get_trained_inputs(intel_output, &input1, | 1334 | status = intel_sdvo_get_trained_inputs(intel_encoder, &input1, |
1335 | &input2); | 1335 | &input2); |
1336 | 1336 | ||
1337 | 1337 | ||
@@ -1345,8 +1345,8 @@ static void intel_sdvo_dpms(struct drm_encoder *encoder, int mode) | |||
1345 | } | 1345 | } |
1346 | 1346 | ||
1347 | if (0) | 1347 | if (0) |
1348 | intel_sdvo_set_encoder_power_state(intel_output, mode); | 1348 | intel_sdvo_set_encoder_power_state(intel_encoder, mode); |
1349 | intel_sdvo_set_active_outputs(intel_output, sdvo_priv->controlled_output); | 1349 | intel_sdvo_set_active_outputs(intel_encoder, sdvo_priv->controlled_output); |
1350 | } | 1350 | } |
1351 | return; | 1351 | return; |
1352 | } | 1352 | } |
@@ -1355,22 +1355,22 @@ static void intel_sdvo_save(struct drm_connector *connector) | |||
1355 | { | 1355 | { |
1356 | struct drm_device *dev = connector->dev; | 1356 | struct drm_device *dev = connector->dev; |
1357 | struct drm_i915_private *dev_priv = dev->dev_private; | 1357 | struct drm_i915_private *dev_priv = dev->dev_private; |
1358 | struct intel_output *intel_output = to_intel_output(connector); | 1358 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1359 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1359 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1360 | int o; | 1360 | int o; |
1361 | 1361 | ||
1362 | sdvo_priv->save_sdvo_mult = intel_sdvo_get_clock_rate_mult(intel_output); | 1362 | sdvo_priv->save_sdvo_mult = intel_sdvo_get_clock_rate_mult(intel_encoder); |
1363 | intel_sdvo_get_active_outputs(intel_output, &sdvo_priv->save_active_outputs); | 1363 | intel_sdvo_get_active_outputs(intel_encoder, &sdvo_priv->save_active_outputs); |
1364 | 1364 | ||
1365 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x1) { | 1365 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x1) { |
1366 | intel_sdvo_set_target_input(intel_output, true, false); | 1366 | intel_sdvo_set_target_input(intel_encoder, true, false); |
1367 | intel_sdvo_get_input_timing(intel_output, | 1367 | intel_sdvo_get_input_timing(intel_encoder, |
1368 | &sdvo_priv->save_input_dtd_1); | 1368 | &sdvo_priv->save_input_dtd_1); |
1369 | } | 1369 | } |
1370 | 1370 | ||
1371 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x2) { | 1371 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x2) { |
1372 | intel_sdvo_set_target_input(intel_output, false, true); | 1372 | intel_sdvo_set_target_input(intel_encoder, false, true); |
1373 | intel_sdvo_get_input_timing(intel_output, | 1373 | intel_sdvo_get_input_timing(intel_encoder, |
1374 | &sdvo_priv->save_input_dtd_2); | 1374 | &sdvo_priv->save_input_dtd_2); |
1375 | } | 1375 | } |
1376 | 1376 | ||
@@ -1379,8 +1379,8 @@ static void intel_sdvo_save(struct drm_connector *connector) | |||
1379 | u16 this_output = (1 << o); | 1379 | u16 this_output = (1 << o); |
1380 | if (sdvo_priv->caps.output_flags & this_output) | 1380 | if (sdvo_priv->caps.output_flags & this_output) |
1381 | { | 1381 | { |
1382 | intel_sdvo_set_target_output(intel_output, this_output); | 1382 | intel_sdvo_set_target_output(intel_encoder, this_output); |
1383 | intel_sdvo_get_output_timing(intel_output, | 1383 | intel_sdvo_get_output_timing(intel_encoder, |
1384 | &sdvo_priv->save_output_dtd[o]); | 1384 | &sdvo_priv->save_output_dtd[o]); |
1385 | } | 1385 | } |
1386 | } | 1386 | } |
@@ -1394,60 +1394,60 @@ static void intel_sdvo_save(struct drm_connector *connector) | |||
1394 | static void intel_sdvo_restore(struct drm_connector *connector) | 1394 | static void intel_sdvo_restore(struct drm_connector *connector) |
1395 | { | 1395 | { |
1396 | struct drm_device *dev = connector->dev; | 1396 | struct drm_device *dev = connector->dev; |
1397 | struct intel_output *intel_output = to_intel_output(connector); | 1397 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1398 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1398 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1399 | int o; | 1399 | int o; |
1400 | int i; | 1400 | int i; |
1401 | bool input1, input2; | 1401 | bool input1, input2; |
1402 | u8 status; | 1402 | u8 status; |
1403 | 1403 | ||
1404 | intel_sdvo_set_active_outputs(intel_output, 0); | 1404 | intel_sdvo_set_active_outputs(intel_encoder, 0); |
1405 | 1405 | ||
1406 | for (o = SDVO_OUTPUT_FIRST; o <= SDVO_OUTPUT_LAST; o++) | 1406 | for (o = SDVO_OUTPUT_FIRST; o <= SDVO_OUTPUT_LAST; o++) |
1407 | { | 1407 | { |
1408 | u16 this_output = (1 << o); | 1408 | u16 this_output = (1 << o); |
1409 | if (sdvo_priv->caps.output_flags & this_output) { | 1409 | if (sdvo_priv->caps.output_flags & this_output) { |
1410 | intel_sdvo_set_target_output(intel_output, this_output); | 1410 | intel_sdvo_set_target_output(intel_encoder, this_output); |
1411 | intel_sdvo_set_output_timing(intel_output, &sdvo_priv->save_output_dtd[o]); | 1411 | intel_sdvo_set_output_timing(intel_encoder, &sdvo_priv->save_output_dtd[o]); |
1412 | } | 1412 | } |
1413 | } | 1413 | } |
1414 | 1414 | ||
1415 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x1) { | 1415 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x1) { |
1416 | intel_sdvo_set_target_input(intel_output, true, false); | 1416 | intel_sdvo_set_target_input(intel_encoder, true, false); |
1417 | intel_sdvo_set_input_timing(intel_output, &sdvo_priv->save_input_dtd_1); | 1417 | intel_sdvo_set_input_timing(intel_encoder, &sdvo_priv->save_input_dtd_1); |
1418 | } | 1418 | } |
1419 | 1419 | ||
1420 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x2) { | 1420 | if (sdvo_priv->caps.sdvo_inputs_mask & 0x2) { |
1421 | intel_sdvo_set_target_input(intel_output, false, true); | 1421 | intel_sdvo_set_target_input(intel_encoder, false, true); |
1422 | intel_sdvo_set_input_timing(intel_output, &sdvo_priv->save_input_dtd_2); | 1422 | intel_sdvo_set_input_timing(intel_encoder, &sdvo_priv->save_input_dtd_2); |
1423 | } | 1423 | } |
1424 | 1424 | ||
1425 | intel_sdvo_set_clock_rate_mult(intel_output, sdvo_priv->save_sdvo_mult); | 1425 | intel_sdvo_set_clock_rate_mult(intel_encoder, sdvo_priv->save_sdvo_mult); |
1426 | 1426 | ||
1427 | if (sdvo_priv->is_tv) { | 1427 | if (sdvo_priv->is_tv) { |
1428 | /* XXX: Restore TV format/enhancements. */ | 1428 | /* XXX: Restore TV format/enhancements. */ |
1429 | } | 1429 | } |
1430 | 1430 | ||
1431 | intel_sdvo_write_sdvox(intel_output, sdvo_priv->save_SDVOX); | 1431 | intel_sdvo_write_sdvox(intel_encoder, sdvo_priv->save_SDVOX); |
1432 | 1432 | ||
1433 | if (sdvo_priv->save_SDVOX & SDVO_ENABLE) | 1433 | if (sdvo_priv->save_SDVOX & SDVO_ENABLE) |
1434 | { | 1434 | { |
1435 | for (i = 0; i < 2; i++) | 1435 | for (i = 0; i < 2; i++) |
1436 | intel_wait_for_vblank(dev); | 1436 | intel_wait_for_vblank(dev); |
1437 | status = intel_sdvo_get_trained_inputs(intel_output, &input1, &input2); | 1437 | status = intel_sdvo_get_trained_inputs(intel_encoder, &input1, &input2); |
1438 | if (status == SDVO_CMD_STATUS_SUCCESS && !input1) | 1438 | if (status == SDVO_CMD_STATUS_SUCCESS && !input1) |
1439 | DRM_DEBUG_KMS("First %s output reported failure to " | 1439 | DRM_DEBUG_KMS("First %s output reported failure to " |
1440 | "sync\n", SDVO_NAME(sdvo_priv)); | 1440 | "sync\n", SDVO_NAME(sdvo_priv)); |
1441 | } | 1441 | } |
1442 | 1442 | ||
1443 | intel_sdvo_set_active_outputs(intel_output, sdvo_priv->save_active_outputs); | 1443 | intel_sdvo_set_active_outputs(intel_encoder, sdvo_priv->save_active_outputs); |
1444 | } | 1444 | } |
1445 | 1445 | ||
1446 | static int intel_sdvo_mode_valid(struct drm_connector *connector, | 1446 | static int intel_sdvo_mode_valid(struct drm_connector *connector, |
1447 | struct drm_display_mode *mode) | 1447 | struct drm_display_mode *mode) |
1448 | { | 1448 | { |
1449 | struct intel_output *intel_output = to_intel_output(connector); | 1449 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1450 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1450 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1451 | 1451 | ||
1452 | if (mode->flags & DRM_MODE_FLAG_DBLSCAN) | 1452 | if (mode->flags & DRM_MODE_FLAG_DBLSCAN) |
1453 | return MODE_NO_DBLESCAN; | 1453 | return MODE_NO_DBLESCAN; |
@@ -1472,12 +1472,12 @@ static int intel_sdvo_mode_valid(struct drm_connector *connector, | |||
1472 | return MODE_OK; | 1472 | return MODE_OK; |
1473 | } | 1473 | } |
1474 | 1474 | ||
1475 | static bool intel_sdvo_get_capabilities(struct intel_output *intel_output, struct intel_sdvo_caps *caps) | 1475 | static bool intel_sdvo_get_capabilities(struct intel_encoder *intel_encoder, struct intel_sdvo_caps *caps) |
1476 | { | 1476 | { |
1477 | u8 status; | 1477 | u8 status; |
1478 | 1478 | ||
1479 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_DEVICE_CAPS, NULL, 0); | 1479 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_DEVICE_CAPS, NULL, 0); |
1480 | status = intel_sdvo_read_response(intel_output, caps, sizeof(*caps)); | 1480 | status = intel_sdvo_read_response(intel_encoder, caps, sizeof(*caps)); |
1481 | if (status != SDVO_CMD_STATUS_SUCCESS) | 1481 | if (status != SDVO_CMD_STATUS_SUCCESS) |
1482 | return false; | 1482 | return false; |
1483 | 1483 | ||
@@ -1487,12 +1487,12 @@ static bool intel_sdvo_get_capabilities(struct intel_output *intel_output, struc | |||
1487 | struct drm_connector* intel_sdvo_find(struct drm_device *dev, int sdvoB) | 1487 | struct drm_connector* intel_sdvo_find(struct drm_device *dev, int sdvoB) |
1488 | { | 1488 | { |
1489 | struct drm_connector *connector = NULL; | 1489 | struct drm_connector *connector = NULL; |
1490 | struct intel_output *iout = NULL; | 1490 | struct intel_encoder *iout = NULL; |
1491 | struct intel_sdvo_priv *sdvo; | 1491 | struct intel_sdvo_priv *sdvo; |
1492 | 1492 | ||
1493 | /* find the sdvo connector */ | 1493 | /* find the sdvo connector */ |
1494 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 1494 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
1495 | iout = to_intel_output(connector); | 1495 | iout = to_intel_encoder(connector); |
1496 | 1496 | ||
1497 | if (iout->type != INTEL_OUTPUT_SDVO) | 1497 | if (iout->type != INTEL_OUTPUT_SDVO) |
1498 | continue; | 1498 | continue; |
@@ -1514,16 +1514,16 @@ int intel_sdvo_supports_hotplug(struct drm_connector *connector) | |||
1514 | { | 1514 | { |
1515 | u8 response[2]; | 1515 | u8 response[2]; |
1516 | u8 status; | 1516 | u8 status; |
1517 | struct intel_output *intel_output; | 1517 | struct intel_encoder *intel_encoder; |
1518 | DRM_DEBUG_KMS("\n"); | 1518 | DRM_DEBUG_KMS("\n"); |
1519 | 1519 | ||
1520 | if (!connector) | 1520 | if (!connector) |
1521 | return 0; | 1521 | return 0; |
1522 | 1522 | ||
1523 | intel_output = to_intel_output(connector); | 1523 | intel_encoder = to_intel_encoder(connector); |
1524 | 1524 | ||
1525 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_HOT_PLUG_SUPPORT, NULL, 0); | 1525 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_HOT_PLUG_SUPPORT, NULL, 0); |
1526 | status = intel_sdvo_read_response(intel_output, &response, 2); | 1526 | status = intel_sdvo_read_response(intel_encoder, &response, 2); |
1527 | 1527 | ||
1528 | if (response[0] !=0) | 1528 | if (response[0] !=0) |
1529 | return 1; | 1529 | return 1; |
@@ -1535,30 +1535,30 @@ void intel_sdvo_set_hotplug(struct drm_connector *connector, int on) | |||
1535 | { | 1535 | { |
1536 | u8 response[2]; | 1536 | u8 response[2]; |
1537 | u8 status; | 1537 | u8 status; |
1538 | struct intel_output *intel_output = to_intel_output(connector); | 1538 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1539 | 1539 | ||
1540 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_ACTIVE_HOT_PLUG, NULL, 0); | 1540 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_ACTIVE_HOT_PLUG, NULL, 0); |
1541 | intel_sdvo_read_response(intel_output, &response, 2); | 1541 | intel_sdvo_read_response(intel_encoder, &response, 2); |
1542 | 1542 | ||
1543 | if (on) { | 1543 | if (on) { |
1544 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_HOT_PLUG_SUPPORT, NULL, 0); | 1544 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_HOT_PLUG_SUPPORT, NULL, 0); |
1545 | status = intel_sdvo_read_response(intel_output, &response, 2); | 1545 | status = intel_sdvo_read_response(intel_encoder, &response, 2); |
1546 | 1546 | ||
1547 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_ACTIVE_HOT_PLUG, &response, 2); | 1547 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_SET_ACTIVE_HOT_PLUG, &response, 2); |
1548 | } else { | 1548 | } else { |
1549 | response[0] = 0; | 1549 | response[0] = 0; |
1550 | response[1] = 0; | 1550 | response[1] = 0; |
1551 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_ACTIVE_HOT_PLUG, &response, 2); | 1551 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_SET_ACTIVE_HOT_PLUG, &response, 2); |
1552 | } | 1552 | } |
1553 | 1553 | ||
1554 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_ACTIVE_HOT_PLUG, NULL, 0); | 1554 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_ACTIVE_HOT_PLUG, NULL, 0); |
1555 | intel_sdvo_read_response(intel_output, &response, 2); | 1555 | intel_sdvo_read_response(intel_encoder, &response, 2); |
1556 | } | 1556 | } |
1557 | 1557 | ||
1558 | static bool | 1558 | static bool |
1559 | intel_sdvo_multifunc_encoder(struct intel_output *intel_output) | 1559 | intel_sdvo_multifunc_encoder(struct intel_encoder *intel_encoder) |
1560 | { | 1560 | { |
1561 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1561 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1562 | int caps = 0; | 1562 | int caps = 0; |
1563 | 1563 | ||
1564 | if (sdvo_priv->caps.output_flags & | 1564 | if (sdvo_priv->caps.output_flags & |
@@ -1592,11 +1592,11 @@ static struct drm_connector * | |||
1592 | intel_find_analog_connector(struct drm_device *dev) | 1592 | intel_find_analog_connector(struct drm_device *dev) |
1593 | { | 1593 | { |
1594 | struct drm_connector *connector; | 1594 | struct drm_connector *connector; |
1595 | struct intel_output *intel_output; | 1595 | struct intel_encoder *intel_encoder; |
1596 | 1596 | ||
1597 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 1597 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
1598 | intel_output = to_intel_output(connector); | 1598 | intel_encoder = to_intel_encoder(connector); |
1599 | if (intel_output->type == INTEL_OUTPUT_ANALOG) | 1599 | if (intel_encoder->type == INTEL_OUTPUT_ANALOG) |
1600 | return connector; | 1600 | return connector; |
1601 | } | 1601 | } |
1602 | return NULL; | 1602 | return NULL; |
@@ -1621,16 +1621,16 @@ intel_analog_is_connected(struct drm_device *dev) | |||
1621 | enum drm_connector_status | 1621 | enum drm_connector_status |
1622 | intel_sdvo_hdmi_sink_detect(struct drm_connector *connector, u16 response) | 1622 | intel_sdvo_hdmi_sink_detect(struct drm_connector *connector, u16 response) |
1623 | { | 1623 | { |
1624 | struct intel_output *intel_output = to_intel_output(connector); | 1624 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1625 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1625 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1626 | enum drm_connector_status status = connector_status_connected; | 1626 | enum drm_connector_status status = connector_status_connected; |
1627 | struct edid *edid = NULL; | 1627 | struct edid *edid = NULL; |
1628 | 1628 | ||
1629 | edid = drm_get_edid(&intel_output->base, | 1629 | edid = drm_get_edid(&intel_encoder->base, |
1630 | intel_output->ddc_bus); | 1630 | intel_encoder->ddc_bus); |
1631 | 1631 | ||
1632 | /* This is only applied to SDVO cards with multiple outputs */ | 1632 | /* This is only applied to SDVO cards with multiple outputs */ |
1633 | if (edid == NULL && intel_sdvo_multifunc_encoder(intel_output)) { | 1633 | if (edid == NULL && intel_sdvo_multifunc_encoder(intel_encoder)) { |
1634 | uint8_t saved_ddc, temp_ddc; | 1634 | uint8_t saved_ddc, temp_ddc; |
1635 | saved_ddc = sdvo_priv->ddc_bus; | 1635 | saved_ddc = sdvo_priv->ddc_bus; |
1636 | temp_ddc = sdvo_priv->ddc_bus >> 1; | 1636 | temp_ddc = sdvo_priv->ddc_bus >> 1; |
@@ -1640,8 +1640,8 @@ intel_sdvo_hdmi_sink_detect(struct drm_connector *connector, u16 response) | |||
1640 | */ | 1640 | */ |
1641 | while(temp_ddc > 1) { | 1641 | while(temp_ddc > 1) { |
1642 | sdvo_priv->ddc_bus = temp_ddc; | 1642 | sdvo_priv->ddc_bus = temp_ddc; |
1643 | edid = drm_get_edid(&intel_output->base, | 1643 | edid = drm_get_edid(&intel_encoder->base, |
1644 | intel_output->ddc_bus); | 1644 | intel_encoder->ddc_bus); |
1645 | if (edid) { | 1645 | if (edid) { |
1646 | /* | 1646 | /* |
1647 | * When we can get the EDID, maybe it is the | 1647 | * When we can get the EDID, maybe it is the |
@@ -1660,8 +1660,8 @@ intel_sdvo_hdmi_sink_detect(struct drm_connector *connector, u16 response) | |||
1660 | */ | 1660 | */ |
1661 | if (edid == NULL && | 1661 | if (edid == NULL && |
1662 | sdvo_priv->analog_ddc_bus && | 1662 | sdvo_priv->analog_ddc_bus && |
1663 | !intel_analog_is_connected(intel_output->base.dev)) | 1663 | !intel_analog_is_connected(intel_encoder->base.dev)) |
1664 | edid = drm_get_edid(&intel_output->base, | 1664 | edid = drm_get_edid(&intel_encoder->base, |
1665 | sdvo_priv->analog_ddc_bus); | 1665 | sdvo_priv->analog_ddc_bus); |
1666 | if (edid != NULL) { | 1666 | if (edid != NULL) { |
1667 | /* Don't report the output as connected if it's a DVI-I | 1667 | /* Don't report the output as connected if it's a DVI-I |
@@ -1676,7 +1676,7 @@ intel_sdvo_hdmi_sink_detect(struct drm_connector *connector, u16 response) | |||
1676 | } | 1676 | } |
1677 | 1677 | ||
1678 | kfree(edid); | 1678 | kfree(edid); |
1679 | intel_output->base.display_info.raw_edid = NULL; | 1679 | intel_encoder->base.display_info.raw_edid = NULL; |
1680 | 1680 | ||
1681 | } else if (response & (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1)) | 1681 | } else if (response & (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1)) |
1682 | status = connector_status_disconnected; | 1682 | status = connector_status_disconnected; |
@@ -1688,16 +1688,16 @@ static enum drm_connector_status intel_sdvo_detect(struct drm_connector *connect | |||
1688 | { | 1688 | { |
1689 | uint16_t response; | 1689 | uint16_t response; |
1690 | u8 status; | 1690 | u8 status; |
1691 | struct intel_output *intel_output = to_intel_output(connector); | 1691 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1692 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1692 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1693 | 1693 | ||
1694 | intel_sdvo_write_cmd(intel_output, | 1694 | intel_sdvo_write_cmd(intel_encoder, |
1695 | SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0); | 1695 | SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0); |
1696 | if (sdvo_priv->is_tv) { | 1696 | if (sdvo_priv->is_tv) { |
1697 | /* add 30ms delay when the output type is SDVO-TV */ | 1697 | /* add 30ms delay when the output type is SDVO-TV */ |
1698 | mdelay(30); | 1698 | mdelay(30); |
1699 | } | 1699 | } |
1700 | status = intel_sdvo_read_response(intel_output, &response, 2); | 1700 | status = intel_sdvo_read_response(intel_encoder, &response, 2); |
1701 | 1701 | ||
1702 | DRM_DEBUG_KMS("SDVO response %d %d\n", response & 0xff, response >> 8); | 1702 | DRM_DEBUG_KMS("SDVO response %d %d\n", response & 0xff, response >> 8); |
1703 | 1703 | ||
@@ -1707,10 +1707,10 @@ static enum drm_connector_status intel_sdvo_detect(struct drm_connector *connect | |||
1707 | if (response == 0) | 1707 | if (response == 0) |
1708 | return connector_status_disconnected; | 1708 | return connector_status_disconnected; |
1709 | 1709 | ||
1710 | if (intel_sdvo_multifunc_encoder(intel_output) && | 1710 | if (intel_sdvo_multifunc_encoder(intel_encoder) && |
1711 | sdvo_priv->attached_output != response) { | 1711 | sdvo_priv->attached_output != response) { |
1712 | if (sdvo_priv->controlled_output != response && | 1712 | if (sdvo_priv->controlled_output != response && |
1713 | intel_sdvo_output_setup(intel_output, response) != true) | 1713 | intel_sdvo_output_setup(intel_encoder, response) != true) |
1714 | return connector_status_unknown; | 1714 | return connector_status_unknown; |
1715 | sdvo_priv->attached_output = response; | 1715 | sdvo_priv->attached_output = response; |
1716 | } | 1716 | } |
@@ -1719,12 +1719,12 @@ static enum drm_connector_status intel_sdvo_detect(struct drm_connector *connect | |||
1719 | 1719 | ||
1720 | static void intel_sdvo_get_ddc_modes(struct drm_connector *connector) | 1720 | static void intel_sdvo_get_ddc_modes(struct drm_connector *connector) |
1721 | { | 1721 | { |
1722 | struct intel_output *intel_output = to_intel_output(connector); | 1722 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1723 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1723 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1724 | int num_modes; | 1724 | int num_modes; |
1725 | 1725 | ||
1726 | /* set the bus switch and get the modes */ | 1726 | /* set the bus switch and get the modes */ |
1727 | num_modes = intel_ddc_get_modes(intel_output); | 1727 | num_modes = intel_ddc_get_modes(intel_encoder); |
1728 | 1728 | ||
1729 | /* | 1729 | /* |
1730 | * Mac mini hack. On this device, the DVI-I connector shares one DDC | 1730 | * Mac mini hack. On this device, the DVI-I connector shares one DDC |
@@ -1734,17 +1734,17 @@ static void intel_sdvo_get_ddc_modes(struct drm_connector *connector) | |||
1734 | */ | 1734 | */ |
1735 | if (num_modes == 0 && | 1735 | if (num_modes == 0 && |
1736 | sdvo_priv->analog_ddc_bus && | 1736 | sdvo_priv->analog_ddc_bus && |
1737 | !intel_analog_is_connected(intel_output->base.dev)) { | 1737 | !intel_analog_is_connected(intel_encoder->base.dev)) { |
1738 | struct i2c_adapter *digital_ddc_bus; | 1738 | struct i2c_adapter *digital_ddc_bus; |
1739 | 1739 | ||
1740 | /* Switch to the analog ddc bus and try that | 1740 | /* Switch to the analog ddc bus and try that |
1741 | */ | 1741 | */ |
1742 | digital_ddc_bus = intel_output->ddc_bus; | 1742 | digital_ddc_bus = intel_encoder->ddc_bus; |
1743 | intel_output->ddc_bus = sdvo_priv->analog_ddc_bus; | 1743 | intel_encoder->ddc_bus = sdvo_priv->analog_ddc_bus; |
1744 | 1744 | ||
1745 | (void) intel_ddc_get_modes(intel_output); | 1745 | (void) intel_ddc_get_modes(intel_encoder); |
1746 | 1746 | ||
1747 | intel_output->ddc_bus = digital_ddc_bus; | 1747 | intel_encoder->ddc_bus = digital_ddc_bus; |
1748 | } | 1748 | } |
1749 | } | 1749 | } |
1750 | 1750 | ||
@@ -1815,7 +1815,7 @@ struct drm_display_mode sdvo_tv_modes[] = { | |||
1815 | 1815 | ||
1816 | static void intel_sdvo_get_tv_modes(struct drm_connector *connector) | 1816 | static void intel_sdvo_get_tv_modes(struct drm_connector *connector) |
1817 | { | 1817 | { |
1818 | struct intel_output *output = to_intel_output(connector); | 1818 | struct intel_encoder *output = to_intel_encoder(connector); |
1819 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; | 1819 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; |
1820 | struct intel_sdvo_sdtv_resolution_request tv_res; | 1820 | struct intel_sdvo_sdtv_resolution_request tv_res; |
1821 | uint32_t reply = 0, format_map = 0; | 1821 | uint32_t reply = 0, format_map = 0; |
@@ -1857,9 +1857,9 @@ static void intel_sdvo_get_tv_modes(struct drm_connector *connector) | |||
1857 | 1857 | ||
1858 | static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) | 1858 | static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) |
1859 | { | 1859 | { |
1860 | struct intel_output *intel_output = to_intel_output(connector); | 1860 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1861 | struct drm_i915_private *dev_priv = connector->dev->dev_private; | 1861 | struct drm_i915_private *dev_priv = connector->dev->dev_private; |
1862 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1862 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1863 | struct drm_display_mode *newmode; | 1863 | struct drm_display_mode *newmode; |
1864 | 1864 | ||
1865 | /* | 1865 | /* |
@@ -1867,7 +1867,7 @@ static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) | |||
1867 | * Assume that the preferred modes are | 1867 | * Assume that the preferred modes are |
1868 | * arranged in priority order. | 1868 | * arranged in priority order. |
1869 | */ | 1869 | */ |
1870 | intel_ddc_get_modes(intel_output); | 1870 | intel_ddc_get_modes(intel_encoder); |
1871 | if (list_empty(&connector->probed_modes) == false) | 1871 | if (list_empty(&connector->probed_modes) == false) |
1872 | goto end; | 1872 | goto end; |
1873 | 1873 | ||
@@ -1896,7 +1896,7 @@ end: | |||
1896 | 1896 | ||
1897 | static int intel_sdvo_get_modes(struct drm_connector *connector) | 1897 | static int intel_sdvo_get_modes(struct drm_connector *connector) |
1898 | { | 1898 | { |
1899 | struct intel_output *output = to_intel_output(connector); | 1899 | struct intel_encoder *output = to_intel_encoder(connector); |
1900 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; | 1900 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; |
1901 | 1901 | ||
1902 | if (sdvo_priv->is_tv) | 1902 | if (sdvo_priv->is_tv) |
@@ -1914,8 +1914,8 @@ static int intel_sdvo_get_modes(struct drm_connector *connector) | |||
1914 | static | 1914 | static |
1915 | void intel_sdvo_destroy_enhance_property(struct drm_connector *connector) | 1915 | void intel_sdvo_destroy_enhance_property(struct drm_connector *connector) |
1916 | { | 1916 | { |
1917 | struct intel_output *intel_output = to_intel_output(connector); | 1917 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1918 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1918 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1919 | struct drm_device *dev = connector->dev; | 1919 | struct drm_device *dev = connector->dev; |
1920 | 1920 | ||
1921 | if (sdvo_priv->is_tv) { | 1921 | if (sdvo_priv->is_tv) { |
@@ -1952,13 +1952,13 @@ void intel_sdvo_destroy_enhance_property(struct drm_connector *connector) | |||
1952 | 1952 | ||
1953 | static void intel_sdvo_destroy(struct drm_connector *connector) | 1953 | static void intel_sdvo_destroy(struct drm_connector *connector) |
1954 | { | 1954 | { |
1955 | struct intel_output *intel_output = to_intel_output(connector); | 1955 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1956 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1956 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1957 | 1957 | ||
1958 | if (intel_output->i2c_bus) | 1958 | if (intel_encoder->i2c_bus) |
1959 | intel_i2c_destroy(intel_output->i2c_bus); | 1959 | intel_i2c_destroy(intel_encoder->i2c_bus); |
1960 | if (intel_output->ddc_bus) | 1960 | if (intel_encoder->ddc_bus) |
1961 | intel_i2c_destroy(intel_output->ddc_bus); | 1961 | intel_i2c_destroy(intel_encoder->ddc_bus); |
1962 | if (sdvo_priv->analog_ddc_bus) | 1962 | if (sdvo_priv->analog_ddc_bus) |
1963 | intel_i2c_destroy(sdvo_priv->analog_ddc_bus); | 1963 | intel_i2c_destroy(sdvo_priv->analog_ddc_bus); |
1964 | 1964 | ||
@@ -1976,7 +1976,7 @@ static void intel_sdvo_destroy(struct drm_connector *connector) | |||
1976 | drm_sysfs_connector_remove(connector); | 1976 | drm_sysfs_connector_remove(connector); |
1977 | drm_connector_cleanup(connector); | 1977 | drm_connector_cleanup(connector); |
1978 | 1978 | ||
1979 | kfree(intel_output); | 1979 | kfree(intel_encoder); |
1980 | } | 1980 | } |
1981 | 1981 | ||
1982 | static int | 1982 | static int |
@@ -1984,9 +1984,9 @@ intel_sdvo_set_property(struct drm_connector *connector, | |||
1984 | struct drm_property *property, | 1984 | struct drm_property *property, |
1985 | uint64_t val) | 1985 | uint64_t val) |
1986 | { | 1986 | { |
1987 | struct intel_output *intel_output = to_intel_output(connector); | 1987 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1988 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 1988 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
1989 | struct drm_encoder *encoder = &intel_output->enc; | 1989 | struct drm_encoder *encoder = &intel_encoder->enc; |
1990 | struct drm_crtc *crtc = encoder->crtc; | 1990 | struct drm_crtc *crtc = encoder->crtc; |
1991 | int ret = 0; | 1991 | int ret = 0; |
1992 | bool changed = false; | 1992 | bool changed = false; |
@@ -2094,8 +2094,8 @@ intel_sdvo_set_property(struct drm_connector *connector, | |||
2094 | sdvo_priv->cur_brightness = temp_value; | 2094 | sdvo_priv->cur_brightness = temp_value; |
2095 | } | 2095 | } |
2096 | if (cmd) { | 2096 | if (cmd) { |
2097 | intel_sdvo_write_cmd(intel_output, cmd, &temp_value, 2); | 2097 | intel_sdvo_write_cmd(intel_encoder, cmd, &temp_value, 2); |
2098 | status = intel_sdvo_read_response(intel_output, | 2098 | status = intel_sdvo_read_response(intel_encoder, |
2099 | NULL, 0); | 2099 | NULL, 0); |
2100 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2100 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2101 | DRM_DEBUG_KMS("Incorrect SDVO command \n"); | 2101 | DRM_DEBUG_KMS("Incorrect SDVO command \n"); |
@@ -2190,7 +2190,7 @@ intel_sdvo_select_ddc_bus(struct intel_sdvo_priv *dev_priv) | |||
2190 | } | 2190 | } |
2191 | 2191 | ||
2192 | static bool | 2192 | static bool |
2193 | intel_sdvo_get_digital_encoding_mode(struct intel_output *output) | 2193 | intel_sdvo_get_digital_encoding_mode(struct intel_encoder *output) |
2194 | { | 2194 | { |
2195 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; | 2195 | struct intel_sdvo_priv *sdvo_priv = output->dev_priv; |
2196 | uint8_t status; | 2196 | uint8_t status; |
@@ -2204,42 +2204,42 @@ intel_sdvo_get_digital_encoding_mode(struct intel_output *output) | |||
2204 | return true; | 2204 | return true; |
2205 | } | 2205 | } |
2206 | 2206 | ||
2207 | static struct intel_output * | 2207 | static struct intel_encoder * |
2208 | intel_sdvo_chan_to_intel_output(struct intel_i2c_chan *chan) | 2208 | intel_sdvo_chan_to_intel_encoder(struct intel_i2c_chan *chan) |
2209 | { | 2209 | { |
2210 | struct drm_device *dev = chan->drm_dev; | 2210 | struct drm_device *dev = chan->drm_dev; |
2211 | struct drm_connector *connector; | 2211 | struct drm_connector *connector; |
2212 | struct intel_output *intel_output = NULL; | 2212 | struct intel_encoder *intel_encoder = NULL; |
2213 | 2213 | ||
2214 | list_for_each_entry(connector, | 2214 | list_for_each_entry(connector, |
2215 | &dev->mode_config.connector_list, head) { | 2215 | &dev->mode_config.connector_list, head) { |
2216 | if (to_intel_output(connector)->ddc_bus == &chan->adapter) { | 2216 | if (to_intel_encoder(connector)->ddc_bus == &chan->adapter) { |
2217 | intel_output = to_intel_output(connector); | 2217 | intel_encoder = to_intel_encoder(connector); |
2218 | break; | 2218 | break; |
2219 | } | 2219 | } |
2220 | } | 2220 | } |
2221 | return intel_output; | 2221 | return intel_encoder; |
2222 | } | 2222 | } |
2223 | 2223 | ||
2224 | static int intel_sdvo_master_xfer(struct i2c_adapter *i2c_adap, | 2224 | static int intel_sdvo_master_xfer(struct i2c_adapter *i2c_adap, |
2225 | struct i2c_msg msgs[], int num) | 2225 | struct i2c_msg msgs[], int num) |
2226 | { | 2226 | { |
2227 | struct intel_output *intel_output; | 2227 | struct intel_encoder *intel_encoder; |
2228 | struct intel_sdvo_priv *sdvo_priv; | 2228 | struct intel_sdvo_priv *sdvo_priv; |
2229 | struct i2c_algo_bit_data *algo_data; | 2229 | struct i2c_algo_bit_data *algo_data; |
2230 | const struct i2c_algorithm *algo; | 2230 | const struct i2c_algorithm *algo; |
2231 | 2231 | ||
2232 | algo_data = (struct i2c_algo_bit_data *)i2c_adap->algo_data; | 2232 | algo_data = (struct i2c_algo_bit_data *)i2c_adap->algo_data; |
2233 | intel_output = | 2233 | intel_encoder = |
2234 | intel_sdvo_chan_to_intel_output( | 2234 | intel_sdvo_chan_to_intel_encoder( |
2235 | (struct intel_i2c_chan *)(algo_data->data)); | 2235 | (struct intel_i2c_chan *)(algo_data->data)); |
2236 | if (intel_output == NULL) | 2236 | if (intel_encoder == NULL) |
2237 | return -EINVAL; | 2237 | return -EINVAL; |
2238 | 2238 | ||
2239 | sdvo_priv = intel_output->dev_priv; | 2239 | sdvo_priv = intel_encoder->dev_priv; |
2240 | algo = intel_output->i2c_bus->algo; | 2240 | algo = intel_encoder->i2c_bus->algo; |
2241 | 2241 | ||
2242 | intel_sdvo_set_control_bus_switch(intel_output, sdvo_priv->ddc_bus); | 2242 | intel_sdvo_set_control_bus_switch(intel_encoder, sdvo_priv->ddc_bus); |
2243 | return algo->master_xfer(i2c_adap, msgs, num); | 2243 | return algo->master_xfer(i2c_adap, msgs, num); |
2244 | } | 2244 | } |
2245 | 2245 | ||
@@ -2304,15 +2304,15 @@ static struct dmi_system_id intel_sdvo_bad_tv[] = { | |||
2304 | }; | 2304 | }; |
2305 | 2305 | ||
2306 | static bool | 2306 | static bool |
2307 | intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) | 2307 | intel_sdvo_output_setup(struct intel_encoder *intel_encoder, uint16_t flags) |
2308 | { | 2308 | { |
2309 | struct drm_connector *connector = &intel_output->base; | 2309 | struct drm_connector *connector = &intel_encoder->base; |
2310 | struct drm_encoder *encoder = &intel_output->enc; | 2310 | struct drm_encoder *encoder = &intel_encoder->enc; |
2311 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 2311 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
2312 | bool ret = true, registered = false; | 2312 | bool ret = true, registered = false; |
2313 | 2313 | ||
2314 | sdvo_priv->is_tv = false; | 2314 | sdvo_priv->is_tv = false; |
2315 | intel_output->needs_tv_clock = false; | 2315 | intel_encoder->needs_tv_clock = false; |
2316 | sdvo_priv->is_lvds = false; | 2316 | sdvo_priv->is_lvds = false; |
2317 | 2317 | ||
2318 | if (device_is_registered(&connector->kdev)) { | 2318 | if (device_is_registered(&connector->kdev)) { |
@@ -2330,16 +2330,16 @@ intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) | |||
2330 | encoder->encoder_type = DRM_MODE_ENCODER_TMDS; | 2330 | encoder->encoder_type = DRM_MODE_ENCODER_TMDS; |
2331 | connector->connector_type = DRM_MODE_CONNECTOR_DVID; | 2331 | connector->connector_type = DRM_MODE_CONNECTOR_DVID; |
2332 | 2332 | ||
2333 | if (intel_sdvo_get_supp_encode(intel_output, | 2333 | if (intel_sdvo_get_supp_encode(intel_encoder, |
2334 | &sdvo_priv->encode) && | 2334 | &sdvo_priv->encode) && |
2335 | intel_sdvo_get_digital_encoding_mode(intel_output) && | 2335 | intel_sdvo_get_digital_encoding_mode(intel_encoder) && |
2336 | sdvo_priv->is_hdmi) { | 2336 | sdvo_priv->is_hdmi) { |
2337 | /* enable hdmi encoding mode if supported */ | 2337 | /* enable hdmi encoding mode if supported */ |
2338 | intel_sdvo_set_encode(intel_output, SDVO_ENCODE_HDMI); | 2338 | intel_sdvo_set_encode(intel_encoder, SDVO_ENCODE_HDMI); |
2339 | intel_sdvo_set_colorimetry(intel_output, | 2339 | intel_sdvo_set_colorimetry(intel_encoder, |
2340 | SDVO_COLORIMETRY_RGB256); | 2340 | SDVO_COLORIMETRY_RGB256); |
2341 | connector->connector_type = DRM_MODE_CONNECTOR_HDMIA; | 2341 | connector->connector_type = DRM_MODE_CONNECTOR_HDMIA; |
2342 | intel_output->clone_mask = | 2342 | intel_encoder->clone_mask = |
2343 | (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | | 2343 | (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | |
2344 | (1 << INTEL_ANALOG_CLONE_BIT); | 2344 | (1 << INTEL_ANALOG_CLONE_BIT); |
2345 | } | 2345 | } |
@@ -2350,21 +2350,21 @@ intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) | |||
2350 | encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; | 2350 | encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; |
2351 | connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; | 2351 | connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; |
2352 | sdvo_priv->is_tv = true; | 2352 | sdvo_priv->is_tv = true; |
2353 | intel_output->needs_tv_clock = true; | 2353 | intel_encoder->needs_tv_clock = true; |
2354 | intel_output->clone_mask = 1 << INTEL_SDVO_TV_CLONE_BIT; | 2354 | intel_encoder->clone_mask = 1 << INTEL_SDVO_TV_CLONE_BIT; |
2355 | } else if (flags & SDVO_OUTPUT_RGB0) { | 2355 | } else if (flags & SDVO_OUTPUT_RGB0) { |
2356 | 2356 | ||
2357 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB0; | 2357 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB0; |
2358 | encoder->encoder_type = DRM_MODE_ENCODER_DAC; | 2358 | encoder->encoder_type = DRM_MODE_ENCODER_DAC; |
2359 | connector->connector_type = DRM_MODE_CONNECTOR_VGA; | 2359 | connector->connector_type = DRM_MODE_CONNECTOR_VGA; |
2360 | intel_output->clone_mask = (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | | 2360 | intel_encoder->clone_mask = (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | |
2361 | (1 << INTEL_ANALOG_CLONE_BIT); | 2361 | (1 << INTEL_ANALOG_CLONE_BIT); |
2362 | } else if (flags & SDVO_OUTPUT_RGB1) { | 2362 | } else if (flags & SDVO_OUTPUT_RGB1) { |
2363 | 2363 | ||
2364 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB1; | 2364 | sdvo_priv->controlled_output = SDVO_OUTPUT_RGB1; |
2365 | encoder->encoder_type = DRM_MODE_ENCODER_DAC; | 2365 | encoder->encoder_type = DRM_MODE_ENCODER_DAC; |
2366 | connector->connector_type = DRM_MODE_CONNECTOR_VGA; | 2366 | connector->connector_type = DRM_MODE_CONNECTOR_VGA; |
2367 | intel_output->clone_mask = (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | | 2367 | intel_encoder->clone_mask = (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | |
2368 | (1 << INTEL_ANALOG_CLONE_BIT); | 2368 | (1 << INTEL_ANALOG_CLONE_BIT); |
2369 | } else if (flags & SDVO_OUTPUT_CVBS0) { | 2369 | } else if (flags & SDVO_OUTPUT_CVBS0) { |
2370 | 2370 | ||
@@ -2372,15 +2372,15 @@ intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) | |||
2372 | encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; | 2372 | encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; |
2373 | connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; | 2373 | connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; |
2374 | sdvo_priv->is_tv = true; | 2374 | sdvo_priv->is_tv = true; |
2375 | intel_output->needs_tv_clock = true; | 2375 | intel_encoder->needs_tv_clock = true; |
2376 | intel_output->clone_mask = 1 << INTEL_SDVO_TV_CLONE_BIT; | 2376 | intel_encoder->clone_mask = 1 << INTEL_SDVO_TV_CLONE_BIT; |
2377 | } else if (flags & SDVO_OUTPUT_LVDS0) { | 2377 | } else if (flags & SDVO_OUTPUT_LVDS0) { |
2378 | 2378 | ||
2379 | sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS0; | 2379 | sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS0; |
2380 | encoder->encoder_type = DRM_MODE_ENCODER_LVDS; | 2380 | encoder->encoder_type = DRM_MODE_ENCODER_LVDS; |
2381 | connector->connector_type = DRM_MODE_CONNECTOR_LVDS; | 2381 | connector->connector_type = DRM_MODE_CONNECTOR_LVDS; |
2382 | sdvo_priv->is_lvds = true; | 2382 | sdvo_priv->is_lvds = true; |
2383 | intel_output->clone_mask = (1 << INTEL_ANALOG_CLONE_BIT) | | 2383 | intel_encoder->clone_mask = (1 << INTEL_ANALOG_CLONE_BIT) | |
2384 | (1 << INTEL_SDVO_LVDS_CLONE_BIT); | 2384 | (1 << INTEL_SDVO_LVDS_CLONE_BIT); |
2385 | } else if (flags & SDVO_OUTPUT_LVDS1) { | 2385 | } else if (flags & SDVO_OUTPUT_LVDS1) { |
2386 | 2386 | ||
@@ -2388,7 +2388,7 @@ intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) | |||
2388 | encoder->encoder_type = DRM_MODE_ENCODER_LVDS; | 2388 | encoder->encoder_type = DRM_MODE_ENCODER_LVDS; |
2389 | connector->connector_type = DRM_MODE_CONNECTOR_LVDS; | 2389 | connector->connector_type = DRM_MODE_CONNECTOR_LVDS; |
2390 | sdvo_priv->is_lvds = true; | 2390 | sdvo_priv->is_lvds = true; |
2391 | intel_output->clone_mask = (1 << INTEL_ANALOG_CLONE_BIT) | | 2391 | intel_encoder->clone_mask = (1 << INTEL_ANALOG_CLONE_BIT) | |
2392 | (1 << INTEL_SDVO_LVDS_CLONE_BIT); | 2392 | (1 << INTEL_SDVO_LVDS_CLONE_BIT); |
2393 | } else { | 2393 | } else { |
2394 | 2394 | ||
@@ -2401,7 +2401,7 @@ intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) | |||
2401 | bytes[0], bytes[1]); | 2401 | bytes[0], bytes[1]); |
2402 | ret = false; | 2402 | ret = false; |
2403 | } | 2403 | } |
2404 | intel_output->crtc_mask = (1 << 0) | (1 << 1); | 2404 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); |
2405 | 2405 | ||
2406 | if (ret && registered) | 2406 | if (ret && registered) |
2407 | ret = drm_sysfs_connector_add(connector) == 0 ? true : false; | 2407 | ret = drm_sysfs_connector_add(connector) == 0 ? true : false; |
@@ -2413,18 +2413,18 @@ intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) | |||
2413 | 2413 | ||
2414 | static void intel_sdvo_tv_create_property(struct drm_connector *connector) | 2414 | static void intel_sdvo_tv_create_property(struct drm_connector *connector) |
2415 | { | 2415 | { |
2416 | struct intel_output *intel_output = to_intel_output(connector); | 2416 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
2417 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 2417 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
2418 | struct intel_sdvo_tv_format format; | 2418 | struct intel_sdvo_tv_format format; |
2419 | uint32_t format_map, i; | 2419 | uint32_t format_map, i; |
2420 | uint8_t status; | 2420 | uint8_t status; |
2421 | 2421 | ||
2422 | intel_sdvo_set_target_output(intel_output, | 2422 | intel_sdvo_set_target_output(intel_encoder, |
2423 | sdvo_priv->controlled_output); | 2423 | sdvo_priv->controlled_output); |
2424 | 2424 | ||
2425 | intel_sdvo_write_cmd(intel_output, | 2425 | intel_sdvo_write_cmd(intel_encoder, |
2426 | SDVO_CMD_GET_SUPPORTED_TV_FORMATS, NULL, 0); | 2426 | SDVO_CMD_GET_SUPPORTED_TV_FORMATS, NULL, 0); |
2427 | status = intel_sdvo_read_response(intel_output, | 2427 | status = intel_sdvo_read_response(intel_encoder, |
2428 | &format, sizeof(format)); | 2428 | &format, sizeof(format)); |
2429 | if (status != SDVO_CMD_STATUS_SUCCESS) | 2429 | if (status != SDVO_CMD_STATUS_SUCCESS) |
2430 | return; | 2430 | return; |
@@ -2462,16 +2462,16 @@ static void intel_sdvo_tv_create_property(struct drm_connector *connector) | |||
2462 | 2462 | ||
2463 | static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | 2463 | static void intel_sdvo_create_enhance_property(struct drm_connector *connector) |
2464 | { | 2464 | { |
2465 | struct intel_output *intel_output = to_intel_output(connector); | 2465 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
2466 | struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; | 2466 | struct intel_sdvo_priv *sdvo_priv = intel_encoder->dev_priv; |
2467 | struct intel_sdvo_enhancements_reply sdvo_data; | 2467 | struct intel_sdvo_enhancements_reply sdvo_data; |
2468 | struct drm_device *dev = connector->dev; | 2468 | struct drm_device *dev = connector->dev; |
2469 | uint8_t status; | 2469 | uint8_t status; |
2470 | uint16_t response, data_value[2]; | 2470 | uint16_t response, data_value[2]; |
2471 | 2471 | ||
2472 | intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS, | 2472 | intel_sdvo_write_cmd(intel_encoder, SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS, |
2473 | NULL, 0); | 2473 | NULL, 0); |
2474 | status = intel_sdvo_read_response(intel_output, &sdvo_data, | 2474 | status = intel_sdvo_read_response(intel_encoder, &sdvo_data, |
2475 | sizeof(sdvo_data)); | 2475 | sizeof(sdvo_data)); |
2476 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2476 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2477 | DRM_DEBUG_KMS(" incorrect response is returned\n"); | 2477 | DRM_DEBUG_KMS(" incorrect response is returned\n"); |
@@ -2487,18 +2487,18 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2487 | * property | 2487 | * property |
2488 | */ | 2488 | */ |
2489 | if (sdvo_data.overscan_h) { | 2489 | if (sdvo_data.overscan_h) { |
2490 | intel_sdvo_write_cmd(intel_output, | 2490 | intel_sdvo_write_cmd(intel_encoder, |
2491 | SDVO_CMD_GET_MAX_OVERSCAN_H, NULL, 0); | 2491 | SDVO_CMD_GET_MAX_OVERSCAN_H, NULL, 0); |
2492 | status = intel_sdvo_read_response(intel_output, | 2492 | status = intel_sdvo_read_response(intel_encoder, |
2493 | &data_value, 4); | 2493 | &data_value, 4); |
2494 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2494 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2495 | DRM_DEBUG_KMS("Incorrect SDVO max " | 2495 | DRM_DEBUG_KMS("Incorrect SDVO max " |
2496 | "h_overscan\n"); | 2496 | "h_overscan\n"); |
2497 | return; | 2497 | return; |
2498 | } | 2498 | } |
2499 | intel_sdvo_write_cmd(intel_output, | 2499 | intel_sdvo_write_cmd(intel_encoder, |
2500 | SDVO_CMD_GET_OVERSCAN_H, NULL, 0); | 2500 | SDVO_CMD_GET_OVERSCAN_H, NULL, 0); |
2501 | status = intel_sdvo_read_response(intel_output, | 2501 | status = intel_sdvo_read_response(intel_encoder, |
2502 | &response, 2); | 2502 | &response, 2); |
2503 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2503 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2504 | DRM_DEBUG_KMS("Incorrect SDVO h_overscan\n"); | 2504 | DRM_DEBUG_KMS("Incorrect SDVO h_overscan\n"); |
@@ -2528,18 +2528,18 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2528 | data_value[0], data_value[1], response); | 2528 | data_value[0], data_value[1], response); |
2529 | } | 2529 | } |
2530 | if (sdvo_data.overscan_v) { | 2530 | if (sdvo_data.overscan_v) { |
2531 | intel_sdvo_write_cmd(intel_output, | 2531 | intel_sdvo_write_cmd(intel_encoder, |
2532 | SDVO_CMD_GET_MAX_OVERSCAN_V, NULL, 0); | 2532 | SDVO_CMD_GET_MAX_OVERSCAN_V, NULL, 0); |
2533 | status = intel_sdvo_read_response(intel_output, | 2533 | status = intel_sdvo_read_response(intel_encoder, |
2534 | &data_value, 4); | 2534 | &data_value, 4); |
2535 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2535 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2536 | DRM_DEBUG_KMS("Incorrect SDVO max " | 2536 | DRM_DEBUG_KMS("Incorrect SDVO max " |
2537 | "v_overscan\n"); | 2537 | "v_overscan\n"); |
2538 | return; | 2538 | return; |
2539 | } | 2539 | } |
2540 | intel_sdvo_write_cmd(intel_output, | 2540 | intel_sdvo_write_cmd(intel_encoder, |
2541 | SDVO_CMD_GET_OVERSCAN_V, NULL, 0); | 2541 | SDVO_CMD_GET_OVERSCAN_V, NULL, 0); |
2542 | status = intel_sdvo_read_response(intel_output, | 2542 | status = intel_sdvo_read_response(intel_encoder, |
2543 | &response, 2); | 2543 | &response, 2); |
2544 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2544 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2545 | DRM_DEBUG_KMS("Incorrect SDVO v_overscan\n"); | 2545 | DRM_DEBUG_KMS("Incorrect SDVO v_overscan\n"); |
@@ -2569,17 +2569,17 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2569 | data_value[0], data_value[1], response); | 2569 | data_value[0], data_value[1], response); |
2570 | } | 2570 | } |
2571 | if (sdvo_data.position_h) { | 2571 | if (sdvo_data.position_h) { |
2572 | intel_sdvo_write_cmd(intel_output, | 2572 | intel_sdvo_write_cmd(intel_encoder, |
2573 | SDVO_CMD_GET_MAX_POSITION_H, NULL, 0); | 2573 | SDVO_CMD_GET_MAX_POSITION_H, NULL, 0); |
2574 | status = intel_sdvo_read_response(intel_output, | 2574 | status = intel_sdvo_read_response(intel_encoder, |
2575 | &data_value, 4); | 2575 | &data_value, 4); |
2576 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2576 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2577 | DRM_DEBUG_KMS("Incorrect SDVO Max h_pos\n"); | 2577 | DRM_DEBUG_KMS("Incorrect SDVO Max h_pos\n"); |
2578 | return; | 2578 | return; |
2579 | } | 2579 | } |
2580 | intel_sdvo_write_cmd(intel_output, | 2580 | intel_sdvo_write_cmd(intel_encoder, |
2581 | SDVO_CMD_GET_POSITION_H, NULL, 0); | 2581 | SDVO_CMD_GET_POSITION_H, NULL, 0); |
2582 | status = intel_sdvo_read_response(intel_output, | 2582 | status = intel_sdvo_read_response(intel_encoder, |
2583 | &response, 2); | 2583 | &response, 2); |
2584 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2584 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2585 | DRM_DEBUG_KMS("Incorrect SDVO get h_postion\n"); | 2585 | DRM_DEBUG_KMS("Incorrect SDVO get h_postion\n"); |
@@ -2600,17 +2600,17 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2600 | data_value[0], data_value[1], response); | 2600 | data_value[0], data_value[1], response); |
2601 | } | 2601 | } |
2602 | if (sdvo_data.position_v) { | 2602 | if (sdvo_data.position_v) { |
2603 | intel_sdvo_write_cmd(intel_output, | 2603 | intel_sdvo_write_cmd(intel_encoder, |
2604 | SDVO_CMD_GET_MAX_POSITION_V, NULL, 0); | 2604 | SDVO_CMD_GET_MAX_POSITION_V, NULL, 0); |
2605 | status = intel_sdvo_read_response(intel_output, | 2605 | status = intel_sdvo_read_response(intel_encoder, |
2606 | &data_value, 4); | 2606 | &data_value, 4); |
2607 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2607 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2608 | DRM_DEBUG_KMS("Incorrect SDVO Max v_pos\n"); | 2608 | DRM_DEBUG_KMS("Incorrect SDVO Max v_pos\n"); |
2609 | return; | 2609 | return; |
2610 | } | 2610 | } |
2611 | intel_sdvo_write_cmd(intel_output, | 2611 | intel_sdvo_write_cmd(intel_encoder, |
2612 | SDVO_CMD_GET_POSITION_V, NULL, 0); | 2612 | SDVO_CMD_GET_POSITION_V, NULL, 0); |
2613 | status = intel_sdvo_read_response(intel_output, | 2613 | status = intel_sdvo_read_response(intel_encoder, |
2614 | &response, 2); | 2614 | &response, 2); |
2615 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2615 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2616 | DRM_DEBUG_KMS("Incorrect SDVO get v_postion\n"); | 2616 | DRM_DEBUG_KMS("Incorrect SDVO get v_postion\n"); |
@@ -2633,17 +2633,17 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2633 | } | 2633 | } |
2634 | if (sdvo_priv->is_tv) { | 2634 | if (sdvo_priv->is_tv) { |
2635 | if (sdvo_data.saturation) { | 2635 | if (sdvo_data.saturation) { |
2636 | intel_sdvo_write_cmd(intel_output, | 2636 | intel_sdvo_write_cmd(intel_encoder, |
2637 | SDVO_CMD_GET_MAX_SATURATION, NULL, 0); | 2637 | SDVO_CMD_GET_MAX_SATURATION, NULL, 0); |
2638 | status = intel_sdvo_read_response(intel_output, | 2638 | status = intel_sdvo_read_response(intel_encoder, |
2639 | &data_value, 4); | 2639 | &data_value, 4); |
2640 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2640 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2641 | DRM_DEBUG_KMS("Incorrect SDVO Max sat\n"); | 2641 | DRM_DEBUG_KMS("Incorrect SDVO Max sat\n"); |
2642 | return; | 2642 | return; |
2643 | } | 2643 | } |
2644 | intel_sdvo_write_cmd(intel_output, | 2644 | intel_sdvo_write_cmd(intel_encoder, |
2645 | SDVO_CMD_GET_SATURATION, NULL, 0); | 2645 | SDVO_CMD_GET_SATURATION, NULL, 0); |
2646 | status = intel_sdvo_read_response(intel_output, | 2646 | status = intel_sdvo_read_response(intel_encoder, |
2647 | &response, 2); | 2647 | &response, 2); |
2648 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2648 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2649 | DRM_DEBUG_KMS("Incorrect SDVO get sat\n"); | 2649 | DRM_DEBUG_KMS("Incorrect SDVO get sat\n"); |
@@ -2665,17 +2665,17 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2665 | data_value[0], data_value[1], response); | 2665 | data_value[0], data_value[1], response); |
2666 | } | 2666 | } |
2667 | if (sdvo_data.contrast) { | 2667 | if (sdvo_data.contrast) { |
2668 | intel_sdvo_write_cmd(intel_output, | 2668 | intel_sdvo_write_cmd(intel_encoder, |
2669 | SDVO_CMD_GET_MAX_CONTRAST, NULL, 0); | 2669 | SDVO_CMD_GET_MAX_CONTRAST, NULL, 0); |
2670 | status = intel_sdvo_read_response(intel_output, | 2670 | status = intel_sdvo_read_response(intel_encoder, |
2671 | &data_value, 4); | 2671 | &data_value, 4); |
2672 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2672 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2673 | DRM_DEBUG_KMS("Incorrect SDVO Max contrast\n"); | 2673 | DRM_DEBUG_KMS("Incorrect SDVO Max contrast\n"); |
2674 | return; | 2674 | return; |
2675 | } | 2675 | } |
2676 | intel_sdvo_write_cmd(intel_output, | 2676 | intel_sdvo_write_cmd(intel_encoder, |
2677 | SDVO_CMD_GET_CONTRAST, NULL, 0); | 2677 | SDVO_CMD_GET_CONTRAST, NULL, 0); |
2678 | status = intel_sdvo_read_response(intel_output, | 2678 | status = intel_sdvo_read_response(intel_encoder, |
2679 | &response, 2); | 2679 | &response, 2); |
2680 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2680 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2681 | DRM_DEBUG_KMS("Incorrect SDVO get contrast\n"); | 2681 | DRM_DEBUG_KMS("Incorrect SDVO get contrast\n"); |
@@ -2696,17 +2696,17 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2696 | data_value[0], data_value[1], response); | 2696 | data_value[0], data_value[1], response); |
2697 | } | 2697 | } |
2698 | if (sdvo_data.hue) { | 2698 | if (sdvo_data.hue) { |
2699 | intel_sdvo_write_cmd(intel_output, | 2699 | intel_sdvo_write_cmd(intel_encoder, |
2700 | SDVO_CMD_GET_MAX_HUE, NULL, 0); | 2700 | SDVO_CMD_GET_MAX_HUE, NULL, 0); |
2701 | status = intel_sdvo_read_response(intel_output, | 2701 | status = intel_sdvo_read_response(intel_encoder, |
2702 | &data_value, 4); | 2702 | &data_value, 4); |
2703 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2703 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2704 | DRM_DEBUG_KMS("Incorrect SDVO Max hue\n"); | 2704 | DRM_DEBUG_KMS("Incorrect SDVO Max hue\n"); |
2705 | return; | 2705 | return; |
2706 | } | 2706 | } |
2707 | intel_sdvo_write_cmd(intel_output, | 2707 | intel_sdvo_write_cmd(intel_encoder, |
2708 | SDVO_CMD_GET_HUE, NULL, 0); | 2708 | SDVO_CMD_GET_HUE, NULL, 0); |
2709 | status = intel_sdvo_read_response(intel_output, | 2709 | status = intel_sdvo_read_response(intel_encoder, |
2710 | &response, 2); | 2710 | &response, 2); |
2711 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2711 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2712 | DRM_DEBUG_KMS("Incorrect SDVO get hue\n"); | 2712 | DRM_DEBUG_KMS("Incorrect SDVO get hue\n"); |
@@ -2729,17 +2729,17 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2729 | } | 2729 | } |
2730 | if (sdvo_priv->is_tv || sdvo_priv->is_lvds) { | 2730 | if (sdvo_priv->is_tv || sdvo_priv->is_lvds) { |
2731 | if (sdvo_data.brightness) { | 2731 | if (sdvo_data.brightness) { |
2732 | intel_sdvo_write_cmd(intel_output, | 2732 | intel_sdvo_write_cmd(intel_encoder, |
2733 | SDVO_CMD_GET_MAX_BRIGHTNESS, NULL, 0); | 2733 | SDVO_CMD_GET_MAX_BRIGHTNESS, NULL, 0); |
2734 | status = intel_sdvo_read_response(intel_output, | 2734 | status = intel_sdvo_read_response(intel_encoder, |
2735 | &data_value, 4); | 2735 | &data_value, 4); |
2736 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2736 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2737 | DRM_DEBUG_KMS("Incorrect SDVO Max bright\n"); | 2737 | DRM_DEBUG_KMS("Incorrect SDVO Max bright\n"); |
2738 | return; | 2738 | return; |
2739 | } | 2739 | } |
2740 | intel_sdvo_write_cmd(intel_output, | 2740 | intel_sdvo_write_cmd(intel_encoder, |
2741 | SDVO_CMD_GET_BRIGHTNESS, NULL, 0); | 2741 | SDVO_CMD_GET_BRIGHTNESS, NULL, 0); |
2742 | status = intel_sdvo_read_response(intel_output, | 2742 | status = intel_sdvo_read_response(intel_encoder, |
2743 | &response, 2); | 2743 | &response, 2); |
2744 | if (status != SDVO_CMD_STATUS_SUCCESS) { | 2744 | if (status != SDVO_CMD_STATUS_SUCCESS) { |
2745 | DRM_DEBUG_KMS("Incorrect SDVO get brigh\n"); | 2745 | DRM_DEBUG_KMS("Incorrect SDVO get brigh\n"); |
@@ -2768,40 +2768,40 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2768 | { | 2768 | { |
2769 | struct drm_i915_private *dev_priv = dev->dev_private; | 2769 | struct drm_i915_private *dev_priv = dev->dev_private; |
2770 | struct drm_connector *connector; | 2770 | struct drm_connector *connector; |
2771 | struct intel_output *intel_output; | 2771 | struct intel_encoder *intel_encoder; |
2772 | struct intel_sdvo_priv *sdvo_priv; | 2772 | struct intel_sdvo_priv *sdvo_priv; |
2773 | 2773 | ||
2774 | u8 ch[0x40]; | 2774 | u8 ch[0x40]; |
2775 | int i; | 2775 | int i; |
2776 | 2776 | ||
2777 | intel_output = kcalloc(sizeof(struct intel_output)+sizeof(struct intel_sdvo_priv), 1, GFP_KERNEL); | 2777 | intel_encoder = kcalloc(sizeof(struct intel_encoder)+sizeof(struct intel_sdvo_priv), 1, GFP_KERNEL); |
2778 | if (!intel_output) { | 2778 | if (!intel_encoder) { |
2779 | return false; | 2779 | return false; |
2780 | } | 2780 | } |
2781 | 2781 | ||
2782 | sdvo_priv = (struct intel_sdvo_priv *)(intel_output + 1); | 2782 | sdvo_priv = (struct intel_sdvo_priv *)(intel_encoder + 1); |
2783 | sdvo_priv->output_device = output_device; | 2783 | sdvo_priv->output_device = output_device; |
2784 | 2784 | ||
2785 | intel_output->dev_priv = sdvo_priv; | 2785 | intel_encoder->dev_priv = sdvo_priv; |
2786 | intel_output->type = INTEL_OUTPUT_SDVO; | 2786 | intel_encoder->type = INTEL_OUTPUT_SDVO; |
2787 | 2787 | ||
2788 | /* setup the DDC bus. */ | 2788 | /* setup the DDC bus. */ |
2789 | if (output_device == SDVOB) | 2789 | if (output_device == SDVOB) |
2790 | intel_output->i2c_bus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOB"); | 2790 | intel_encoder->i2c_bus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOB"); |
2791 | else | 2791 | else |
2792 | intel_output->i2c_bus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOC"); | 2792 | intel_encoder->i2c_bus = intel_i2c_create(dev, GPIOE, "SDVOCTRL_E for SDVOC"); |
2793 | 2793 | ||
2794 | if (!intel_output->i2c_bus) | 2794 | if (!intel_encoder->i2c_bus) |
2795 | goto err_inteloutput; | 2795 | goto err_inteloutput; |
2796 | 2796 | ||
2797 | sdvo_priv->slave_addr = intel_sdvo_get_slave_addr(dev, output_device); | 2797 | sdvo_priv->slave_addr = intel_sdvo_get_slave_addr(dev, output_device); |
2798 | 2798 | ||
2799 | /* Save the bit-banging i2c functionality for use by the DDC wrapper */ | 2799 | /* Save the bit-banging i2c functionality for use by the DDC wrapper */ |
2800 | intel_sdvo_i2c_bit_algo.functionality = intel_output->i2c_bus->algo->functionality; | 2800 | intel_sdvo_i2c_bit_algo.functionality = intel_encoder->i2c_bus->algo->functionality; |
2801 | 2801 | ||
2802 | /* Read the regs to test if we can talk to the device */ | 2802 | /* Read the regs to test if we can talk to the device */ |
2803 | for (i = 0; i < 0x40; i++) { | 2803 | for (i = 0; i < 0x40; i++) { |
2804 | if (!intel_sdvo_read_byte(intel_output, i, &ch[i])) { | 2804 | if (!intel_sdvo_read_byte(intel_encoder, i, &ch[i])) { |
2805 | DRM_DEBUG_KMS("No SDVO device found on SDVO%c\n", | 2805 | DRM_DEBUG_KMS("No SDVO device found on SDVO%c\n", |
2806 | output_device == SDVOB ? 'B' : 'C'); | 2806 | output_device == SDVOB ? 'B' : 'C'); |
2807 | goto err_i2c; | 2807 | goto err_i2c; |
@@ -2810,27 +2810,27 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2810 | 2810 | ||
2811 | /* setup the DDC bus. */ | 2811 | /* setup the DDC bus. */ |
2812 | if (output_device == SDVOB) { | 2812 | if (output_device == SDVOB) { |
2813 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOB DDC BUS"); | 2813 | intel_encoder->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOB DDC BUS"); |
2814 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, | 2814 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, |
2815 | "SDVOB/VGA DDC BUS"); | 2815 | "SDVOB/VGA DDC BUS"); |
2816 | dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS; | 2816 | dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS; |
2817 | } else { | 2817 | } else { |
2818 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOC DDC BUS"); | 2818 | intel_encoder->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOC DDC BUS"); |
2819 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, | 2819 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, |
2820 | "SDVOC/VGA DDC BUS"); | 2820 | "SDVOC/VGA DDC BUS"); |
2821 | dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; | 2821 | dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; |
2822 | } | 2822 | } |
2823 | 2823 | ||
2824 | if (intel_output->ddc_bus == NULL) | 2824 | if (intel_encoder->ddc_bus == NULL) |
2825 | goto err_i2c; | 2825 | goto err_i2c; |
2826 | 2826 | ||
2827 | /* Wrap with our custom algo which switches to DDC mode */ | 2827 | /* Wrap with our custom algo which switches to DDC mode */ |
2828 | intel_output->ddc_bus->algo = &intel_sdvo_i2c_bit_algo; | 2828 | intel_encoder->ddc_bus->algo = &intel_sdvo_i2c_bit_algo; |
2829 | 2829 | ||
2830 | /* In default case sdvo lvds is false */ | 2830 | /* In default case sdvo lvds is false */ |
2831 | intel_sdvo_get_capabilities(intel_output, &sdvo_priv->caps); | 2831 | intel_sdvo_get_capabilities(intel_encoder, &sdvo_priv->caps); |
2832 | 2832 | ||
2833 | if (intel_sdvo_output_setup(intel_output, | 2833 | if (intel_sdvo_output_setup(intel_encoder, |
2834 | sdvo_priv->caps.output_flags) != true) { | 2834 | sdvo_priv->caps.output_flags) != true) { |
2835 | DRM_DEBUG_KMS("SDVO output failed to setup on SDVO%c\n", | 2835 | DRM_DEBUG_KMS("SDVO output failed to setup on SDVO%c\n", |
2836 | output_device == SDVOB ? 'B' : 'C'); | 2836 | output_device == SDVOB ? 'B' : 'C'); |
@@ -2838,7 +2838,7 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2838 | } | 2838 | } |
2839 | 2839 | ||
2840 | 2840 | ||
2841 | connector = &intel_output->base; | 2841 | connector = &intel_encoder->base; |
2842 | drm_connector_init(dev, connector, &intel_sdvo_connector_funcs, | 2842 | drm_connector_init(dev, connector, &intel_sdvo_connector_funcs, |
2843 | connector->connector_type); | 2843 | connector->connector_type); |
2844 | 2844 | ||
@@ -2847,12 +2847,12 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2847 | connector->doublescan_allowed = 0; | 2847 | connector->doublescan_allowed = 0; |
2848 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; | 2848 | connector->display_info.subpixel_order = SubPixelHorizontalRGB; |
2849 | 2849 | ||
2850 | drm_encoder_init(dev, &intel_output->enc, | 2850 | drm_encoder_init(dev, &intel_encoder->enc, |
2851 | &intel_sdvo_enc_funcs, intel_output->enc.encoder_type); | 2851 | &intel_sdvo_enc_funcs, intel_encoder->enc.encoder_type); |
2852 | 2852 | ||
2853 | drm_encoder_helper_add(&intel_output->enc, &intel_sdvo_helper_funcs); | 2853 | drm_encoder_helper_add(&intel_encoder->enc, &intel_sdvo_helper_funcs); |
2854 | 2854 | ||
2855 | drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc); | 2855 | drm_mode_connector_attach_encoder(&intel_encoder->base, &intel_encoder->enc); |
2856 | if (sdvo_priv->is_tv) | 2856 | if (sdvo_priv->is_tv) |
2857 | intel_sdvo_tv_create_property(connector); | 2857 | intel_sdvo_tv_create_property(connector); |
2858 | 2858 | ||
@@ -2864,9 +2864,9 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2864 | intel_sdvo_select_ddc_bus(sdvo_priv); | 2864 | intel_sdvo_select_ddc_bus(sdvo_priv); |
2865 | 2865 | ||
2866 | /* Set the input timing to the screen. Assume always input 0. */ | 2866 | /* Set the input timing to the screen. Assume always input 0. */ |
2867 | intel_sdvo_set_target_input(intel_output, true, false); | 2867 | intel_sdvo_set_target_input(intel_encoder, true, false); |
2868 | 2868 | ||
2869 | intel_sdvo_get_input_pixel_clock_range(intel_output, | 2869 | intel_sdvo_get_input_pixel_clock_range(intel_encoder, |
2870 | &sdvo_priv->pixel_clock_min, | 2870 | &sdvo_priv->pixel_clock_min, |
2871 | &sdvo_priv->pixel_clock_max); | 2871 | &sdvo_priv->pixel_clock_max); |
2872 | 2872 | ||
@@ -2893,12 +2893,12 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2893 | err_i2c: | 2893 | err_i2c: |
2894 | if (sdvo_priv->analog_ddc_bus != NULL) | 2894 | if (sdvo_priv->analog_ddc_bus != NULL) |
2895 | intel_i2c_destroy(sdvo_priv->analog_ddc_bus); | 2895 | intel_i2c_destroy(sdvo_priv->analog_ddc_bus); |
2896 | if (intel_output->ddc_bus != NULL) | 2896 | if (intel_encoder->ddc_bus != NULL) |
2897 | intel_i2c_destroy(intel_output->ddc_bus); | 2897 | intel_i2c_destroy(intel_encoder->ddc_bus); |
2898 | if (intel_output->i2c_bus != NULL) | 2898 | if (intel_encoder->i2c_bus != NULL) |
2899 | intel_i2c_destroy(intel_output->i2c_bus); | 2899 | intel_i2c_destroy(intel_encoder->i2c_bus); |
2900 | err_inteloutput: | 2900 | err_inteloutput: |
2901 | kfree(intel_output); | 2901 | kfree(intel_encoder); |
2902 | 2902 | ||
2903 | return false; | 2903 | return false; |
2904 | } | 2904 | } |
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 552ec110b741..d7d39b2327df 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c | |||
@@ -921,8 +921,8 @@ intel_tv_save(struct drm_connector *connector) | |||
921 | { | 921 | { |
922 | struct drm_device *dev = connector->dev; | 922 | struct drm_device *dev = connector->dev; |
923 | struct drm_i915_private *dev_priv = dev->dev_private; | 923 | struct drm_i915_private *dev_priv = dev->dev_private; |
924 | struct intel_output *intel_output = to_intel_output(connector); | 924 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
925 | struct intel_tv_priv *tv_priv = intel_output->dev_priv; | 925 | struct intel_tv_priv *tv_priv = intel_encoder->dev_priv; |
926 | int i; | 926 | int i; |
927 | 927 | ||
928 | tv_priv->save_TV_H_CTL_1 = I915_READ(TV_H_CTL_1); | 928 | tv_priv->save_TV_H_CTL_1 = I915_READ(TV_H_CTL_1); |
@@ -971,8 +971,8 @@ intel_tv_restore(struct drm_connector *connector) | |||
971 | { | 971 | { |
972 | struct drm_device *dev = connector->dev; | 972 | struct drm_device *dev = connector->dev; |
973 | struct drm_i915_private *dev_priv = dev->dev_private; | 973 | struct drm_i915_private *dev_priv = dev->dev_private; |
974 | struct intel_output *intel_output = to_intel_output(connector); | 974 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
975 | struct intel_tv_priv *tv_priv = intel_output->dev_priv; | 975 | struct intel_tv_priv *tv_priv = intel_encoder->dev_priv; |
976 | struct drm_crtc *crtc = connector->encoder->crtc; | 976 | struct drm_crtc *crtc = connector->encoder->crtc; |
977 | struct intel_crtc *intel_crtc; | 977 | struct intel_crtc *intel_crtc; |
978 | int i; | 978 | int i; |
@@ -1068,9 +1068,9 @@ intel_tv_mode_lookup (char *tv_format) | |||
1068 | } | 1068 | } |
1069 | 1069 | ||
1070 | static const struct tv_mode * | 1070 | static const struct tv_mode * |
1071 | intel_tv_mode_find (struct intel_output *intel_output) | 1071 | intel_tv_mode_find (struct intel_encoder *intel_encoder) |
1072 | { | 1072 | { |
1073 | struct intel_tv_priv *tv_priv = intel_output->dev_priv; | 1073 | struct intel_tv_priv *tv_priv = intel_encoder->dev_priv; |
1074 | 1074 | ||
1075 | return intel_tv_mode_lookup(tv_priv->tv_format); | 1075 | return intel_tv_mode_lookup(tv_priv->tv_format); |
1076 | } | 1076 | } |
@@ -1078,8 +1078,8 @@ intel_tv_mode_find (struct intel_output *intel_output) | |||
1078 | static enum drm_mode_status | 1078 | static enum drm_mode_status |
1079 | intel_tv_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) | 1079 | intel_tv_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) |
1080 | { | 1080 | { |
1081 | struct intel_output *intel_output = to_intel_output(connector); | 1081 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1082 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_output); | 1082 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_encoder); |
1083 | 1083 | ||
1084 | /* Ensure TV refresh is close to desired refresh */ | 1084 | /* Ensure TV refresh is close to desired refresh */ |
1085 | if (tv_mode && abs(tv_mode->refresh - drm_mode_vrefresh(mode) * 1000) | 1085 | if (tv_mode && abs(tv_mode->refresh - drm_mode_vrefresh(mode) * 1000) |
@@ -1095,8 +1095,8 @@ intel_tv_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, | |||
1095 | { | 1095 | { |
1096 | struct drm_device *dev = encoder->dev; | 1096 | struct drm_device *dev = encoder->dev; |
1097 | struct drm_mode_config *drm_config = &dev->mode_config; | 1097 | struct drm_mode_config *drm_config = &dev->mode_config; |
1098 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 1098 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
1099 | const struct tv_mode *tv_mode = intel_tv_mode_find (intel_output); | 1099 | const struct tv_mode *tv_mode = intel_tv_mode_find (intel_encoder); |
1100 | struct drm_encoder *other_encoder; | 1100 | struct drm_encoder *other_encoder; |
1101 | 1101 | ||
1102 | if (!tv_mode) | 1102 | if (!tv_mode) |
@@ -1121,9 +1121,9 @@ intel_tv_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, | |||
1121 | struct drm_i915_private *dev_priv = dev->dev_private; | 1121 | struct drm_i915_private *dev_priv = dev->dev_private; |
1122 | struct drm_crtc *crtc = encoder->crtc; | 1122 | struct drm_crtc *crtc = encoder->crtc; |
1123 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | 1123 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); |
1124 | struct intel_output *intel_output = enc_to_intel_output(encoder); | 1124 | struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder); |
1125 | struct intel_tv_priv *tv_priv = intel_output->dev_priv; | 1125 | struct intel_tv_priv *tv_priv = intel_encoder->dev_priv; |
1126 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_output); | 1126 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_encoder); |
1127 | u32 tv_ctl; | 1127 | u32 tv_ctl; |
1128 | u32 hctl1, hctl2, hctl3; | 1128 | u32 hctl1, hctl2, hctl3; |
1129 | u32 vctl1, vctl2, vctl3, vctl4, vctl5, vctl6, vctl7; | 1129 | u32 vctl1, vctl2, vctl3, vctl4, vctl5, vctl6, vctl7; |
@@ -1360,9 +1360,9 @@ static const struct drm_display_mode reported_modes[] = { | |||
1360 | * \return false if TV is disconnected. | 1360 | * \return false if TV is disconnected. |
1361 | */ | 1361 | */ |
1362 | static int | 1362 | static int |
1363 | intel_tv_detect_type (struct drm_crtc *crtc, struct intel_output *intel_output) | 1363 | intel_tv_detect_type (struct drm_crtc *crtc, struct intel_encoder *intel_encoder) |
1364 | { | 1364 | { |
1365 | struct drm_encoder *encoder = &intel_output->enc; | 1365 | struct drm_encoder *encoder = &intel_encoder->enc; |
1366 | struct drm_device *dev = encoder->dev; | 1366 | struct drm_device *dev = encoder->dev; |
1367 | struct drm_i915_private *dev_priv = dev->dev_private; | 1367 | struct drm_i915_private *dev_priv = dev->dev_private; |
1368 | unsigned long irqflags; | 1368 | unsigned long irqflags; |
@@ -1441,9 +1441,9 @@ intel_tv_detect_type (struct drm_crtc *crtc, struct intel_output *intel_output) | |||
1441 | */ | 1441 | */ |
1442 | static void intel_tv_find_better_format(struct drm_connector *connector) | 1442 | static void intel_tv_find_better_format(struct drm_connector *connector) |
1443 | { | 1443 | { |
1444 | struct intel_output *intel_output = to_intel_output(connector); | 1444 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1445 | struct intel_tv_priv *tv_priv = intel_output->dev_priv; | 1445 | struct intel_tv_priv *tv_priv = intel_encoder->dev_priv; |
1446 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_output); | 1446 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_encoder); |
1447 | int i; | 1447 | int i; |
1448 | 1448 | ||
1449 | if ((tv_priv->type == DRM_MODE_CONNECTOR_Component) == | 1449 | if ((tv_priv->type == DRM_MODE_CONNECTOR_Component) == |
@@ -1475,9 +1475,9 @@ intel_tv_detect(struct drm_connector *connector) | |||
1475 | { | 1475 | { |
1476 | struct drm_crtc *crtc; | 1476 | struct drm_crtc *crtc; |
1477 | struct drm_display_mode mode; | 1477 | struct drm_display_mode mode; |
1478 | struct intel_output *intel_output = to_intel_output(connector); | 1478 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1479 | struct intel_tv_priv *tv_priv = intel_output->dev_priv; | 1479 | struct intel_tv_priv *tv_priv = intel_encoder->dev_priv; |
1480 | struct drm_encoder *encoder = &intel_output->enc; | 1480 | struct drm_encoder *encoder = &intel_encoder->enc; |
1481 | int dpms_mode; | 1481 | int dpms_mode; |
1482 | int type = tv_priv->type; | 1482 | int type = tv_priv->type; |
1483 | 1483 | ||
@@ -1485,12 +1485,12 @@ intel_tv_detect(struct drm_connector *connector) | |||
1485 | drm_mode_set_crtcinfo(&mode, CRTC_INTERLACE_HALVE_V); | 1485 | drm_mode_set_crtcinfo(&mode, CRTC_INTERLACE_HALVE_V); |
1486 | 1486 | ||
1487 | if (encoder->crtc && encoder->crtc->enabled) { | 1487 | if (encoder->crtc && encoder->crtc->enabled) { |
1488 | type = intel_tv_detect_type(encoder->crtc, intel_output); | 1488 | type = intel_tv_detect_type(encoder->crtc, intel_encoder); |
1489 | } else { | 1489 | } else { |
1490 | crtc = intel_get_load_detect_pipe(intel_output, &mode, &dpms_mode); | 1490 | crtc = intel_get_load_detect_pipe(intel_encoder, &mode, &dpms_mode); |
1491 | if (crtc) { | 1491 | if (crtc) { |
1492 | type = intel_tv_detect_type(crtc, intel_output); | 1492 | type = intel_tv_detect_type(crtc, intel_encoder); |
1493 | intel_release_load_detect_pipe(intel_output, dpms_mode); | 1493 | intel_release_load_detect_pipe(intel_encoder, dpms_mode); |
1494 | } else | 1494 | } else |
1495 | type = -1; | 1495 | type = -1; |
1496 | } | 1496 | } |
@@ -1525,8 +1525,8 @@ static void | |||
1525 | intel_tv_chose_preferred_modes(struct drm_connector *connector, | 1525 | intel_tv_chose_preferred_modes(struct drm_connector *connector, |
1526 | struct drm_display_mode *mode_ptr) | 1526 | struct drm_display_mode *mode_ptr) |
1527 | { | 1527 | { |
1528 | struct intel_output *intel_output = to_intel_output(connector); | 1528 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1529 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_output); | 1529 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_encoder); |
1530 | 1530 | ||
1531 | if (tv_mode->nbr_end < 480 && mode_ptr->vdisplay == 480) | 1531 | if (tv_mode->nbr_end < 480 && mode_ptr->vdisplay == 480) |
1532 | mode_ptr->type |= DRM_MODE_TYPE_PREFERRED; | 1532 | mode_ptr->type |= DRM_MODE_TYPE_PREFERRED; |
@@ -1550,8 +1550,8 @@ static int | |||
1550 | intel_tv_get_modes(struct drm_connector *connector) | 1550 | intel_tv_get_modes(struct drm_connector *connector) |
1551 | { | 1551 | { |
1552 | struct drm_display_mode *mode_ptr; | 1552 | struct drm_display_mode *mode_ptr; |
1553 | struct intel_output *intel_output = to_intel_output(connector); | 1553 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1554 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_output); | 1554 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_encoder); |
1555 | int j, count = 0; | 1555 | int j, count = 0; |
1556 | u64 tmp; | 1556 | u64 tmp; |
1557 | 1557 | ||
@@ -1604,11 +1604,11 @@ intel_tv_get_modes(struct drm_connector *connector) | |||
1604 | static void | 1604 | static void |
1605 | intel_tv_destroy (struct drm_connector *connector) | 1605 | intel_tv_destroy (struct drm_connector *connector) |
1606 | { | 1606 | { |
1607 | struct intel_output *intel_output = to_intel_output(connector); | 1607 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1608 | 1608 | ||
1609 | drm_sysfs_connector_remove(connector); | 1609 | drm_sysfs_connector_remove(connector); |
1610 | drm_connector_cleanup(connector); | 1610 | drm_connector_cleanup(connector); |
1611 | kfree(intel_output); | 1611 | kfree(intel_encoder); |
1612 | } | 1612 | } |
1613 | 1613 | ||
1614 | 1614 | ||
@@ -1617,9 +1617,9 @@ intel_tv_set_property(struct drm_connector *connector, struct drm_property *prop | |||
1617 | uint64_t val) | 1617 | uint64_t val) |
1618 | { | 1618 | { |
1619 | struct drm_device *dev = connector->dev; | 1619 | struct drm_device *dev = connector->dev; |
1620 | struct intel_output *intel_output = to_intel_output(connector); | 1620 | struct intel_encoder *intel_encoder = to_intel_encoder(connector); |
1621 | struct intel_tv_priv *tv_priv = intel_output->dev_priv; | 1621 | struct intel_tv_priv *tv_priv = intel_encoder->dev_priv; |
1622 | struct drm_encoder *encoder = &intel_output->enc; | 1622 | struct drm_encoder *encoder = &intel_encoder->enc; |
1623 | struct drm_crtc *crtc = encoder->crtc; | 1623 | struct drm_crtc *crtc = encoder->crtc; |
1624 | int ret = 0; | 1624 | int ret = 0; |
1625 | bool changed = false; | 1625 | bool changed = false; |
@@ -1740,7 +1740,7 @@ intel_tv_init(struct drm_device *dev) | |||
1740 | { | 1740 | { |
1741 | struct drm_i915_private *dev_priv = dev->dev_private; | 1741 | struct drm_i915_private *dev_priv = dev->dev_private; |
1742 | struct drm_connector *connector; | 1742 | struct drm_connector *connector; |
1743 | struct intel_output *intel_output; | 1743 | struct intel_encoder *intel_encoder; |
1744 | struct intel_tv_priv *tv_priv; | 1744 | struct intel_tv_priv *tv_priv; |
1745 | u32 tv_dac_on, tv_dac_off, save_tv_dac; | 1745 | u32 tv_dac_on, tv_dac_off, save_tv_dac; |
1746 | char **tv_format_names; | 1746 | char **tv_format_names; |
@@ -1780,28 +1780,28 @@ intel_tv_init(struct drm_device *dev) | |||
1780 | (tv_dac_off & TVDAC_STATE_CHG_EN) != 0) | 1780 | (tv_dac_off & TVDAC_STATE_CHG_EN) != 0) |
1781 | return; | 1781 | return; |
1782 | 1782 | ||
1783 | intel_output = kzalloc(sizeof(struct intel_output) + | 1783 | intel_encoder = kzalloc(sizeof(struct intel_encoder) + |
1784 | sizeof(struct intel_tv_priv), GFP_KERNEL); | 1784 | sizeof(struct intel_tv_priv), GFP_KERNEL); |
1785 | if (!intel_output) { | 1785 | if (!intel_encoder) { |
1786 | return; | 1786 | return; |
1787 | } | 1787 | } |
1788 | 1788 | ||
1789 | connector = &intel_output->base; | 1789 | connector = &intel_encoder->base; |
1790 | 1790 | ||
1791 | drm_connector_init(dev, connector, &intel_tv_connector_funcs, | 1791 | drm_connector_init(dev, connector, &intel_tv_connector_funcs, |
1792 | DRM_MODE_CONNECTOR_SVIDEO); | 1792 | DRM_MODE_CONNECTOR_SVIDEO); |
1793 | 1793 | ||
1794 | drm_encoder_init(dev, &intel_output->enc, &intel_tv_enc_funcs, | 1794 | drm_encoder_init(dev, &intel_encoder->enc, &intel_tv_enc_funcs, |
1795 | DRM_MODE_ENCODER_TVDAC); | 1795 | DRM_MODE_ENCODER_TVDAC); |
1796 | 1796 | ||
1797 | drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc); | 1797 | drm_mode_connector_attach_encoder(&intel_encoder->base, &intel_encoder->enc); |
1798 | tv_priv = (struct intel_tv_priv *)(intel_output + 1); | 1798 | tv_priv = (struct intel_tv_priv *)(intel_encoder + 1); |
1799 | intel_output->type = INTEL_OUTPUT_TVOUT; | 1799 | intel_encoder->type = INTEL_OUTPUT_TVOUT; |
1800 | intel_output->crtc_mask = (1 << 0) | (1 << 1); | 1800 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); |
1801 | intel_output->clone_mask = (1 << INTEL_TV_CLONE_BIT); | 1801 | intel_encoder->clone_mask = (1 << INTEL_TV_CLONE_BIT); |
1802 | intel_output->enc.possible_crtcs = ((1 << 0) | (1 << 1)); | 1802 | intel_encoder->enc.possible_crtcs = ((1 << 0) | (1 << 1)); |
1803 | intel_output->enc.possible_clones = (1 << INTEL_OUTPUT_TVOUT); | 1803 | intel_encoder->enc.possible_clones = (1 << INTEL_OUTPUT_TVOUT); |
1804 | intel_output->dev_priv = tv_priv; | 1804 | intel_encoder->dev_priv = tv_priv; |
1805 | tv_priv->type = DRM_MODE_CONNECTOR_Unknown; | 1805 | tv_priv->type = DRM_MODE_CONNECTOR_Unknown; |
1806 | 1806 | ||
1807 | /* BIOS margin values */ | 1807 | /* BIOS margin values */ |
@@ -1812,7 +1812,7 @@ intel_tv_init(struct drm_device *dev) | |||
1812 | 1812 | ||
1813 | tv_priv->tv_format = kstrdup(tv_modes[initial_mode].name, GFP_KERNEL); | 1813 | tv_priv->tv_format = kstrdup(tv_modes[initial_mode].name, GFP_KERNEL); |
1814 | 1814 | ||
1815 | drm_encoder_helper_add(&intel_output->enc, &intel_tv_helper_funcs); | 1815 | drm_encoder_helper_add(&intel_encoder->enc, &intel_tv_helper_funcs); |
1816 | drm_connector_helper_add(connector, &intel_tv_connector_helper_funcs); | 1816 | drm_connector_helper_add(connector, &intel_tv_connector_helper_funcs); |
1817 | connector->interlace_allowed = false; | 1817 | connector->interlace_allowed = false; |
1818 | connector->doublescan_allowed = false; | 1818 | connector->doublescan_allowed = false; |