diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2015-09-18 13:03:34 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-09-30 04:20:18 -0400 |
commit | e66eb81de2ff8228cc888946f2c1e307d5b19373 (patch) | |
tree | bbf9e86c3d9c93f0fefbcbe7a1e7d396af93b834 | |
parent | 0b87c24ea5ec9e950aaa0c933fa739a95aa43555 (diff) |
drm/i915: Add VLV_HDMIB etc. which already include VLV_DISPLAY_BASE
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 27 |
2 files changed, 19 insertions, 16 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 2c3f8b3dd29a..59124a5714a9 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -3274,7 +3274,9 @@ enum skl_disp_power_wells { | |||
3274 | #define GEN3_SDVOC 0x61160 | 3274 | #define GEN3_SDVOC 0x61160 |
3275 | #define GEN4_HDMIB GEN3_SDVOB | 3275 | #define GEN4_HDMIB GEN3_SDVOB |
3276 | #define GEN4_HDMIC GEN3_SDVOC | 3276 | #define GEN4_HDMIC GEN3_SDVOC |
3277 | #define CHV_HDMID 0x6116C | 3277 | #define VLV_HDMIB (VLV_DISPLAY_BASE + GEN4_HDMIB) |
3278 | #define VLV_HDMIC (VLV_DISPLAY_BASE + GEN4_HDMIC) | ||
3279 | #define CHV_HDMID (VLV_DISPLAY_BASE + 0x6116C) | ||
3278 | #define PCH_SDVOB 0xe1140 | 3280 | #define PCH_SDVOB 0xe1140 |
3279 | #define PCH_HDMIB PCH_SDVOB | 3281 | #define PCH_HDMIB PCH_SDVOB |
3280 | #define PCH_HDMIC 0xe1150 | 3282 | #define PCH_HDMIC 0xe1150 |
@@ -4103,6 +4105,10 @@ enum skl_disp_power_wells { | |||
4103 | #define DP_C 0x64200 | 4105 | #define DP_C 0x64200 |
4104 | #define DP_D 0x64300 | 4106 | #define DP_D 0x64300 |
4105 | 4107 | ||
4108 | #define VLV_DP_B (VLV_DISPLAY_BASE + DP_B) | ||
4109 | #define VLV_DP_C (VLV_DISPLAY_BASE + DP_C) | ||
4110 | #define CHV_DP_D (VLV_DISPLAY_BASE + DP_D) | ||
4111 | |||
4106 | #define DP_PORT_EN (1 << 31) | 4112 | #define DP_PORT_EN (1 << 31) |
4107 | #define DP_PIPEB_SELECT (1 << 30) | 4113 | #define DP_PIPEB_SELECT (1 << 30) |
4108 | #define DP_PIPE_MASK (1 << 30) | 4114 | #define DP_PIPE_MASK (1 << 30) |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 86f5a6ef11d8..91dba4f65d2b 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -14050,29 +14050,26 @@ static void intel_setup_outputs(struct drm_device *dev) | |||
14050 | * eDP ports. Consult the VBT as well as DP_DETECTED to | 14050 | * eDP ports. Consult the VBT as well as DP_DETECTED to |
14051 | * detect eDP ports. | 14051 | * detect eDP ports. |
14052 | */ | 14052 | */ |
14053 | if (I915_READ(VLV_DISPLAY_BASE + GEN4_HDMIB) & SDVO_DETECTED && | 14053 | if (I915_READ(VLV_HDMIB) & SDVO_DETECTED && |
14054 | !intel_dp_is_edp(dev, PORT_B)) | 14054 | !intel_dp_is_edp(dev, PORT_B)) |
14055 | intel_hdmi_init(dev, VLV_DISPLAY_BASE + GEN4_HDMIB, | 14055 | intel_hdmi_init(dev, VLV_HDMIB, PORT_B); |
14056 | PORT_B); | 14056 | if (I915_READ(VLV_DP_B) & DP_DETECTED || |
14057 | if (I915_READ(VLV_DISPLAY_BASE + DP_B) & DP_DETECTED || | ||
14058 | intel_dp_is_edp(dev, PORT_B)) | 14057 | intel_dp_is_edp(dev, PORT_B)) |
14059 | intel_dp_init(dev, VLV_DISPLAY_BASE + DP_B, PORT_B); | 14058 | intel_dp_init(dev, VLV_DP_B, PORT_B); |
14060 | 14059 | ||
14061 | if (I915_READ(VLV_DISPLAY_BASE + GEN4_HDMIC) & SDVO_DETECTED && | 14060 | if (I915_READ(VLV_HDMIC) & SDVO_DETECTED && |
14062 | !intel_dp_is_edp(dev, PORT_C)) | 14061 | !intel_dp_is_edp(dev, PORT_C)) |
14063 | intel_hdmi_init(dev, VLV_DISPLAY_BASE + GEN4_HDMIC, | 14062 | intel_hdmi_init(dev, VLV_HDMIC, PORT_C); |
14064 | PORT_C); | 14063 | if (I915_READ(VLV_DP_C) & DP_DETECTED || |
14065 | if (I915_READ(VLV_DISPLAY_BASE + DP_C) & DP_DETECTED || | ||
14066 | intel_dp_is_edp(dev, PORT_C)) | 14064 | intel_dp_is_edp(dev, PORT_C)) |
14067 | intel_dp_init(dev, VLV_DISPLAY_BASE + DP_C, PORT_C); | 14065 | intel_dp_init(dev, VLV_DP_C, PORT_C); |
14068 | 14066 | ||
14069 | if (IS_CHERRYVIEW(dev)) { | 14067 | if (IS_CHERRYVIEW(dev)) { |
14070 | if (I915_READ(VLV_DISPLAY_BASE + CHV_HDMID) & SDVO_DETECTED) | ||
14071 | intel_hdmi_init(dev, VLV_DISPLAY_BASE + CHV_HDMID, | ||
14072 | PORT_D); | ||
14073 | /* eDP not supported on port D, so don't check VBT */ | 14068 | /* eDP not supported on port D, so don't check VBT */ |
14074 | if (I915_READ(VLV_DISPLAY_BASE + DP_D) & DP_DETECTED) | 14069 | if (I915_READ(CHV_HDMID) & SDVO_DETECTED) |
14075 | intel_dp_init(dev, VLV_DISPLAY_BASE + DP_D, PORT_D); | 14070 | intel_hdmi_init(dev, CHV_HDMID, PORT_D); |
14071 | if (I915_READ(CHV_DP_D) & DP_DETECTED) | ||
14072 | intel_dp_init(dev, CHV_DP_D, PORT_D); | ||
14076 | } | 14073 | } |
14077 | 14074 | ||
14078 | intel_dsi_init(dev); | 14075 | intel_dsi_init(dev); |