Received: by 10.223.185.116 with SMTP id b49csp186938wrg; Thu, 8 Mar 2018 15:23:33 -0800 (PST) X-Google-Smtp-Source: AG47ELsqNEVO5iXGgQhUB2KsjH3WNG2y/yS4KvizPwOlCMjTKON3aP6a/zAf2XP7I7KDZAlKn1Q8 X-Received: by 10.99.128.195 with SMTP id j186mr22448823pgd.15.1520551412999; Thu, 08 Mar 2018 15:23:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520551412; cv=none; d=google.com; s=arc-20160816; b=npemNomNMFbPEXJP8yBfmx/WncYDVsER5qK0SZiPS5qERKMvhQ+Zgtp+iPu3InnlR+ twWs1sO2WMI/gtCDSxNvfwI60QS0iS5M8I2DlTEz9UAIdUQFBl2ahUng2XhzoJhHMLDq We/VGwYMrOuC3p/K/rq32qRJ7DU8puSgBkpM+WG106mWxuG3KZutA5KGK+mEZfxZWQMc A29p1CkLomM7u+FyHWQqHEjntzN0AMkortoK1cmM3S6jJAS9Fi/rc0At2h4e3ekRsMp6 hpUYpuRr13GV0gFu4MewKzoi8VoVd1VrZztmkK9pkALO3k3htCHhTJTqd9Slqu2Suuk8 uuig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=DkZZQpot5aXZJnOeCx+3X2F856GAU7tJhkQ14nOFkIs=; b=CCsvNtUJSWgc5f9c1CHyfeNzhkxBF7oq17rsmjM+UK/Sn51wO7ZaQ/wsIJEe1GbkLg ppWnNVLEJimtxe26YnqkU13/pUOJId/JZbGTD5T7fFZs+4K7zXevVlj3XU2YCxvtBT1Q kfxe6rRURNeonIDtJ5w2m+POKT/ukom911ZLYJ51GbOC6h3Vnj6sVlAywX+1rpgrU2NK CRvMseTdNUyq7mVOuAfrCNrVp2gErL1MjsXvQLyPCCR607OFzozIoG9E27kwQijGEuuB mZEoHhiUyNKwVgUugoCx6jyt2OwfQRQEDYdvgW61Zqw/DmEIYE7f9kvp0ohk62ItYDGj cWEw== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v187si4362pfv.25.2018.03.08.15.23.18; Thu, 08 Mar 2018 15:23:32 -0800 (PST) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751237AbeCHXWP convert rfc822-to-8bit (ORCPT + 99 others); Thu, 8 Mar 2018 18:22:15 -0500 Received: from mailoutvs4.siol.net ([213.250.19.137]:47230 "EHLO mail.siol.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750800AbeCHXWO (ORCPT ); Thu, 8 Mar 2018 18:22:14 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTP id 990CA520A55; Thu, 8 Mar 2018 23:57:43 +0100 (CET) X-Virus-Scanned: amavisd-new at psrvmta09.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta09.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Ph8Gj7yuqRtD; Thu, 8 Mar 2018 23:57:42 +0100 (CET) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTPS id B0DA0520FF2; Thu, 8 Mar 2018 23:57:42 +0100 (CET) Received: from jernej-laptop.localnet (cpe-86-58-68-135.ftth.triera.net [86.58.68.135]) (Authenticated sender: 031275009) by mail.siol.net (Postfix) with ESMTPA id D24F6520A55; Thu, 8 Mar 2018 23:57:40 +0100 (CET) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: =?utf-8?B?T25kxZllag==?= Jirman Cc: maxime.ripard@free-electrons.com, wens@csie.org, airlied@linux.ie, robh+dt@kernel.org, mark.rutland@arm.com, mturquette@baylibre.com, sboyd@kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-sunxi@googlegroups.com Subject: Re: [linux-sunxi] [PATCH v3 06/16] drm/sun4i: Release exclusive clock lock when disabling TCON Date: Thu, 08 Mar 2018 23:57:40 +0100 Message-ID: <3764594.86uYqsI6mN@jernej-laptop> In-Reply-To: <20180308224717.a6ieadihwh7u5rbu@core.my.home> References: <20180301213442.16677-1-jernej.skrabec@siol.net> <20180301213442.16677-7-jernej.skrabec@siol.net> <20180308224717.a6ieadihwh7u5rbu@core.my.home> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Dne četrtek, 08. marec 2018 ob 23:47:17 CET je Ondřej Jirman napisal(a): > Hi, > > On Thu, Mar 01, 2018 at 10:34:32PM +0100, Jernej Skrabec wrote: > > Currently exclusive TCON clock lock is never released, which, for > > example, prevents changing resolution on HDMI. > > > > In order to fix that, release clock when disabling TCON. TCON is always > > disabled first before new mode is set. > > > > Signed-off-by: Jernej Skrabec > > --- > > > > drivers/gpu/drm/sun4i/sun4i_tcon.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c > > b/drivers/gpu/drm/sun4i/sun4i_tcon.c index 1d714c06ec9d..7f6c4125c89f > > 100644 > > --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c > > +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c > > @@ -102,10 +102,12 @@ static void sun4i_tcon_channel_set_status(struct > > sun4i_tcon *tcon, int channel,> > > return; > > > > } > > > > - if (enabled) > > + if (enabled) { > > > > clk_prepare_enable(clk); > > > > - else > > + } else { > > + clk_rate_exclusive_put(clk); > > > > clk_disable_unprepare(clk); > > > > + } > > > > } > > At least in the linux-next/master I can't see clk_rate_exclusive_get call: > It is in drm-misc/drm-misc-fixes: https://cgit.freedesktop.org/drm/drm-misc/commit/?h=drm-misc-fixes&id=79d103a565d16b1893d990b2ee5e0fe71767759f My patch is also applied in same branch, so there should be no issues while merging all those branches. linux-next doesn't have either patches currently: https://git.kernel.org/pub/ scm/linux/kernel/git/next/linux-next.git/log/drivers/gpu/drm/sun4i This is issue only if you manually apply one patch without the other. Best regards, Jernej > $ git grep 'exclusive' linux-next/master -- drivers/gpu/drm/sun4i > > linux-next/master:sun4i_hdmi.h: * On sun5i the threshold is exclusive, > i.e. does not include, linux-next/master:sun4i_tcon.c: > clk_rate_exclusive_put(clk); linux-next/master:sun4i_tcon.c: > clk_set_rate_exclusive(tcon->dclk, mode->crtc_clock * 1000); > linux-next/master:sun4i_tcon.c: clk_set_rate_exclusive(tcon->sclk1, > mode->crtc_clock * 1000); > > and the kernel complains too: > > [ 841.915161] ------------[ cut here ]------------ > [ 841.915187] WARNING: CPU: 0 PID: 273 at > /workspace/megous.com/orangepi-pc/linux-4.16/drivers/clk/clk.c:608 > clk_rate_exclusive_put+0x48/0x4c [ 841.915194] CPU: 0 PID: 273 Comm: Xorg > Not tainted 4.16.0-rc4-00268-gbac2ecf73ed0 #13 [ 841.915196] Hardware > name: Allwinner sun8i Family > [ 841.915217] [] (unwind_backtrace) from [] > (show_stack+0x10/0x14) [ 841.915228] [] (show_stack) from > [] (dump_stack+0x88/0x9c) [ 841.915237] [] > (dump_stack) from [] (__warn+0xd4/0xf0) [ 841.915244] > [] (__warn) from [] (warn_slowpath_null+0x40/0x48) [ > 841.915250] [] (warn_slowpath_null) from [] > (clk_rate_exclusive_put+0x48/0x4c) [ 841.915261] [] > (clk_rate_exclusive_put) from [] > (sun4i_tcon_set_status+0x178/0x2f0) [ 841.915269] [] > (sun4i_tcon_set_status) from [] > (sun4i_crtc_atomic_disable+0x7c/0xe4) [ 841.915279] [] > (sun4i_crtc_atomic_disable) from [] > (drm_atomic_helper_commit_modeset_disables+0x390/0x46c) [ 841.915288] > [] (drm_atomic_helper_commit_modeset_disables) from [] > (drm_atomic_helper_commit_tail_rpm+0x18/0x64) [ 841.915295] [] > (drm_atomic_helper_commit_tail_rpm) from [] > (commit_tail+0x40/0x6c) [ 841.915302] [] (commit_tail) from > [] (drm_atomic_helper_commit+0xbc/0x128) [ 841.915311] > [] (drm_atomic_helper_commit) from [] > (restore_fbdev_mode_atomic+0x100/0x1fc) [ 841.915319] [] > (restore_fbdev_mode_atomic) from [] > (drm_fb_helper_dpms+0x50/0x130) [ 841.915328] [] > (drm_fb_helper_dpms) from [] (drm_fb_helper_blank+0x54/0x90) [ > 841.915337] [] (drm_fb_helper_blank) from [] > (fb_blank+0x54/0xa8) [ 841.915343] [] (fb_blank) from > [] (do_fb_ioctl+0x360/0x62c) [ 841.915351] [] > (do_fb_ioctl) from [] (do_vfs_ioctl+0x9c/0x774) [ 841.915358] > [] (do_vfs_ioctl) from [] (SyS_ioctl+0x34/0x58) [ > 841.915364] [] (SyS_ioctl) from [] > (ret_fast_syscall+0x0/0x4c) [ 841.915368] Exception stack(0xe5fc5fa8 to > 0xe5fc5ff0) > [ 841.915373] 5fa0: 00674f10 00675460 0000000b 00004611 > 00000001 00000000 [ 841.915379] 5fc0: 00674f10 00675460 00000001 00000036 > 00650474 00000000 006504a4 00675df8 [ 841.915382] 5fe0: b61a502c be8acb2c > b6192c38 b6b152ec > [ 841.915386] ---[ end trace fa81b956197707f8 ]--- > > It looks like clk_rate_exclusive_put inside sun4i_tcon_channel_set_status is > called without first calling some function that would call > clk_set_rate_exclusive, leading to unbalanced get/put calls. > > regards, > o. > > > static void sun4i_tcon_lvds_set_status(struct sun4i_tcon *tcon, > > > > -- > > 2.16.2 > > > > -- > > You received this message because you are subscribed to the Google Groups > > "linux-sunxi" group. To unsubscribe from this group and stop receiving > > emails from it, send an email to > > linux-sunxi+unsubscribe@googlegroups.com. For more options, visit > > https://groups.google.com/d/optout.