Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp4166652imm; Mon, 8 Oct 2018 16:25:39 -0700 (PDT) X-Google-Smtp-Source: ACcGV61lmtLM4IzC2KsnScfc7OHfYsVJAt5DDYje3S2HL1e7VeXzkKwV7TeDsiFbbzvEGkLBRxBy X-Received: by 2002:a63:6ec4:: with SMTP id j187-v6mr23445648pgc.3.1539041139475; Mon, 08 Oct 2018 16:25:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539041139; cv=none; d=google.com; s=arc-20160816; b=e0sndCb+FtQtWMCmmUGBtCOoIAFr43FeGRn0RL2C1s1QbFzU3dT6AYsCy+flA0/+IO 4h/nTNM2V+JjxqHOM5OtsuxZgG9JBcAyLJQOlVQIeiW2us0gWz/EM4QnSzvSwyhl91Gx 5CAHGp5/kpgLwOn2pAozTLiX94GFuZxxF/InX3wsbkDniQBQw8zX8OBrqHEdl0g+1ALC 2PlMJj/Xn4U+Gyszi79zIH18qO6gQUcNhMmKj8mVbD/weakE1+iVHcgeoGmLxSWHP/S9 83eEcUtssRWJg1Xem2z7DNgn6DemxcjZDohdvpTNnrsA9UBactEIW4WD6ZoIiXaDTdhi OFhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=89ll2cn5Njr9TnWFKDrPGy03r+qRHQx+0ytXZqBG6JA=; b=p3fOug2n97nPptNt7/Zwo/i+4v1B/sk2V2zEPAn6hHRp21tcGijHi+ytDEbxuwUP0y /CyqkF5Tw6EZNOxr7Xl1Sa/NXQKyD3YNX57cer8RJ3+W9nmodWQx6VSivR5MLoQTTs1Z xpmztq1nhPAL+LSI1OaV91kbbS7pi68uIwgQJNVi5UzZwDhxzSIxntnLIRaKu+RRK9pE Em2mpPHzvshjf0hrXwlq77mf2TSvM4VNbujFH2sPFV6aQ9pyH0a2p+rqFN58v0tIrejm Amr5ADiMvoLDZkp7KFPN65HQlIfh484lJXmZi/o4bgivbU1jJuLK7T5yFVjOq44WrGsk LOlw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w124-v6si21501180pfw.145.2018.10.08.16.25.25; Mon, 08 Oct 2018 16:25:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726830AbeJIGjF (ORCPT + 99 others); Tue, 9 Oct 2018 02:39:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33058 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726492AbeJIGjF (ORCPT ); Tue, 9 Oct 2018 02:39:05 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 34FF830001D8; Mon, 8 Oct 2018 23:24:59 +0000 (UTC) Received: from malachite.bss.redhat.com (dhcp-10-20-1-11.bss.redhat.com [10.20.1.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2E34E6888C; Mon, 8 Oct 2018 23:24:58 +0000 (UTC) From: Lyude Paul To: intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: stable@vger.kernel.org, Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , David Airlie , linux-kernel@vger.kernel.org Subject: [PATCH v7 5/5] drm/i915: Fix intel_dp_mst_best_encoder() Date: Mon, 8 Oct 2018 19:24:34 -0400 Message-Id: <20181008232437.5571-6-lyude@redhat.com> In-Reply-To: <20181008232437.5571-1-lyude@redhat.com> References: <20181008232437.5571-1-lyude@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Mon, 08 Oct 2018 23:24:59 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, i915 appears to rely on blocking modesets on no-longer-present MSTB ports by simply returning NULL for ->best_encoder(), which in turn causes any new atomic commits that don't disable the CRTC to fail. This is wrong however, since we still want to allow userspace to disable CRTCs on no-longer-present MSTB ports by changing the DPMS state to off and this still requires that we retrieve an encoder. So, fix this by always returning a valid encoder regardless of the state of the MST port. Changes since v1: - Remove mst atomic helper, since this got replaced with a much simpler solution Signed-off-by: Lyude Paul Reviewed-by: Daniel Vetter Cc: stable@vger.kernel.org --- drivers/gpu/drm/i915/intel_dp_mst.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 0f14c0d1669c..7f155b4f1a7d 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c @@ -404,8 +404,6 @@ static struct drm_encoder *intel_mst_atomic_best_encoder(struct drm_connector *c struct intel_dp *intel_dp = intel_connector->mst_port; struct intel_crtc *crtc = to_intel_crtc(state->crtc); - if (!READ_ONCE(connector->registered)) - return NULL; return &intel_dp->mst_encoders[crtc->pipe]->base.base; } -- 2.17.1