From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: WARNING: CPU: 4 PID: 863 at include/drm/drm_crtc.h:1577 drm_helper_choose_encoder_dpms+0x88/0x90() Date: Wed, 23 Sep 2015 16:44:50 +0200 Message-ID: <20150923144450.GD3383@phenom.ffwll.local> References: <20150921133126.GA25475@nazgul.tnic> <20150922202105.GB3453@pd.tnic> <20150923072523.GB3383@phenom.ffwll.local> <20150923085950.GA3440@pd.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by gabe.freedesktop.org (Postfix) with ESMTPS id E18696E2B9 for ; Wed, 23 Sep 2015 07:41:59 -0700 (PDT) Received: by wicgb1 with SMTP id gb1so209048649wic.1 for ; Wed, 23 Sep 2015 07:41:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150923085950.GA3440@pd.tnic> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Borislav Petkov Cc: lkml , Maling list - DRI developers , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBTZXAgMjMsIDIwMTUgYXQgMTA6NTk6NTFBTSArMDIwMCwgQm9yaXNsYXYgUGV0a292 IHdyb3RlOgo+IE9uIFdlZCwgU2VwIDIzLCAyMDE1IGF0IDA5OjI1OjIzQU0gKzAyMDAsIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gPiBTdHJhbmdlIHRoaW5nIGlzIHRoYXQgSSd2ZSB0ZXN0ZWQgdGhp cyBvbiBhIHJhZGVvbiBvdmVyIGhlcmUgYW5kIEkgZG9uJ3QKPiA+IHNlZSB0aGlzIGJhY2t0cmFj ZSAuLi4gd3V0LiBCZWxvdyBkaWZmIHNob3VsZCBhcHBlYXNlIHRoZSBiYWNrdHJhY2VzIGF0Cj4g PiBsZWFzdC4KPiAKPiBEb2Vzbid0IGxvb2sgbGlrZSBpdC4KCnNvcnJ5IEkgc3ByaW5rbGVkIHRo ZSBsb2NraW5nIHN0dWZmIGluIHRoZSB3cm9uZyBwbGFjZXMuIFN0aWxsIGNvbmZ1c2VkCndoeSB0 aGUgcmVzdW1lIHNpZGUgZG9lc24ndCBibG93IHVwIGFueXdoZXJlIC4uLiBPaCB3ZWxsLiBOZXcg cGF0Y2ggYmVsb3cuCgpUaGFua3MsIERhbmllbAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f ZGV2aWNlLmMKaW5kZXggZDgzMTlkYWU4MzU4Li5mM2Y1NjJmNmQ4NDggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2RldmljZS5jCkBAIC0xNTczLDEwICsxNTczLDEyIEBAIGludCByYWRl b25fc3VzcGVuZF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBzdXNwZW5kLCBib29s IGZiY29uKQogCiAJZHJtX2ttc19oZWxwZXJfcG9sbF9kaXNhYmxlKGRldik7CiAKKwlkcm1fbW9k ZXNldF9sb2NrX2FsbChkZXYpOwogCS8qIHR1cm4gb2ZmIGRpc3BsYXkgaHcgKi8KIAlsaXN0X2Zv cl9lYWNoX2VudHJ5KGNvbm5lY3RvciwgJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3Qs IGhlYWQpIHsKIAkJZHJtX2hlbHBlcl9jb25uZWN0b3JfZHBtcyhjb25uZWN0b3IsIERSTV9NT0RF X0RQTVNfT0ZGKTsKIAl9CisJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwogCiAJLyogdW5w aW4gdGhlIGZyb250IGJ1ZmZlcnMgYW5kIGN1cnNvcnMgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGNydGMsICZkZXYtPm1vZGVfY29uZmlnLmNydGNfbGlzdCwgaGVhZCkgewpAQCAtMTczNCw5ICsx NzM2LDExIEBAIGludCByYWRlb25fcmVzdW1lX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBi b29sIHJlc3VtZSwgYm9vbCBmYmNvbikKIAlpZiAoZmJjb24pIHsKIAkJZHJtX2hlbHBlcl9yZXN1 bWVfZm9yY2VfbW9kZShkZXYpOwogCQkvKiB0dXJuIG9uIGRpc3BsYXkgaHcgKi8KKwkJZHJtX21v ZGVzZXRfbG9ja19hbGwoZGV2KTsKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeShjb25uZWN0b3IsICZk ZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0LCBoZWFkKSB7CiAJCQlkcm1faGVscGVyX2Nv bm5lY3Rvcl9kcG1zKGNvbm5lY3RvciwgRFJNX01PREVfRFBNU19PTik7CiAJCX0KKwkJZHJtX21v ZGVzZXRfdW5sb2NrX2FsbChkZXYpOwogCX0KIAogCWRybV9rbXNfaGVscGVyX3BvbGxfZW5hYmxl KGRldik7Ci0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755200AbbIWOmC (ORCPT ); Wed, 23 Sep 2015 10:42:02 -0400 Received: from mail-wi0-f172.google.com ([209.85.212.172]:33282 "EHLO mail-wi0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754784AbbIWOl7 (ORCPT ); Wed, 23 Sep 2015 10:41:59 -0400 Date: Wed, 23 Sep 2015 16:44:50 +0200 From: Daniel Vetter To: Borislav Petkov Cc: Daniel Vetter , Alex Deucher , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= , Maling list - DRI developers , lkml Subject: Re: WARNING: CPU: 4 PID: 863 at include/drm/drm_crtc.h:1577 drm_helper_choose_encoder_dpms+0x88/0x90() Message-ID: <20150923144450.GD3383@phenom.ffwll.local> Mail-Followup-To: Borislav Petkov , Alex Deucher , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= , Maling list - DRI developers , lkml References: <20150921133126.GA25475@nazgul.tnic> <20150922202105.GB3453@pd.tnic> <20150923072523.GB3383@phenom.ffwll.local> <20150923085950.GA3440@pd.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150923085950.GA3440@pd.tnic> X-Operating-System: Linux phenom 4.1.0-2-amd64 User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Sep 23, 2015 at 10:59:51AM +0200, Borislav Petkov wrote: > On Wed, Sep 23, 2015 at 09:25:23AM +0200, Daniel Vetter wrote: > > Strange thing is that I've tested this on a radeon over here and I don't > > see this backtrace ... wut. Below diff should appease the backtraces at > > least. > > Doesn't look like it. sorry I sprinkled the locking stuff in the wrong places. Still confused why the resume side doesn't blow up anywhere ... Oh well. New patch below. Thanks, Daniel diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index d8319dae8358..f3f562f6d848 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c @@ -1573,10 +1573,12 @@ int radeon_suspend_kms(struct drm_device *dev, bool suspend, bool fbcon) drm_kms_helper_poll_disable(dev); + drm_modeset_lock_all(dev); /* turn off display hw */ list_for_each_entry(connector, &dev->mode_config.connector_list, head) { drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); } + drm_modeset_unlock_all(dev); /* unpin the front buffers and cursors */ list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { @@ -1734,9 +1736,11 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon) if (fbcon) { drm_helper_resume_force_mode(dev); /* turn on display hw */ + drm_modeset_lock_all(dev); list_for_each_entry(connector, &dev->mode_config.connector_list, head) { drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); } + drm_modeset_unlock_all(dev); } drm_kms_helper_poll_enable(dev); -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch