Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp962444imm; Wed, 18 Jul 2018 13:57:52 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfG9qGpKE3TmXOeLIqxU32yEYHegkYe/XmoFX1UP3MzpxFF8qhH7tkEbpsmua7jBnSWlj/c X-Received: by 2002:a17:902:b609:: with SMTP id b9-v6mr7321459pls.106.1531947472586; Wed, 18 Jul 2018 13:57:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531947472; cv=none; d=google.com; s=arc-20160816; b=WaLKnzZswB65nSKPbod+9pQy4y2cp75EP0rhWqBbRnlMQ6mI+chWnclVRfyrjVQ/s8 /MpbiLR1q5wR+JK4wErIai9M3XFQHv8zOyGwjzU/+wCDa2ncHT1bGwsaxMBRH5TOC41y z6UvdC4OLR0qg3uQTxuN6ZZpQgwi2wqIRcUKCaljsPRbFJjVDDsRHxS2k1FvK3CXHAIk 6C3lg05G8czOSPoJf1fTYpqPuCjamVYUZ/auG6OldrOCrEGQYJlik2TeXzau1Luqvnc0 /Jg05LLQjIhizfLbvOHFhn3QomiGtLQd81NghYF+7JXwwyPXsEVE5gvO0PWWUWgabGc1 nFuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=66JhJcC8hl03JzXdxCR2wB2Qnm1fEwGAp2bTqpDoYkI=; b=XK1SUWEFam5KDUPrZERAfATua7KpekSNWBV18e6v4wtfToRZhGSNiVzVBXEZ/cD6aO RcOTjGjnsme2fgchSe3r5wZBLDM5Iolr9a3OHcwomz3v1tXfn9XvkITRcl0MnVhkjvoQ 5hwZ96WvN8bxuLtNGr2Fx/fn5d35W4fZhXPPJ0PxNCMLpcy1gh82j3eBBH/H/LKGgGOu 4KSjGJEA0a6maSUcPtBOVBA8XfJE7vuo5o8kSGnW1/6CW0xY0wtrThZIRVF6rOBG8TRc AZ6IImXs+wLf1vw6OHQWT7NRYaehF7OkahpCU1UjwxBosd2ozFlY2iNBzp3KCM25YAVP iBmQ== 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 d128-v6si4412143pfc.211.2018.07.18.13.57.37; Wed, 18 Jul 2018 13:57:52 -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 S1729989AbeGRVg3 (ORCPT + 99 others); Wed, 18 Jul 2018 17:36:29 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:58582 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726633AbeGRVg3 (ORCPT ); Wed, 18 Jul 2018 17:36:29 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2D8FB81A4EB7; Wed, 18 Jul 2018 20:56:50 +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 9FE49111E407; Wed, 18 Jul 2018 20:56:47 +0000 (UTC) From: Lyude Paul To: nouveau@lists.freedesktop.org Cc: "David Airlie" , "Daniel Vetter" , "Sean Paul" , "Maarten Lankhorst" , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, "Ben Skeggs" , "Gustavo Padovan" , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , "Lyude Paul" Subject: [PATCH 0/2] Fix connector probing deadlocks from RPM bugs Date: Wed, 18 Jul 2018 16:56:38 -0400 Message-Id: <20180718205645.25924-1-lyude@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 18 Jul 2018 20:56:50 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 18 Jul 2018 20:56:50 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lyude@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a trimmed down version of https://patchwork.freedesktop.org/series/46637/ with all of the review comments addressed. The last version of this series had fixes for the i2c and DP aux busses to ensure that the GPU would be turned on whenever anything tried to access the i2c/aux busses. Unfortunately: one of the fixes apparently contained some very incorrect usage of Linux's runtime PM interface in order to prevent runtime suspend/resume requests coming from within nouveau's suspend/resume callbacks from deadlocking the system. Turns out: fixing the i2c/dp aux problem is a lot harder then I originally anticipated. We either need to come up with helpers for DRM that work around the PM core, which is really not ideal, or come up with a new feature for the RPM core that allows us to inhibit suspend/resume callbacks. The former seems to be somewhat trivial to implement, but coming up with a decent interface for that is going to take a bit more time and I'd much rather have issues causing deadlocks get fixed first. This means that drm_dp_aux_dev is going to be broken on nouveau for laptops with hybrid GPUs using RPM, but it was already broken before anyhow. So: this just contains the seriously important fixes that will stop people's machines from crashing very hard. Hopefully I can come up with a solution to the i2c/aux problem soon after fixing some other glaring MST bugs nouveau currently has. Lyude Paul (2): drm/fb_helper: Add drm_fb_helper_output_poll_changed_with_rpm() drm/probe_helper: Add drm_helper_probe_single_connector_modes_with_rpm() drivers/gpu/drm/drm_fb_helper.c | 23 +++++++++++++++ drivers/gpu/drm/drm_probe_helper.c | 31 +++++++++++++++++++++ drivers/gpu/drm/nouveau/dispnv50/disp.c | 4 +-- drivers/gpu/drm/nouveau/nouveau_connector.c | 4 +-- include/drm/drm_crtc_helper.h | 7 +++-- include/drm/drm_fb_helper.h | 5 ++++ 6 files changed, 67 insertions(+), 7 deletions(-) -- 2.17.1