From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: [PATCH] drm/fb-helper: Blacklist writeback when adding connectors to fbdev Date: Thu, 15 Nov 2018 17:32:48 +0100 Message-ID: <20181115163248.21168-1-paul.kocialkowski@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id E4B586E65B for ; Thu, 15 Nov 2018 16:34:15 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Maxime Ripard , Boris Brezillon , Paul Kocialkowski , David Airlie , Thomas Petazzoni , Sean Paul List-Id: dri-devel@lists.freedesktop.org V3JpdGViYWNrIGNvbm5lY3RvcnMgZG8gbm90IHByb2R1Y2UgYW55IG9uLXNjcmVlbiBvdXRwdXQg YW5kIHJlcXVpcmUKc3BlY2lhbCBjYXJlIGZvciB1c2UuIFN1Y2ggY29ubmVjdG9ycyBhcmUgaGlk ZGVuIGZyb20gZW51bWVyYXRpb24gaW4KRFJNIHJlc291cmNlcyBieSBkZWZhdWx0LCBidXQgdGhl eSBhcmUgc3RpbGwgcGlja2VkLXVwIGJ5IGZiZGV2LgpUaGlzIG1ha2VzIHJhdGhlciBsaXR0bGUg c2Vuc2Ugc2luY2UgZmJkZXYgaXMgbm90IHJlYWxseSBhZGFwdGVkIGZvcgpkZWFsaW5nIHdpdGgg d3JpdGViYWNrLgoKTW9yZW92ZXIsIHRoaXMgaXMgYWxzbyBhIHNvdXJjZSBvZiBpc3N1ZXMgd2hl biB1c2Vyc3BhY2UgZGlzYWJsZXMgdGhlCkNSVEMgKGFuZCBhc3NvY2lhdGVkIHBsYW5lKSB3aXRo b3V0IGRldGFjaGluZyB0aGUgQ1JUQyBmcm9tIHRoZQpjb25uZWN0b3IgKHdoaWNoIGlzIGhpZGRl biBieSBkZWZhdWx0KS4gSW4gdGhpcyBjYXNlLCB0aGUgY29ubmVjdG9yIGlzCnN0aWxsIHVzaW5n IHRoZSBDUlRDLCBsZWFkaW5nIHRvIGFtICJlbmFibGVkL2Nvbm5lY3RvcnMgbWlzbWF0Y2giIGFu ZApldmVudHVhbGx5IHRoZSBmYWlsdXJlIG9mIHRoZSBhc3NvY2lhdGVkIGF0b21pYyBjb21taXQu IFRoaXMgc2l0dWF0aW9uCmhhcHBlbnMgd2l0aCBWQzQgdGVzdGluZyB1bmRlciBJR1QgR1BVIFRv b2xzLgoKRmlsdGVyIG91dCB3cml0ZWJhY2sgY29ubmVjdG9ycyBpbiB0aGUgZmJkZXYgaGVscGVy IHRvIHNvbHZlIHRoaXMuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEtvY2lhbGtvd3NraSA8cGF1bC5r b2NpYWxrb3dza2lAYm9vdGxpbi5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxw ZXIuYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZmJfaGVscGVyLmMKaW5kZXggYTUwMmYzZTUxOWZkLi5kZDg1MmEyNWQzNzUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9mYl9oZWxwZXIuYwpAQCAtMjE5LDYgKzIxOSw5IEBAIGludCBkcm1fZmJfaGVscGVyX3Npbmds ZV9hZGRfYWxsX2Nvbm5lY3RvcnMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAlt dXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2Jl Z2luKGRldiwgJmNvbm5faXRlcik7CiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5l Y3RvciwgJmNvbm5faXRlcikgeworCQlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBE Uk1fTU9ERV9DT05ORUNUT1JfV1JJVEVCQUNLKQorCQkJY29udGludWU7CisKIAkJcmV0ID0gX19k cm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9yKGZiX2hlbHBlciwgY29ubmVjdG9yKTsKIAkJ aWYgKHJldCkKIAkJCWdvdG8gZmFpbDsKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8810C43441 for ; Thu, 15 Nov 2018 16:34:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 809FA2086C for ; Thu, 15 Nov 2018 16:34:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 809FA2086C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388671AbeKPCms (ORCPT ); Thu, 15 Nov 2018 21:42:48 -0500 Received: from mail.bootlin.com ([62.4.15.54]:48589 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726910AbeKPCms (ORCPT ); Thu, 15 Nov 2018 21:42:48 -0500 Received: by mail.bootlin.com (Postfix, from userid 110) id ED4592084B; Thu, 15 Nov 2018 17:34:14 +0100 (CET) Received: from localhost.localdomain (aaubervilliers-681-1-13-146.w90-88.abo.wanadoo.fr [90.88.134.146]) by mail.bootlin.com (Postfix) with ESMTPSA id 3B3D52072C; Thu, 15 Nov 2018 17:33:31 +0100 (CET) From: Paul Kocialkowski To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Maarten Lankhorst , Maxime Ripard , Sean Paul , David Airlie , Thomas Petazzoni , Eric Anholt , Boris Brezillon , Paul Kocialkowski Subject: [PATCH] drm/fb-helper: Blacklist writeback when adding connectors to fbdev Date: Thu, 15 Nov 2018 17:32:48 +0100 Message-Id: <20181115163248.21168-1-paul.kocialkowski@bootlin.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Writeback connectors do not produce any on-screen output and require special care for use. Such connectors are hidden from enumeration in DRM resources by default, but they are still picked-up by fbdev. This makes rather little sense since fbdev is not really adapted for dealing with writeback. Moreover, this is also a source of issues when userspace disables the CRTC (and associated plane) without detaching the CRTC from the connector (which is hidden by default). In this case, the connector is still using the CRTC, leading to am "enabled/connectors mismatch" and eventually the failure of the associated atomic commit. This situation happens with VC4 testing under IGT GPU Tools. Filter out writeback connectors in the fbdev helper to solve this. Signed-off-by: Paul Kocialkowski --- drivers/gpu/drm/drm_fb_helper.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index a502f3e519fd..dd852a25d375 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -219,6 +219,9 @@ int drm_fb_helper_single_add_all_connectors(struct drm_fb_helper *fb_helper) mutex_lock(&fb_helper->lock); drm_connector_list_iter_begin(dev, &conn_iter); drm_for_each_connector_iter(connector, &conn_iter) { + if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK) + continue; + ret = __drm_fb_helper_add_one_connector(fb_helper, connector); if (ret) goto fail; -- 2.19.1