From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 11/11] HACK: i915: avoid with fbdev init warning doesn't seem to matter Date: Thu, 5 Jun 2014 14:01:38 +1000 Message-ID: <1401940898-2825-12-git-send-email-airlied@gmail.com> References: <1401940898-2825-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1401940898-2825-1-git-send-email-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org From: Dave Airlie --- drivers/gpu/drm/i915/intel_dp_mst.c | 10 ++++++++++ drivers/gpu/drm/i915/intel_fbdev.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index a7db741..ddac87f 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 1949350..289c72a 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; -- 1.9.3