diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2014-03-03 09:15:28 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-10 16:33:26 -0400 |
commit | bc079e8b1684e1de505ec06f8c2339ae60a329e8 (patch) | |
tree | bcdd88e98b1e4126350a2abc929267e425ad21b1 /drivers/gpu/drm/i915/intel_tv.c | |
parent | 842f1c8b7649f92b25e91f75e3bcdcf94daa77e8 (diff) |
drm/i915: Make encoder cloning more flexible
Currently we allow encoders to indicate whether they can be part of a
cloned set with just one flag. That's not flexible enough to describe
the actual hardware capabilities. Instead make it a bitmask of encoder
types with which the current encoder can be cloned.
For now we set the bitmask to allow DVO+DVO and DVO+VGA, which should
match what the old boolean flag allowed. We will add some more cloning
options in the future.
Note that this patch also removes the encoder.possible_clones setting
from encoder setup code - we compute this dynamically.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
[danvet: Add Ville's explanation why removing the encoder
possible_clones is save.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_tv.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_tv.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index b64fc1c6ff3f..5be4ab218054 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c | |||
@@ -1639,9 +1639,8 @@ intel_tv_init(struct drm_device *dev) | |||
1639 | intel_connector_attach_encoder(intel_connector, intel_encoder); | 1639 | intel_connector_attach_encoder(intel_connector, intel_encoder); |
1640 | intel_encoder->type = INTEL_OUTPUT_TVOUT; | 1640 | intel_encoder->type = INTEL_OUTPUT_TVOUT; |
1641 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); | 1641 | intel_encoder->crtc_mask = (1 << 0) | (1 << 1); |
1642 | intel_encoder->cloneable = false; | 1642 | intel_encoder->cloneable = 0; |
1643 | intel_encoder->base.possible_crtcs = ((1 << 0) | (1 << 1)); | 1643 | intel_encoder->base.possible_crtcs = ((1 << 0) | (1 << 1)); |
1644 | intel_encoder->base.possible_clones = (1 << INTEL_OUTPUT_TVOUT); | ||
1645 | intel_tv->type = DRM_MODE_CONNECTOR_Unknown; | 1644 | intel_tv->type = DRM_MODE_CONNECTOR_Unknown; |
1646 | 1645 | ||
1647 | /* BIOS margin values */ | 1646 | /* BIOS margin values */ |