diff options
author | Ville Syrjälä | 2014-03-03 15:15:28 +0100 |
---|---|---|
committer | Daniel Vetter | 2014-03-10 21:33:26 +0100 |
commit | bc079e8b1684e1de505ec06f8c2339ae60a329e8 (patch) | |
tree | bcdd88e98b1e4126350a2abc929267e425ad21b1 /drivers/gpu/drm/i915/intel_drv.h | |
parent | drm/i915: move dev_priv->suspend around (diff) | |
download | kernel-qcow2-linux-bc079e8b1684e1de505ec06f8c2339ae60a329e8.tar.gz kernel-qcow2-linux-bc079e8b1684e1de505ec06f8c2339ae60a329e8.tar.xz kernel-qcow2-linux-bc079e8b1684e1de505ec06f8c2339ae60a329e8.zip |
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_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 5360d1628263..2546cae0b4f0 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -125,11 +125,7 @@ struct intel_encoder { struct intel_crtc *new_crtc; int type; - /* - * Intel hw has only one MUX where encoders could be clone, hence a - * simple flag is enough to compute the possible_clones mask. - */ - bool cloneable; + unsigned int cloneable; bool connectors_active; void (*hot_plug)(struct intel_encoder *); bool (*compute_config)(struct intel_encoder *, |