summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2014-05-30 16:03:37 +1000
committerDave Airlie <airlied@redhat.com>2014-06-18 14:09:56 +1000
commitd58cdb37af9b703b2125df4975d12ab50dd88599 (patch)
treed2c5e453c0f0b9d36258fdf84f651d3bfafdcf74
parenta9df4a3ce5f6ed2ff1049e73fafc93d6d19ce499 (diff)
HACK: i915: avoid with fbdev init warningdrm-i915-mst-support
doesn't seem to matter
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c10
-rw-r--r--drivers/gpu/drm/i915/intel_fbdev.c2
2 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index a7db741ecfd4..ddac87f061f9 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -346,6 +346,16 @@ struct drm_encoder *intel_mst_best_encoder(struct drm_connector *connector)
{
struct intel_connector *intel_connector = to_intel_connector(connector);
struct intel_dp *intel_dp = intel_connector->mst_port;
+ int i;
+
+ /* try and pick the enabled one if there is one -
+ stops intel_fbdev getting confused */
+ for (i = 0; i < I915_MAX_PIPES; i++) {
+ struct intel_dp_mst_encoder *mst_enc = intel_dp->mst_encoders[i];
+ if (mst_enc->base.base.crtc) {
+ return &intel_dp->mst_encoders[i]->base.base;
+ }
+ }
return &intel_dp->mst_encoders[0]->base.base;
}
diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
index 953924044fc8..7ef42b7fd26c 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -354,7 +354,7 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
connector_funcs = connector->helper_private;
encoder = connector_funcs->best_encoder(connector);
}
- if (!encoder || WARN_ON(!encoder->crtc)) {
+ if (!encoder || !encoder->crtc) {
DRM_DEBUG_KMS("connector %s has no encoder or crtc, skipping\n",
connector->name);
enabled[i] = false;