Rev 5097 | Rev 6660 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5097 | Rev 5354 | ||
---|---|---|---|
Line 74... | Line 74... | ||
74 | struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base); |
74 | struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base); |
75 | enum intel_display_power_domain power_domain; |
75 | enum intel_display_power_domain power_domain; |
76 | u32 tmp; |
76 | u32 tmp; |
Line 77... | Line 77... | ||
77 | 77 | ||
78 | power_domain = intel_display_port_power_domain(encoder); |
78 | power_domain = intel_display_port_power_domain(encoder); |
79 | if (!intel_display_power_enabled(dev_priv, power_domain)) |
79 | if (!intel_display_power_is_enabled(dev_priv, power_domain)) |
Line 80... | Line 80... | ||
80 | return false; |
80 | return false; |
Line 81... | Line 81... | ||
81 | 81 | ||
Line 821... | Line 821... | ||
821 | bool intel_is_dual_link_lvds(struct drm_device *dev) |
821 | bool intel_is_dual_link_lvds(struct drm_device *dev) |
822 | { |
822 | { |
823 | struct intel_encoder *encoder; |
823 | struct intel_encoder *encoder; |
824 | struct intel_lvds_encoder *lvds_encoder; |
824 | struct intel_lvds_encoder *lvds_encoder; |
Line 825... | Line 825... | ||
825 | 825 | ||
826 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, |
- | |
827 | base.head) { |
826 | for_each_intel_encoder(dev, encoder) { |
828 | if (encoder->type == INTEL_OUTPUT_LVDS) { |
827 | if (encoder->type == INTEL_OUTPUT_LVDS) { |
Line 829... | Line 828... | ||
829 | lvds_encoder = to_lvds_encoder(&encoder->base); |
828 | lvds_encoder = to_lvds_encoder(&encoder->base); |
830 | 829 | ||
Line 898... | Line 897... | ||
898 | struct drm_crtc *crtc; |
897 | struct drm_crtc *crtc; |
899 | u32 lvds; |
898 | u32 lvds; |
900 | int pipe; |
899 | int pipe; |
901 | u8 pin; |
900 | u8 pin; |
Line -... | Line 901... | ||
- | 901 | ||
- | 902 | /* |
|
- | 903 | * Unlock registers and just leave them unlocked. Do this before |
|
- | 904 | * checking quirk lists to avoid bogus WARNINGs. |
|
- | 905 | */ |
|
- | 906 | if (HAS_PCH_SPLIT(dev)) { |
|
- | 907 | I915_WRITE(PCH_PP_CONTROL, |
|
- | 908 | I915_READ(PCH_PP_CONTROL) | PANEL_UNLOCK_REGS); |
|
- | 909 | } else { |
|
- | 910 | I915_WRITE(PP_CONTROL, |
|
- | 911 | I915_READ(PP_CONTROL) | PANEL_UNLOCK_REGS); |
|
902 | 912 | } |
|
903 | if (!intel_lvds_supported(dev)) |
913 | if (!intel_lvds_supported(dev)) |
Line 904... | Line 914... | ||
904 | return; |
914 | return; |
905 | 915 | ||
Line 1096... | Line 1106... | ||
1096 | lvds_encoder->is_dual_link ? "dual" : "single"); |
1106 | lvds_encoder->is_dual_link ? "dual" : "single"); |
Line 1097... | Line 1107... | ||
1097 | 1107 | ||
1098 | lvds_encoder->a3_power = I915_READ(lvds_encoder->reg) & |
1108 | lvds_encoder->a3_power = I915_READ(lvds_encoder->reg) & |
Line 1099... | Line -... | ||
1099 | LVDS_A3_POWER_MASK; |
- | |
1100 | - | ||
1101 | /* |
- | |
1102 | * Unlock registers and just |
- | |
1103 | * leave them unlocked |
- | |
1104 | */ |
- | |
1105 | if (HAS_PCH_SPLIT(dev)) { |
- | |
1106 | I915_WRITE(PCH_PP_CONTROL, |
- | |
1107 | I915_READ(PCH_PP_CONTROL) | PANEL_UNLOCK_REGS); |
- | |
1108 | } else { |
- | |
1109 | I915_WRITE(PP_CONTROL, |
- | |
1110 | I915_READ(PP_CONTROL) | PANEL_UNLOCK_REGS); |
1109 | LVDS_A3_POWER_MASK; |
Line 1111... | Line 1110... | ||
1111 | } |
1110 | |
1112 | drm_connector_register(connector); |
1111 | drm_connector_register(connector); |
Line 1113... | Line 1112... | ||
1113 | 1112 | ||
Line 1114... | Line 1113... | ||
1114 | intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode); |
1113 | intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode); |
1115 | intel_panel_setup_backlight(connector); |
1114 | intel_panel_setup_backlight(connector, INVALID_PIPE); |