aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_hdmi.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2014-03-03 09:15:31 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-10 16:48:20 -0400
commitc6f1495d4c20cfc48ef3527012c31b46527f3839 (patch)
tree0401e69a3192950b4f2eaa558d973e74409cfcda /drivers/gpu/drm/i915/intel_hdmi.c
parent301ea74a57851c19e1438ceeaffab663f402f79f (diff)
drm/i915: Allow HDMI+HDMI cloning on g4x
BSpec is a bit unclear whether HDMI+HDMI cloning should work on g4x. Tests on real hardware say that it does. Since g4x can't send infoframes to more than one HDMI port anyway, we don't lose anything by allow it. For PCH platforms BSpec explicitly forbids HDMI+HDMI cloning. Whether HDMI+HDMI cloning might also work on VLV is a bit unclear, but since we'd at least lose the capability of sending infoframes to more than one cloned HDMI port, it doesn't seem like a good idea to allow it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73850 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 6e806c668538..b0413e190625 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1344,6 +1344,13 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port)
1344 intel_encoder->type = INTEL_OUTPUT_HDMI; 1344 intel_encoder->type = INTEL_OUTPUT_HDMI;
1345 intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); 1345 intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2);
1346 intel_encoder->cloneable = 1 << INTEL_OUTPUT_ANALOG; 1346 intel_encoder->cloneable = 1 << INTEL_OUTPUT_ANALOG;
1347 /*
1348 * BSpec is unclear about HDMI+HDMI cloning on g4x, but it seems
1349 * to work on real hardware. And since g4x can send infoframes to
1350 * only one port anyway, nothing is lost by allowing it.
1351 */
1352 if (IS_G4X(dev))
1353 intel_encoder->cloneable |= 1 << INTEL_OUTPUT_HDMI;
1347 1354
1348 intel_dig_port->port = port; 1355 intel_dig_port->port = port;
1349 intel_dig_port->hdmi.hdmi_reg = hdmi_reg; 1356 intel_dig_port->hdmi.hdmi_reg = hdmi_reg;