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 D9EC4C433EF for ; Sun, 28 Nov 2021 15:40:50 +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:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Ih0t/kd42gqas3c7kiD8h9ZYOWa50cRyDnYKqBPJDyM=; b=HIrNGHUneLipUR fazzueeIgfiZ37FAy2gxfTZEn5eZhNtjIlTUh72Dhi2hfLP062Yvol8npm5oT7LWeX6a9zRYlraO1 R/Ppgf5ApbUYeP6Jy/AOXupV84hQ69+HOb/Fm8PH3Cw4d76154paZJ0O4VPdt8ONDZ9+/C7xhrPCF pH1bAodYGXw/uUCIEJTu4xG/r7fUDhF3Zpyvbv1yZAiB/cR8DG1CUAKOn/xyfIwbPjmlCETVLGws3 srPqMhwQw28XwTnmJSXeKBr5E2PPxNk0Fmu3H/+DpAHlertIw1HLYXnNcbX15XkbxZwVI2ZmxIUvS wi8d6t4bk8DaubqYWBsw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mrMID-00G5oe-PC; Sun, 28 Nov 2021 15:40:41 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mrMI0-00G5mr-Em; Sun, 28 Nov 2021 15:40:29 +0000 X-UUID: a4b9499fae5140c9b3bcc781040537ab-20211128 X-UUID: a4b9499fae5140c9b3bcc781040537ab-20211128 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 514197333; Sun, 28 Nov 2021 08:40:23 -0700 Received: from mtkexhb01.mediatek.inc (172.21.101.102) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 28 Nov 2021 07:40:22 -0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb01.mediatek.inc (172.21.101.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 28 Nov 2021 23:40:08 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sun, 28 Nov 2021 23:40:08 +0800 Message-ID: <8670ab73cf64f9e8e5c533587437c53f2c557463.camel@mediatek.com> Subject: Re: [PATCH 2/3] mailbox: add cmdq_mbox_flush to clear all task before suspend From: Jason-JH Lin To: Chun-Kuang Hu CC: Philipp Zabel , Matthias Brugger , Jassi Brar , "David Airlie" , Daniel Vetter , DRI Development , "moderated list:ARM/Mediatek SoC support" , Linux ARM , linux-kernel , Hsin-Yi Wang , "Fei Shao" , , Nancy Lin , Date: Sun, 28 Nov 2021 23:40:08 +0800 In-Reply-To: References: <20211117064158.27451-1-jason-jh.lin@mediatek.com> <20211117064158.27451-3-jason-jh.lin@mediatek.com> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211128_074028_509377_2EB9EAC2 X-CRM114-Status: GOOD ( 31.67 ) X-BeenThere: linux-mediatek@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-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGkgQ2h1bi1LdWFuZywKClRoYW5rcyBmb3IgdGhlIHJldmlld3MuCgpPbiBGcmksIDIwMjEtMTEt MTkgYXQgMDg6MDEgKzA4MDAsIENodW4tS3VhbmcgSHUgd3JvdGU6Cj4gSGksIEphc29uOgo+IAo+ IGphc29uLWpoLmxpbiA8amFzb24tamgubGluQG1lZGlhdGVrLmNvbT4g5pa8IDIwMjHlubQxMeac iDE35pelIOmAseS4iSDkuIvljYgyOjQy5a+r6YGT77yaCj4gPiAKPiA+IENNRFEgZHJpdmVyIHdp bGwgb2NjdXB5IEdDRSBjbG9jayB0byBleGVjdXRlIHRoZSB0YXNrIGluIEdDRQo+ID4gdGhyZWFk Lgo+ID4gCj4gPiBTbyBjYWxsIGNtZHFfbWJveF9mbHVzaCB0byBjbGVhciBhbGwgdGFzayBpbiBH Q0UgdGhyZWFkIGJlZm9yZQo+ID4gQ01EUSBzdXNwZW5kLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5 OiBqYXNvbi1qaC5saW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+Cj4gPiAtLS0KPiA+ICBk cml2ZXJzL21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5jIHwgOSArKystLS0tLS0KPiA+ICAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tYWlsYm94L210ay1jbWRxLW1haWxib3guYwo+ID4gYi9kcml2ZXJz L21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5jCj4gPiBpbmRleCAwM2Y5ZWQ0YzUxMzEuLjI4Y2Fk ZmMwMDkxYiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvbWFpbGJveC9tdGstY21kcS1tYWlsYm94 LmMKPiA+ICsrKyBiL2RyaXZlcnMvbWFpbGJveC9tdGstY21kcS1tYWlsYm94LmMKPiA+IEBAIC00 ODQsMjEgKzQ4NCwxOCBAQCBzdGF0aWMgaW50IGNtZHFfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpk ZXYpCj4gPiAgICAgICAgIHN0cnVjdCBjbWRxICpjbWRxID0gZGV2X2dldF9kcnZkYXRhKGRldik7 Cj4gPiAgICAgICAgIHN0cnVjdCBjbWRxX3RocmVhZCAqdGhyZWFkOwo+ID4gICAgICAgICBpbnQg aTsKPiA+IC0gICAgICAgYm9vbCB0YXNrX3J1bm5pbmcgPSBmYWxzZTsKPiA+IAo+ID4gICAgICAg ICBjbWRxLT5zdXNwZW5kZWQgPSB0cnVlOwo+ID4gCj4gPiAgICAgICAgIGZvciAoaSA9IDA7IGkg PCBjbWRxLT50aHJlYWRfbnI7IGkrKykgewo+ID4gICAgICAgICAgICAgICAgIHRocmVhZCA9ICZj bWRxLT50aHJlYWRbaV07Cj4gPiAgICAgICAgICAgICAgICAgaWYgKCFsaXN0X2VtcHR5KCZ0aHJl YWQtPnRhc2tfYnVzeV9saXN0KSkgewo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgdGFza19y dW5uaW5nID0gdHJ1ZTsKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgLyogdHJ5IHRvIGNsZWFyIGFsbCB0YXNrIGluIHRoaXMgdGhy ZWFkICovCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBjbWRxX21ib3hfZmx1c2godGhyZWFk LT5jaGFuLCAyMDAwKTsKPiAKPiBJIHdvdWxkIGxpa2UgdGhlIG5vcm1hbCBjb250cm9sIGZsb3cg cmF0aGVyIHRoYW4gZXJyb3IgaGFuZGxpbmcuIFNvCj4gdGhlIG5vcm1hbCBjb250cm9sIGZsb3cg aXM6Cj4gCj4gMS4gQ2xpZW50IGRyaXZlciBzdXNwZW5kOiBGbHVzaCBjb21tYW5kLgo+IDIuIENN RFEgZHJpdmVyIHN1c3BlbmQ6IFRoZXJlIGlzIG5vIGNvbW1hbmQgdG8gZmx1c2guIElmIHRoZXJl IGFyZQo+IGNvbW1hbmQsIHNob3cgZXJyb3IgbWVzc2FnZSBhbmQgZGVidWcgdGhlIGNsaWVudCBk cml2ZXIuCj4gCj4gVGhlIGVycm9yIGhhbmRsaW5nIGZsb3c6Cj4gCj4gMS4gQ2xpZW50IGRyaXZl ciBzdXNwZW5kOiBEb2VzIG5vdCBmbHVzaCBjb21tYW5kLgo+IDIuIENNRFEgZHJpdmVyIHN1c3Bl bmQ6IEZsdXNoIGNvbW1hbmQgYW5kIGNhbGxiYWNrIHRvIGNsaWVudCBkcml2ZXIuCj4gQ2xpZW50 IGRyaXZlciBwcm9jZXNzIHRoZXNlIGNhbGxiYWNrIGFzIGVycm9yIGhhbmRsaW5nLgo+IAo+IFRo ZSBjbGllbnQgZHJpdmVyIG1heSBpbnRlZ3JhdGUgbXVsdGlwbGUgZHJpdmVyLiBJbiB0aGUgc3Vz cGVuZCBmbG93LAo+IGl0IG1heSBuZWVkIHRvIHN0b3AgdGhlc2UgZHJpdmVyIGluIGEgc2VxdWVu Y2Ugc3VjaCBhcy4KPiAKPiAxLiBTdG9wIGRyaXZlciAxCj4gMi4gU3RvcCBkcml2ZXIgMgo+IDMu IFN0b3AgZHJpdmVyIDMgKGNtZHEpCj4gNC4gU3RvcCBkcml2ZXIgNAo+IDUuIFN0b3AgZHJpdmVy IDUuCj4gCj4gSW4gdGhlIG5vcm1hbCBmbG93LCBjbGllbnQgZHJpdmVyIGNvdWxkIGNvbnRyb2wg dGhlIHN0b3AgZmxvdy4gSW4gdGhlCj4gZXJyb3IgaGFuZGxpbmcgZmxvdywgaXQgZG9lcyBub3Qg bWF0Y2ggdGhlIHN0b3AgZmxvdy4KPiAKPiBSZWdhcmRzLAo+IENodW4tS3VhbmcuCj4gCgpJIGhh dmUgdHJpZWQgdGhlIG5vcm1hbCBmbG93OgoxLiBDbGllbnQgZHJpdmVyIHN1c3BlbmQ6IEZsdXNo IGNvbW1hbmQuCjIuIENNRFEgZHJpdmVyIHN1c3BlbmQ6IFRoZXJlIGlzIG5vIGNvbW1hbmQgdG8g Zmx1c2guIElmIHRoZXJlIGFyZQpjb21tYW5kLCBzaG93IGVycm9yIG1lc3NhZ2UgYW5kIGRlYnVn IHRoZSBjbGllbnQgZHJpdmVyLgoKVGhlbiBJIGZvdW5kIHRoZSBjbWRxIHRhc2sgb2YgY3J0Y18x IGlzIHN0aWxsIGV4ZWN1dGluZyB3aGVuCmNtZHFfc3VzcGVuZCBzb21ldGltZXMuIEkgdGhpbmsg aXQgaXMgdGhlIGxhdGVzdCBhc3luYyBjbWQgc2VudCBpbgptdGtfZHJtX2NydGNfZGlzYWJsZS4K U28gSSdsbCB0cnkgdG8gY2hhbmdlIGl0IHRvIGJsb2NraW5nIGNtZCBhbmQgc2VlIHRoZSBpc3N1 ZSBpcyBzdGlsbApoYXBwZW5lZCBvciBub3QuCgpJZiBpdCB3b3JrcywgdGhlbiBJJ2xsIHJldmVy dCB0aGlzIHBhdGNoIGFuZCBzZW5kIGFkZCBibG9ja2luZyBjbWQgaW4KbXRrX2RybV9jcnRjX2Rp c2FibGUgYXQgdGhlIG5leHQgdmVyc2lvbi4KClJlZ2FyZHMsCkphc29uLUpILkxpbgoKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIGRldl93YXJuKGRldiwgInRocmVhZFslZF0gZXhpc3QgcnVu bmluZwo+ID4gdGFzayhzKSBpbiBzdXNwZW5kXG4iLCBpKTsKPiA+ICAgICAgICAgICAgICAgICB9 Cj4gPiAgICAgICAgIH0KPiA+IAo+ID4gLSAgICAgICBpZiAodGFza19ydW5uaW5nKQo+ID4gLSAg ICAgICAgICAgICAgIGRldl93YXJuKGRldiwgImV4aXN0IHJ1bm5pbmcgdGFzayhzKSBpbgo+ID4g c3VzcGVuZFxuIik7Cj4gPiAtCj4gPiAgICAgICAgIGNsa19idWxrX3VucHJlcGFyZShjbWRxLT5n Y2VfbnVtLCBjbWRxLT5jbG9ja3MpOwo+ID4gCj4gPiAgICAgICAgIHJldHVybiAwOwo+ID4gLS0K PiA+IDIuMTguMAo+ID4gCi0tIApKYXNvbi1KSCBMaW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5j b20+CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGlu dXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0CkxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tZWRp YXRlawo= 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 B80EBC433F5 for ; Sun, 28 Nov 2021 15:40:16 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EF5D66E047; Sun, 28 Nov 2021 15:40:15 +0000 (UTC) Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9CF016E047 for ; Sun, 28 Nov 2021 15:40:13 +0000 (UTC) X-UUID: dca377fefa5d4ab8aa2fa998b9fdac89-20211128 X-UUID: dca377fefa5d4ab8aa2fa998b9fdac89-20211128 Received: from mtkcas11.mediatek.inc [(172.21.101.40)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1112483941; Sun, 28 Nov 2021 23:40:10 +0800 Received: from mtkexhb01.mediatek.inc (172.21.101.102) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.15; Sun, 28 Nov 2021 23:40:08 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb01.mediatek.inc (172.21.101.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 28 Nov 2021 23:40:08 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sun, 28 Nov 2021 23:40:08 +0800 Message-ID: <8670ab73cf64f9e8e5c533587437c53f2c557463.camel@mediatek.com> Subject: Re: [PATCH 2/3] mailbox: add cmdq_mbox_flush to clear all task before suspend From: Jason-JH Lin To: Chun-Kuang Hu Date: Sun, 28 Nov 2021 23:40:08 +0800 In-Reply-To: References: <20211117064158.27451-1-jason-jh.lin@mediatek.com> <20211117064158.27451-3-jason-jh.lin@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-MTK: N X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fei Shao , David Airlie , singo.chang@mediatek.com, Jassi Brar , linux-kernel , DRI Development , tzungbi@google.com, Nancy Lin , "moderated list:ARM/Mediatek SoC support" , Hsin-Yi Wang , Matthias Brugger , Linux ARM Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi Chun-Kuang, Thanks for the reviews. On Fri, 2021-11-19 at 08:01 +0800, Chun-Kuang Hu wrote: > Hi, Jason: > > jason-jh.lin 於 2021年11月17日 週三 下午2:42寫道: > > > > CMDQ driver will occupy GCE clock to execute the task in GCE > > thread. > > > > So call cmdq_mbox_flush to clear all task in GCE thread before > > CMDQ suspend. > > > > Signed-off-by: jason-jh.lin > > --- > > drivers/mailbox/mtk-cmdq-mailbox.c | 9 +++------ > > 1 file changed, 3 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c > > b/drivers/mailbox/mtk-cmdq-mailbox.c > > index 03f9ed4c5131..28cadfc0091b 100644 > > --- a/drivers/mailbox/mtk-cmdq-mailbox.c > > +++ b/drivers/mailbox/mtk-cmdq-mailbox.c > > @@ -484,21 +484,18 @@ static int cmdq_suspend(struct device *dev) > > struct cmdq *cmdq = dev_get_drvdata(dev); > > struct cmdq_thread *thread; > > int i; > > - bool task_running = false; > > > > cmdq->suspended = true; > > > > for (i = 0; i < cmdq->thread_nr; i++) { > > thread = &cmdq->thread[i]; > > if (!list_empty(&thread->task_busy_list)) { > > - task_running = true; > > - break; > > + /* try to clear all task in this thread */ > > + cmdq_mbox_flush(thread->chan, 2000); > > I would like the normal control flow rather than error handling. So > the normal control flow is: > > 1. Client driver suspend: Flush command. > 2. CMDQ driver suspend: There is no command to flush. If there are > command, show error message and debug the client driver. > > The error handling flow: > > 1. Client driver suspend: Does not flush command. > 2. CMDQ driver suspend: Flush command and callback to client driver. > Client driver process these callback as error handling. > > The client driver may integrate multiple driver. In the suspend flow, > it may need to stop these driver in a sequence such as. > > 1. Stop driver 1 > 2. Stop driver 2 > 3. Stop driver 3 (cmdq) > 4. Stop driver 4 > 5. Stop driver 5. > > In the normal flow, client driver could control the stop flow. In the > error handling flow, it does not match the stop flow. > > Regards, > Chun-Kuang. > I have tried the normal flow: 1. Client driver suspend: Flush command. 2. CMDQ driver suspend: There is no command to flush. If there are command, show error message and debug the client driver. Then I found the cmdq task of crtc_1 is still executing when cmdq_suspend sometimes. I think it is the latest async cmd sent in mtk_drm_crtc_disable. So I'll try to change it to blocking cmd and see the issue is still happened or not. If it works, then I'll revert this patch and send add blocking cmd in mtk_drm_crtc_disable at the next version. Regards, Jason-JH.Lin > > + dev_warn(dev, "thread[%d] exist running > > task(s) in suspend\n", i); > > } > > } > > > > - if (task_running) > > - dev_warn(dev, "exist running task(s) in > > suspend\n"); > > - > > clk_bulk_unprepare(cmdq->gce_num, cmdq->clocks); > > > > return 0; > > -- > > 2.18.0 > > -- Jason-JH Lin 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3674C433EF for ; Sun, 28 Nov 2021 15:42:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1358114AbhK1Ppa (ORCPT ); Sun, 28 Nov 2021 10:45:30 -0500 Received: from mailgw01.mediatek.com ([60.244.123.138]:44064 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S233985AbhK1Pn3 (ORCPT ); Sun, 28 Nov 2021 10:43:29 -0500 X-UUID: dca377fefa5d4ab8aa2fa998b9fdac89-20211128 X-UUID: dca377fefa5d4ab8aa2fa998b9fdac89-20211128 Received: from mtkcas11.mediatek.inc [(172.21.101.40)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1112483941; Sun, 28 Nov 2021 23:40:10 +0800 Received: from mtkexhb01.mediatek.inc (172.21.101.102) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.15; Sun, 28 Nov 2021 23:40:08 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb01.mediatek.inc (172.21.101.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 28 Nov 2021 23:40:08 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sun, 28 Nov 2021 23:40:08 +0800 Message-ID: <8670ab73cf64f9e8e5c533587437c53f2c557463.camel@mediatek.com> Subject: Re: [PATCH 2/3] mailbox: add cmdq_mbox_flush to clear all task before suspend From: Jason-JH Lin To: Chun-Kuang Hu CC: Philipp Zabel , Matthias Brugger , Jassi Brar , "David Airlie" , Daniel Vetter , DRI Development , "moderated list:ARM/Mediatek SoC support" , Linux ARM , linux-kernel , Hsin-Yi Wang , "Fei Shao" , , Nancy Lin , Date: Sun, 28 Nov 2021 23:40:08 +0800 In-Reply-To: References: <20211117064158.27451-1-jason-jh.lin@mediatek.com> <20211117064158.27451-3-jason-jh.lin@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Chun-Kuang, Thanks for the reviews. On Fri, 2021-11-19 at 08:01 +0800, Chun-Kuang Hu wrote: > Hi, Jason: > > jason-jh.lin 於 2021年11月17日 週三 下午2:42寫道: > > > > CMDQ driver will occupy GCE clock to execute the task in GCE > > thread. > > > > So call cmdq_mbox_flush to clear all task in GCE thread before > > CMDQ suspend. > > > > Signed-off-by: jason-jh.lin > > --- > > drivers/mailbox/mtk-cmdq-mailbox.c | 9 +++------ > > 1 file changed, 3 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c > > b/drivers/mailbox/mtk-cmdq-mailbox.c > > index 03f9ed4c5131..28cadfc0091b 100644 > > --- a/drivers/mailbox/mtk-cmdq-mailbox.c > > +++ b/drivers/mailbox/mtk-cmdq-mailbox.c > > @@ -484,21 +484,18 @@ static int cmdq_suspend(struct device *dev) > > struct cmdq *cmdq = dev_get_drvdata(dev); > > struct cmdq_thread *thread; > > int i; > > - bool task_running = false; > > > > cmdq->suspended = true; > > > > for (i = 0; i < cmdq->thread_nr; i++) { > > thread = &cmdq->thread[i]; > > if (!list_empty(&thread->task_busy_list)) { > > - task_running = true; > > - break; > > + /* try to clear all task in this thread */ > > + cmdq_mbox_flush(thread->chan, 2000); > > I would like the normal control flow rather than error handling. So > the normal control flow is: > > 1. Client driver suspend: Flush command. > 2. CMDQ driver suspend: There is no command to flush. If there are > command, show error message and debug the client driver. > > The error handling flow: > > 1. Client driver suspend: Does not flush command. > 2. CMDQ driver suspend: Flush command and callback to client driver. > Client driver process these callback as error handling. > > The client driver may integrate multiple driver. In the suspend flow, > it may need to stop these driver in a sequence such as. > > 1. Stop driver 1 > 2. Stop driver 2 > 3. Stop driver 3 (cmdq) > 4. Stop driver 4 > 5. Stop driver 5. > > In the normal flow, client driver could control the stop flow. In the > error handling flow, it does not match the stop flow. > > Regards, > Chun-Kuang. > I have tried the normal flow: 1. Client driver suspend: Flush command. 2. CMDQ driver suspend: There is no command to flush. If there are command, show error message and debug the client driver. Then I found the cmdq task of crtc_1 is still executing when cmdq_suspend sometimes. I think it is the latest async cmd sent in mtk_drm_crtc_disable. So I'll try to change it to blocking cmd and see the issue is still happened or not. If it works, then I'll revert this patch and send add blocking cmd in mtk_drm_crtc_disable at the next version. Regards, Jason-JH.Lin > > + dev_warn(dev, "thread[%d] exist running > > task(s) in suspend\n", i); > > } > > } > > > > - if (task_running) > > - dev_warn(dev, "exist running task(s) in > > suspend\n"); > > - > > clk_bulk_unprepare(cmdq->gce_num, cmdq->clocks); > > > > return 0; > > -- > > 2.18.0 > > -- Jason-JH Lin 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 A7B38C433F5 for ; Sun, 28 Nov 2021 15:42:08 +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:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=fRpU36wDTjMwj7jK+U5i+E8Fy9oTQuDy46c3sI/5RSw=; b=wd8mp6h5lPc//j eoJ3eZg2v4JIet9eP5/x5O9cQ4HNgMydbQKhGLEAHylLaDXu6+KvlfDJ7E2RR7ez69FxHlQeckUuh wcO+tKXal5iJx39egGczDOmhc589TYNQsGQfkccwV52O33EKHA3aasfnUXpMFJyGGS0Dj1QQjjZIW KjcLjZBqz0WGFYtKao0mi1I6VU1YNhLj3d6HXHhK7R+ED03pON4Gk0hc6S2wlcLKV8z+PV4uepqnp 3DimC9WA+MdW6VKurJPleqT0m7BE3GY7t1HAdbknWshYtNXEyfFKlRMdaSN0I8USogLY+IXNq9cX8 kStLfL1ZQbRdTKwtw0Uw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mrMI4-00G5ne-O2; Sun, 28 Nov 2021 15:40:32 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mrMI0-00G5mr-Em; Sun, 28 Nov 2021 15:40:29 +0000 X-UUID: a4b9499fae5140c9b3bcc781040537ab-20211128 X-UUID: a4b9499fae5140c9b3bcc781040537ab-20211128 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 514197333; Sun, 28 Nov 2021 08:40:23 -0700 Received: from mtkexhb01.mediatek.inc (172.21.101.102) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 28 Nov 2021 07:40:22 -0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb01.mediatek.inc (172.21.101.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 28 Nov 2021 23:40:08 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sun, 28 Nov 2021 23:40:08 +0800 Message-ID: <8670ab73cf64f9e8e5c533587437c53f2c557463.camel@mediatek.com> Subject: Re: [PATCH 2/3] mailbox: add cmdq_mbox_flush to clear all task before suspend From: Jason-JH Lin To: Chun-Kuang Hu CC: Philipp Zabel , Matthias Brugger , Jassi Brar , "David Airlie" , Daniel Vetter , DRI Development , "moderated list:ARM/Mediatek SoC support" , Linux ARM , linux-kernel , Hsin-Yi Wang , "Fei Shao" , , Nancy Lin , Date: Sun, 28 Nov 2021 23:40:08 +0800 In-Reply-To: References: <20211117064158.27451-1-jason-jh.lin@mediatek.com> <20211117064158.27451-3-jason-jh.lin@mediatek.com> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211128_074028_509377_2EB9EAC2 X-CRM114-Status: GOOD ( 31.67 ) 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 SGkgQ2h1bi1LdWFuZywKClRoYW5rcyBmb3IgdGhlIHJldmlld3MuCgpPbiBGcmksIDIwMjEtMTEt MTkgYXQgMDg6MDEgKzA4MDAsIENodW4tS3VhbmcgSHUgd3JvdGU6Cj4gSGksIEphc29uOgo+IAo+ IGphc29uLWpoLmxpbiA8amFzb24tamgubGluQG1lZGlhdGVrLmNvbT4g5pa8IDIwMjHlubQxMeac iDE35pelIOmAseS4iSDkuIvljYgyOjQy5a+r6YGT77yaCj4gPiAKPiA+IENNRFEgZHJpdmVyIHdp bGwgb2NjdXB5IEdDRSBjbG9jayB0byBleGVjdXRlIHRoZSB0YXNrIGluIEdDRQo+ID4gdGhyZWFk Lgo+ID4gCj4gPiBTbyBjYWxsIGNtZHFfbWJveF9mbHVzaCB0byBjbGVhciBhbGwgdGFzayBpbiBH Q0UgdGhyZWFkIGJlZm9yZQo+ID4gQ01EUSBzdXNwZW5kLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5 OiBqYXNvbi1qaC5saW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+Cj4gPiAtLS0KPiA+ICBk cml2ZXJzL21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5jIHwgOSArKystLS0tLS0KPiA+ICAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tYWlsYm94L210ay1jbWRxLW1haWxib3guYwo+ID4gYi9kcml2ZXJz L21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5jCj4gPiBpbmRleCAwM2Y5ZWQ0YzUxMzEuLjI4Y2Fk ZmMwMDkxYiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvbWFpbGJveC9tdGstY21kcS1tYWlsYm94 LmMKPiA+ICsrKyBiL2RyaXZlcnMvbWFpbGJveC9tdGstY21kcS1tYWlsYm94LmMKPiA+IEBAIC00 ODQsMjEgKzQ4NCwxOCBAQCBzdGF0aWMgaW50IGNtZHFfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpk ZXYpCj4gPiAgICAgICAgIHN0cnVjdCBjbWRxICpjbWRxID0gZGV2X2dldF9kcnZkYXRhKGRldik7 Cj4gPiAgICAgICAgIHN0cnVjdCBjbWRxX3RocmVhZCAqdGhyZWFkOwo+ID4gICAgICAgICBpbnQg aTsKPiA+IC0gICAgICAgYm9vbCB0YXNrX3J1bm5pbmcgPSBmYWxzZTsKPiA+IAo+ID4gICAgICAg ICBjbWRxLT5zdXNwZW5kZWQgPSB0cnVlOwo+ID4gCj4gPiAgICAgICAgIGZvciAoaSA9IDA7IGkg PCBjbWRxLT50aHJlYWRfbnI7IGkrKykgewo+ID4gICAgICAgICAgICAgICAgIHRocmVhZCA9ICZj bWRxLT50aHJlYWRbaV07Cj4gPiAgICAgICAgICAgICAgICAgaWYgKCFsaXN0X2VtcHR5KCZ0aHJl YWQtPnRhc2tfYnVzeV9saXN0KSkgewo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgdGFza19y dW5uaW5nID0gdHJ1ZTsKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgLyogdHJ5IHRvIGNsZWFyIGFsbCB0YXNrIGluIHRoaXMgdGhy ZWFkICovCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBjbWRxX21ib3hfZmx1c2godGhyZWFk LT5jaGFuLCAyMDAwKTsKPiAKPiBJIHdvdWxkIGxpa2UgdGhlIG5vcm1hbCBjb250cm9sIGZsb3cg cmF0aGVyIHRoYW4gZXJyb3IgaGFuZGxpbmcuIFNvCj4gdGhlIG5vcm1hbCBjb250cm9sIGZsb3cg aXM6Cj4gCj4gMS4gQ2xpZW50IGRyaXZlciBzdXNwZW5kOiBGbHVzaCBjb21tYW5kLgo+IDIuIENN RFEgZHJpdmVyIHN1c3BlbmQ6IFRoZXJlIGlzIG5vIGNvbW1hbmQgdG8gZmx1c2guIElmIHRoZXJl IGFyZQo+IGNvbW1hbmQsIHNob3cgZXJyb3IgbWVzc2FnZSBhbmQgZGVidWcgdGhlIGNsaWVudCBk cml2ZXIuCj4gCj4gVGhlIGVycm9yIGhhbmRsaW5nIGZsb3c6Cj4gCj4gMS4gQ2xpZW50IGRyaXZl ciBzdXNwZW5kOiBEb2VzIG5vdCBmbHVzaCBjb21tYW5kLgo+IDIuIENNRFEgZHJpdmVyIHN1c3Bl bmQ6IEZsdXNoIGNvbW1hbmQgYW5kIGNhbGxiYWNrIHRvIGNsaWVudCBkcml2ZXIuCj4gQ2xpZW50 IGRyaXZlciBwcm9jZXNzIHRoZXNlIGNhbGxiYWNrIGFzIGVycm9yIGhhbmRsaW5nLgo+IAo+IFRo ZSBjbGllbnQgZHJpdmVyIG1heSBpbnRlZ3JhdGUgbXVsdGlwbGUgZHJpdmVyLiBJbiB0aGUgc3Vz cGVuZCBmbG93LAo+IGl0IG1heSBuZWVkIHRvIHN0b3AgdGhlc2UgZHJpdmVyIGluIGEgc2VxdWVu Y2Ugc3VjaCBhcy4KPiAKPiAxLiBTdG9wIGRyaXZlciAxCj4gMi4gU3RvcCBkcml2ZXIgMgo+IDMu IFN0b3AgZHJpdmVyIDMgKGNtZHEpCj4gNC4gU3RvcCBkcml2ZXIgNAo+IDUuIFN0b3AgZHJpdmVy IDUuCj4gCj4gSW4gdGhlIG5vcm1hbCBmbG93LCBjbGllbnQgZHJpdmVyIGNvdWxkIGNvbnRyb2wg dGhlIHN0b3AgZmxvdy4gSW4gdGhlCj4gZXJyb3IgaGFuZGxpbmcgZmxvdywgaXQgZG9lcyBub3Qg bWF0Y2ggdGhlIHN0b3AgZmxvdy4KPiAKPiBSZWdhcmRzLAo+IENodW4tS3VhbmcuCj4gCgpJIGhh dmUgdHJpZWQgdGhlIG5vcm1hbCBmbG93OgoxLiBDbGllbnQgZHJpdmVyIHN1c3BlbmQ6IEZsdXNo IGNvbW1hbmQuCjIuIENNRFEgZHJpdmVyIHN1c3BlbmQ6IFRoZXJlIGlzIG5vIGNvbW1hbmQgdG8g Zmx1c2guIElmIHRoZXJlIGFyZQpjb21tYW5kLCBzaG93IGVycm9yIG1lc3NhZ2UgYW5kIGRlYnVn IHRoZSBjbGllbnQgZHJpdmVyLgoKVGhlbiBJIGZvdW5kIHRoZSBjbWRxIHRhc2sgb2YgY3J0Y18x IGlzIHN0aWxsIGV4ZWN1dGluZyB3aGVuCmNtZHFfc3VzcGVuZCBzb21ldGltZXMuIEkgdGhpbmsg aXQgaXMgdGhlIGxhdGVzdCBhc3luYyBjbWQgc2VudCBpbgptdGtfZHJtX2NydGNfZGlzYWJsZS4K U28gSSdsbCB0cnkgdG8gY2hhbmdlIGl0IHRvIGJsb2NraW5nIGNtZCBhbmQgc2VlIHRoZSBpc3N1 ZSBpcyBzdGlsbApoYXBwZW5lZCBvciBub3QuCgpJZiBpdCB3b3JrcywgdGhlbiBJJ2xsIHJldmVy dCB0aGlzIHBhdGNoIGFuZCBzZW5kIGFkZCBibG9ja2luZyBjbWQgaW4KbXRrX2RybV9jcnRjX2Rp c2FibGUgYXQgdGhlIG5leHQgdmVyc2lvbi4KClJlZ2FyZHMsCkphc29uLUpILkxpbgoKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIGRldl93YXJuKGRldiwgInRocmVhZFslZF0gZXhpc3QgcnVu bmluZwo+ID4gdGFzayhzKSBpbiBzdXNwZW5kXG4iLCBpKTsKPiA+ICAgICAgICAgICAgICAgICB9 Cj4gPiAgICAgICAgIH0KPiA+IAo+ID4gLSAgICAgICBpZiAodGFza19ydW5uaW5nKQo+ID4gLSAg ICAgICAgICAgICAgIGRldl93YXJuKGRldiwgImV4aXN0IHJ1bm5pbmcgdGFzayhzKSBpbgo+ID4g c3VzcGVuZFxuIik7Cj4gPiAtCj4gPiAgICAgICAgIGNsa19idWxrX3VucHJlcGFyZShjbWRxLT5n Y2VfbnVtLCBjbWRxLT5jbG9ja3MpOwo+ID4gCj4gPiAgICAgICAgIHJldHVybiAwOwo+ID4gLS0K PiA+IDIuMTguMAo+ID4gCi0tIApKYXNvbi1KSCBMaW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5j b20+CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=