From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [80.241.56.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEFF012B7D for ; Mon, 11 Mar 2024 08:53:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.241.56.152 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710147231; cv=none; b=pRzgwIhRr8dEqOAq9q7O7X1nnirS0fOBWlUHuu/KxqK7BfyiNE1aBpEjVbE6hmN6MLVQ9CbvYoaBkDD+m5sIgqIg7zUnVdw6Qn6gL3eK7/C80KnLftzrjjoHI+tadVBG2YdVrbUqehLRfDsasoqOHfMTZGiJw7l1gOmv7GYUuLE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710147231; c=relaxed/simple; bh=fnGQK5mpYPky2EtgEWQVbUO7rqbWN3odhtSAfHQlY20=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=V3VbOUvZDFpMU0dWqTWk+kTEHeTTj/SVXIyP86cifu28KocOKuRYS0El2BRbMfp/najweoLGajvzFYEyLsHwZkbiCUO28B5q6rCUn/yEMG6QHakcz5cfks/3uDoQW0X1iv/He8HioC8AnoJ+qpW7mTYov34LhbJDNfyWjtiLAfw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oltmanns.dev; spf=pass smtp.mailfrom=oltmanns.dev; dkim=pass (2048-bit key) header.d=oltmanns.dev header.i=@oltmanns.dev header.b=sHrHGthp; arc=none smtp.client-ip=80.241.56.152 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oltmanns.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oltmanns.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oltmanns.dev header.i=@oltmanns.dev header.b="sHrHGthp" Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4TtVtf1CRMz9sZh; Mon, 11 Mar 2024 09:53:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oltmanns.dev; s=MBO0001; t=1710147226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tBxxMeFHaNTIFVvrYkndR+gcWNWRWVLtfGRhdSP2/6o=; b=sHrHGthpynjybtW3iaYqn4VDz8W2mUnv6z71ZcETVBTQpDmc7sauHjv28wVIESNz/NT4JO /eVM/ApgVTwerUaZtR+crPq/PZ9QfQrPX1WDUb9R/U+hQMeqrmn84ffVdA6EYR8U8fVs6Q 6MKWrZ3VMg106rd65FLMhOoNk88XdMcm1C0OOax6wn91vCLFoo+dRCog61XZh0FdNhLrDV G4ztOUTIEG0WWo+/ygkJP0lKF5CIN1zlM1Yx+VoYodoBkIzP1n5ZyULYJ9x4RqUUP0uzUp U3GKlswqNYL8bbUzk07xidLNJSJeVygSFU7YDvFnpK2JjH330jL778xHvnsOSw== From: Frank Oltmanns To: =?utf-8?Q?Ond=C5=99ej?= Jirman Cc: Maxime Ripard , Chen-Yu Tsai , Maarten Lankhorst , Thomas Zimmermann , David Airlie , Daniel Vetter , Jernej Skrabec , Samuel Holland , Icenowy Zheng , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/sun4i: tcon: Support keeping dclk rate upon ancestor clock changes In-Reply-To: (=?utf-8?Q?=22Ond=C5=99ej?= Jirman"'s message of "Sun, 10 Mar 2024 23:23:57 +0100") References: <20240310-tcon_keep_stable_rate-v1-1-0296b0a85c02@oltmanns.dev> Date: Mon, 11 Mar 2024 09:53:41 +0100 Message-ID: <87le6pcfoq.fsf@oltmanns.dev> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4TtVtf1CRMz9sZh Hello Ond=C5=99ej, On 2024-03-10 at 23:23:57 +0100, Ond=C5=99ej Jirman wrote: > Hello Frank, > > On Sun, Mar 10, 2024 at 02:32:29PM +0100, Frank Oltmanns wrote: >> +static int sun4i_rate_reset_notifier_cb(struct notifier_block *nb, >> + unsigned long event, void *data) >> +{ >> + struct sun4i_rate_reset_nb *rate_reset =3D to_sun4i_rate_reset_nb(nb); >> + >> + if (event =3D=3D POST_RATE_CHANGE) >> + schedule_delayed_work(&rate_reset->reset_rate_work, msecs_to_jiffies(= 100)); > > If you get multiple reset notifier calls within 100ms of the first one, > the delay from the last one will not be 100ms, so this may violate expect= ations > you're describing in the commit message. Let me start by saying, the implicit expectation is that the new user of pll-video0 will get an exclusive lock on pll-video0 (otherwise, data-clock would reset pll-video0 after those 100ms rendering the whole endeavor of the new user pointless). This constraint makes the chances that the above event (two consecutive rate changes within 100ms) occurs very slim. That being said, I don't see a problem with cancelling the delayed work on PRE_RATE_CHANGE and restarting it on ABORT_RATE_CHANGE like this: +static int sun4i_rate_reset_notifier_cb(struct notifier_block *nb, + unsigned long event, void *data) +{ + struct sun4i_rate_reset_nb *rate_reset =3D to_sun4i_rate_reset_nb(nb); + + if (event =3D=3D PRE_RATE_CHANGE) { + rate_reset->is_cancelled =3D cancel_delayed_work(&rate_reset->reset_rate= _work); + } else if ((event =3D=3D POST_RATE_CHANGE) || + (event =3D=3D ABORT_RATE_CHANGE) && rate_reset->is_cancelled) { + schedule_delayed_work(&rate_reset->reset_rate_work, msecs_to_jiffies(100= )); + rate_reset->is_cancelled =3D false; + } + + return NOTIFY_DONE; +} The need for this new code is slim (IMHO) but on the other hand it doesn't add much complexity. I'll add it in V2 including the is_cancelled member in sun4i_rate_reset_nb if I don't receive any objections during this week. Thanks, Frank > > schedule_delayed_work doesn't re-schedule the work if it's already pendin= g. > > Kind regards, > o. 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 64890C5475B for ; Mon, 11 Mar 2024 08:54:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=W4d1E6gu8X82R4WgP4IdMgU6Mym7wABHa3Nk6HhGfMw=; b=iPPWf7a2MF7cKQ rOo309P+oOAlblNHQWvxBbhmfi74GPbFUpN4sALyjoLKt+aDrGA99hqwDqwJFuKQZYg6guGfjo0Ca Fxrv8noz7aYB0JiY1UqP3iIO0wDwji0JkGtLKQ3RU8n6HDSacCuxTACaAOs6vKjWvg3CP+bmdmnRx MaBRcspwu0ju0+V3zCQs3BY0nQJ5B+8b/o3qY8z5IwCuJbAtvkodNA3zwBLaSkci1qKqiLWiKgTBD 8FiHj07gF7T2s9sEFTRfKfGFLwfytsEuekwjapOz6B5q8r0E3+HE0993qLPv3py5peFm4Zt19Z7dl X9eCmXec719lAU44AorQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rjbPw-00000000gv3-1p0c; Mon, 11 Mar 2024 08:53:56 +0000 Received: from mout-p-102.mailbox.org ([80.241.56.152]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rjbPu-00000000gtw-0kB2 for linux-arm-kernel@lists.infradead.org; Mon, 11 Mar 2024 08:53:55 +0000 Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4TtVtf1CRMz9sZh; Mon, 11 Mar 2024 09:53:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oltmanns.dev; s=MBO0001; t=1710147226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tBxxMeFHaNTIFVvrYkndR+gcWNWRWVLtfGRhdSP2/6o=; b=sHrHGthpynjybtW3iaYqn4VDz8W2mUnv6z71ZcETVBTQpDmc7sauHjv28wVIESNz/NT4JO /eVM/ApgVTwerUaZtR+crPq/PZ9QfQrPX1WDUb9R/U+hQMeqrmn84ffVdA6EYR8U8fVs6Q 6MKWrZ3VMg106rd65FLMhOoNk88XdMcm1C0OOax6wn91vCLFoo+dRCog61XZh0FdNhLrDV G4ztOUTIEG0WWo+/ygkJP0lKF5CIN1zlM1Yx+VoYodoBkIzP1n5ZyULYJ9x4RqUUP0uzUp U3GKlswqNYL8bbUzk07xidLNJSJeVygSFU7YDvFnpK2JjH330jL778xHvnsOSw== From: Frank Oltmanns To: =?utf-8?Q?Ond=C5=99ej?= Jirman Cc: Maxime Ripard , Chen-Yu Tsai , Maarten Lankhorst , Thomas Zimmermann , David Airlie , Daniel Vetter , Jernej Skrabec , Samuel Holland , Icenowy Zheng , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/sun4i: tcon: Support keeping dclk rate upon ancestor clock changes In-Reply-To: (=?utf-8?Q?=22Ond=C5=99ej?= Jirman"'s message of "Sun, 10 Mar 2024 23:23:57 +0100") References: <20240310-tcon_keep_stable_rate-v1-1-0296b0a85c02@oltmanns.dev> Date: Mon, 11 Mar 2024 09:53:41 +0100 Message-ID: <87le6pcfoq.fsf@oltmanns.dev> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4TtVtf1CRMz9sZh X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240311_015354_549446_53727102 X-CRM114-Status: GOOD ( 15.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGVsbG8gT25kxZllaiwKCk9uIDIwMjQtMDMtMTAgYXQgMjM6MjM6NTcgKzAxMDAsIE9uZMWZZWog SmlybWFuIDx4QHhudXguZXU+IHdyb3RlOgo+IEhlbGxvIEZyYW5rLAo+Cj4gT24gU3VuLCBNYXIg MTAsIDIwMjQgYXQgMDI6MzI6MjlQTSArMDEwMCwgRnJhbmsgT2x0bWFubnMgd3JvdGU6Cj4+ICtz dGF0aWMgaW50IHN1bjRpX3JhdGVfcmVzZXRfbm90aWZpZXJfY2Ioc3RydWN0IG5vdGlmaWVyX2Js b2NrICpuYiwKPj4gKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIGV2ZW50LCB2b2lkICpkYXRhKQo+ PiArewo+PiArCXN0cnVjdCBzdW40aV9yYXRlX3Jlc2V0X25iICpyYXRlX3Jlc2V0ID0gdG9fc3Vu NGlfcmF0ZV9yZXNldF9uYihuYik7Cj4+ICsKPj4gKwlpZiAoZXZlbnQgPT0gUE9TVF9SQVRFX0NI QU5HRSkKPj4gKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZyYXRlX3Jlc2V0LT5yZXNldF9yYXRl X3dvcmssIG1zZWNzX3RvX2ppZmZpZXMoMTAwKSk7Cj4KPiBJZiB5b3UgZ2V0IG11bHRpcGxlIHJl c2V0IG5vdGlmaWVyIGNhbGxzIHdpdGhpbiAxMDBtcyBvZiB0aGUgZmlyc3Qgb25lLAo+IHRoZSBk ZWxheSBmcm9tIHRoZSBsYXN0IG9uZSB3aWxsIG5vdCBiZSAxMDBtcywgc28gdGhpcyBtYXkgdmlv bGF0ZSBleHBlY3RhdGlvbnMKPiB5b3UncmUgZGVzY3JpYmluZyBpbiB0aGUgY29tbWl0IG1lc3Nh Z2UuCgpMZXQgbWUgc3RhcnQgYnkgc2F5aW5nLCB0aGUgaW1wbGljaXQgZXhwZWN0YXRpb24gaXMg dGhhdCB0aGUgbmV3IHVzZXIgb2YKcGxsLXZpZGVvMCB3aWxsIGdldCBhbiBleGNsdXNpdmUgbG9j ayBvbiBwbGwtdmlkZW8wIChvdGhlcndpc2UsCmRhdGEtY2xvY2sgd291bGQgcmVzZXQgcGxsLXZp ZGVvMCBhZnRlciB0aG9zZSAxMDBtcyByZW5kZXJpbmcgdGhlIHdob2xlCmVuZGVhdm9yIG9mIHRo ZSBuZXcgdXNlciBwb2ludGxlc3MpLiBUaGlzIGNvbnN0cmFpbnQgbWFrZXMgdGhlIGNoYW5jZXMK dGhhdCB0aGUgYWJvdmUgZXZlbnQgKHR3byBjb25zZWN1dGl2ZSByYXRlIGNoYW5nZXMgd2l0aGlu IDEwMG1zKSBvY2N1cnMKdmVyeSBzbGltLgoKVGhhdCBiZWluZyBzYWlkLCBJIGRvbid0IHNlZSBh IHByb2JsZW0gd2l0aCBjYW5jZWxsaW5nIHRoZSBkZWxheWVkIHdvcmsKb24gUFJFX1JBVEVfQ0hB TkdFIGFuZCByZXN0YXJ0aW5nIGl0IG9uIEFCT1JUX1JBVEVfQ0hBTkdFIGxpa2UgdGhpczoKCitz dGF0aWMgaW50IHN1bjRpX3JhdGVfcmVzZXRfbm90aWZpZXJfY2Ioc3RydWN0IG5vdGlmaWVyX2Js b2NrICpuYiwKKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIGV2ZW50LCB2b2lkICpkYXRhKQorewor CXN0cnVjdCBzdW40aV9yYXRlX3Jlc2V0X25iICpyYXRlX3Jlc2V0ID0gdG9fc3VuNGlfcmF0ZV9y ZXNldF9uYihuYik7CisKKwlpZiAoZXZlbnQgPT0gUFJFX1JBVEVfQ0hBTkdFKSB7CisJCXJhdGVf cmVzZXQtPmlzX2NhbmNlbGxlZCA9IGNhbmNlbF9kZWxheWVkX3dvcmsoJnJhdGVfcmVzZXQtPnJl c2V0X3JhdGVfd29yayk7CisJfSBlbHNlIGlmICgoZXZlbnQgPT0gUE9TVF9SQVRFX0NIQU5HRSkg fHwKKwkJIChldmVudCA9PSBBQk9SVF9SQVRFX0NIQU5HRSkgJiYgcmF0ZV9yZXNldC0+aXNfY2Fu Y2VsbGVkKSB7CisJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmcmF0ZV9yZXNldC0+cmVzZXRfcmF0 ZV93b3JrLCBtc2Vjc190b19qaWZmaWVzKDEwMCkpOworCQlyYXRlX3Jlc2V0LT5pc19jYW5jZWxs ZWQgPSBmYWxzZTsKKwl9CisKKwlyZXR1cm4gTk9USUZZX0RPTkU7Cit9CgpUaGUgbmVlZCBmb3Ig dGhpcyBuZXcgY29kZSBpcyBzbGltIChJTUhPKSBidXQgb24gdGhlIG90aGVyIGhhbmQgaXQKZG9l c24ndCBhZGQgbXVjaCBjb21wbGV4aXR5LiBJJ2xsIGFkZCBpdCBpbiBWMiBpbmNsdWRpbmcgdGhl CmlzX2NhbmNlbGxlZCBtZW1iZXIgaW4gc3VuNGlfcmF0ZV9yZXNldF9uYiBpZiBJIGRvbid0IHJl Y2VpdmUgYW55Cm9iamVjdGlvbnMgZHVyaW5nIHRoaXMgd2Vlay4KClRoYW5rcywKICBGcmFuawoK Pgo+IHNjaGVkdWxlX2RlbGF5ZWRfd29yayBkb2Vzbid0IHJlLXNjaGVkdWxlIHRoZSB3b3JrIGlm IGl0J3MgYWxyZWFkeSBwZW5kaW5nLgo+Cj4gS2luZCByZWdhcmRzLAo+IAlvLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=