Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp1040500pxb; Thu, 23 Sep 2021 16:45:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxwBm3myGeGL2sr0G2UXOZTdAFGlE8F/qyEkKxVYUzvIQzRFjYRYpqlZmBAHOvO2x3F//3N X-Received: by 2002:a05:6638:408f:: with SMTP id m15mr6447848jam.94.1632440755222; Thu, 23 Sep 2021 16:45:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632440755; cv=none; d=google.com; s=arc-20160816; b=LqRHbMbbWefvdOfhwExbAuFYkihRE6BvyCcIWsYYz6kxFQ2iGZN+JIoOMIJ4z2eixM IKFrc563RQ6WIOxHd37IN5pfaYf95AYOKWZQzHu7p+tAALUzgr9bBCyhba0iOfubG5eP mXFDbHjsYiAuzB3JY6g1DvtAmWniQ2oBRAEKazwHmlYJiXYaLwoGySCdlwMslYvogdUb VJlEzkjkrasjJfuT1wC5bjljP/DSJe7QjBoOcvf75DlwyHHLWhwEgn6tlqTQ7nl/O+0A h+vXMPg8rRrdxk0s+Fh/rlY4QQkMky6eBl3N3EHKsOGtbeEnwUrt1aYqoXubMN901RjV WNsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=aHT5TRnm5Oqwowdq11BN2S+ee49V7nAHl+Q6uDRgJfM=; b=zHzQoEhbG2Y2cdWJt35OehDKH8igeDnkCrp28PAauFJ0I82Rp9xv9ZPHLl+wxDMsGT l0Z9w+cdvf5UdTcVRIB4WZbww00EK9pEZqaB/0+2TdogG/BDLqVQvEULQqZ3VJsuCtCD AfPhs3Jxj9gaS/J3YFYIfzmSOE5bqssaC3r2zjdzrZrBTiZ7doQB8wVnkXv2hbs3P9QO Ku76vvgYEgfnESC+KSpkCifolJZWdb5LgnrDDu6PEqJuugWD6yGGiU8zC/dnbULGJ5wC eO9xID74kADrM/VFabzbwcylomR2fUU6sfU35dHMsnXNXJ4SRtoFDC5dN1XcJ4qa/mHR Hf0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=cy0VTjDy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k15si8034029ilo.140.2021.09.23.16.45.41; Thu, 23 Sep 2021 16:45:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=cy0VTjDy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243400AbhIWXpY (ORCPT + 99 others); Thu, 23 Sep 2021 19:45:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:39262 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240661AbhIWXpX (ORCPT ); Thu, 23 Sep 2021 19:45:23 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 566F3611B0 for ; Thu, 23 Sep 2021 23:43:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632440631; bh=73qXItziYjU8T3s1nC2dBa8YmhQRMqulB64m5hKpetk=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=cy0VTjDyzbPFUPTihEUCx4jpQVYpoVTnMdjK5eFg7Ib6vgXOUotDE3Geu4jSj8iHv u6cYpTyHYkHp1MeRFGWrNlKvuiyMEXZOs/Y3ryCXF4hJdMDu4ryTW10fwhYNh3l02X jc5hCOiEpXdKgcMgZsEzpydRMQ09k+qwh7cCqgYZEINRjC68lpCO/EIppvAQdAQvJs 4+H8YE+OXZ5snI09m5X3loLaqYTu76ofZxKUpIWggO7ILVoXjtvHuqZzDd6Y7USg7d KUdCo51uI3IGEipShopVpS3DcIV6Wfy4AO8OCJMRbSLO0TjZWhcv8IYnsFpIN56oJ4 HuZt4coGCSu3g== Received: by mail-ed1-f53.google.com with SMTP id v10so24531224edj.10 for ; Thu, 23 Sep 2021 16:43:51 -0700 (PDT) X-Gm-Message-State: AOAM532hOGbzlei7Ldv9K+fzYQGbxiuwd5hyB2sWLv4cmQigcw2Cecj7 G3WkmVFAFrY2a5sk3opKpUs6pZxWki4BAPTb2g== X-Received: by 2002:aa7:c617:: with SMTP id h23mr1741696edq.357.1632440629875; Thu, 23 Sep 2021 16:43:49 -0700 (PDT) MIME-Version: 1.0 References: <20210808234733.14782-1-chunkuang.hu@kernel.org> In-Reply-To: From: Chun-Kuang Hu Date: Fri, 24 Sep 2021 07:43:38 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 0/4] CMDQ refinement of Mediatek DRM driver To: Enric Balletbo Serra Cc: Chun-Kuang Hu , Philipp Zabel , David Airlie , Daniel Vetter , Yongqiang Niu , linux-kernel , DRI Development , "moderated list:ARM/Mediatek SoC support" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Enric: Enric Balletbo Serra =E6=96=BC 2021=E5=B9=B49=E6=9C= =8824=E6=97=A5 =E9=80=B1=E4=BA=94 =E4=B8=8A=E5=8D=8812:36=E5=AF=AB=E9=81=93= =EF=BC=9A > > Hi Chun-Kuang, > > Missatge de Chun-Kuang Hu del dia dt., 21 de > set. 2021 a les 15:15: > > > > Hi, Enric: > > > > Enric Balletbo Serra =E6=96=BC 2021=E5=B9=B49=E6= =9C=8821=E6=97=A5 =E9=80=B1=E4=BA=8C =E4=B8=8B=E5=8D=884:36=E5=AF=AB=E9=81= =93=EF=BC=9A > > > > > > Hi Chun-Kuang, > > > > > > (again without html format, sorry for the noise) > > > > > > Missatge de Chun-Kuang Hu del dia dj., 12 > > > d=E2=80=99ag. 2021 a les 2:13: > > > > > > > > Chun-Kuang Hu =E6=96=BC 2021=E5=B9=B48=E6= =9C=889=E6=97=A5 =E9=80=B1=E4=B8=80 =E4=B8=8A=E5=8D=887:47=E5=AF=AB=E9=81= =93=EF=BC=9A > > > > > > > > > > These refinements include using standard mailbox callback interfa= ce, > > > > > timeout detection, and a fixed cmdq_handle. > > > > > > > > For this series, applied to mediatek-drm-next [1]. > > > > > > > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/li= nux.git/log/?h=3Dmediatek-drm-next > > > > > > > > > > These patches seem to break the display on the Acer Chromebook R 13 > > > (MT8173) in the current mainline. After running a bisection it pointe= d > > > me to the following commit > > > > > > commit f4be17cd5b14dd73545b0e014a63ebe9ab5ef837 > > > Author: Chun-Kuang Hu > > > Date: Sun Jul 4 15:36:48 2021 +0800 > > > > > > drm/mediatek: Remove struct cmdq_client > > > > > > Reverting this patch alone is not trivial, so I ended up reverting th= e > > > full series, and I can confirm that reverting the full series makes > > > the display work again. > > > > I think you could not just revert "drm/mediatek: Remove struct > > cmdq_client", you should also revert the patches after it, such as > > > > "drm/mediatek: Clear pending flag when cmdq packet is done" > > "drm/mediatek: Add cmdq_handle in mtk_crtc" > > "drm/mediatek: Detect CMDQ execution timeout" > > > > Yes, in fact I reverted: > > 9efb16c2fdd6 drm/mediatek: Clear pending flag when cmdq packet is done > bc9241be73d9 drm/mediatek: Add cmdq_handle in mtk_crtc > 8cdcb3653424 drm/mediatek: Detect CMDQ execution timeout > f4be17cd5b14 drm/mediatek: Remove struct cmdq_client > c1ec54b7b5af drm/mediatek: Use mailbox rx_callback instead of cmdq_task_c= b > > Without these patches 5.15-rc2 works again on my platform. > > The commit 'c1ec54b7b5af drm/mediatek: Use mailbox rx_callback instead > of cmdq_task_cb' alone introduces lots of warnings in the kernel > > WARNING: CPU: 0 PID: 0 at drivers/mailbox/mtk-cmdq-mailbox.c:198 > cmdq_task_exec_done+0xb8/0xe0 I think the WARN_ON in cmdq driver should be remove because that warning show that cmdq_task_cb is not used but I that is what I want. > > I think is just a leftover or the mentioned warning, but that confused > me a bit doing the bisection. Then, after commit 'f4be17cd5b14 > drm/mediatek: Remove struct cmdq_client' my system simply gets stuck. > For now I don't see any obvious mistake but will dig further. > > Can I ask you in which platform did you test? And if you can double > check if your platform is broken too in current mainline? I've no environment to test code now. I apply this series because I assume Yongqiang has test his patch "Clear pending flag when cmdq packet is done". Before I setup the environment (this may take a long time), I would find others to fix this problem. According to your information, "c1ec54b7b5af drm/mediatek: Use mailbox rx_callback instead of cmdq_task_cb" would cause many warning but display still work, right? If so, I think we should focus on "f4be17cd5b14 drm/mediatek: Remove struct cmdq_client". Regards, Chun-Kuang. > > Thanks, > Enric > > > If "drm/mediatek: Remove struct cmdq_client" is the patch cause > > display abnormal, I think you could compare code w/ and w/o this > > patch. Focus on the value accuracy, such as cmdq_cl and cmdq_chan. And > > focus on the flow accuracy, such as mtk_drm_crtc_update_config() and > > ddp_cmdq_cb(). If this could not find the problem, I think the latest > > way is to break this patch into small patches, changes little in each > > small patches and we could finally find out the problem. > > > > Regards, > > Chun-Kuang. > > > > > > > > Unfortunately, after the merge window, different things broke for thi= s > > > device, and I didn't finish isolating them, and it is not clear to me > > > yet whether the logs I'm getting are useful for this specific issue o= r > > > not. Basically with this series merged the kernel seems to be stuck, > > > and the display is not working. Latest message is > > > > > > [ 12.329173] mtk-iommu 10205000.iommu: Partial TLB flush timed out, > > > falling back to full flush > > > > > > Without the series, the kernel goes far and display works, however > > > there are other issues affecting the cros-ec, but I think that's > > > another issue. > > > > > > I'll try to dig a bit more, but, meanwhile, if you have any idea > > > please let me know. > > > > > > Thanks, > > > Enric > > > > > > > > > > Regards, > > > > Chun-Kuang. > > > > > > > > > > > > > > Changes in v2: > > > > > 1. Define mtk_drm_cmdq_pkt_create() and mtk_drm_cmdq_pkt_destroy(= ) > > > > > when CONFIG_MTK_CMDQ is reachable. > > > > > > > > > > Chun-Kuang Hu (4): > > > > > drm/mediatek: Use mailbox rx_callback instead of cmdq_task_cb > > > > > drm/mediatek: Remove struct cmdq_client > > > > > drm/mediatek: Detect CMDQ execution timeout > > > > > drm/mediatek: Add cmdq_handle in mtk_crtc > > > > > > > > > > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 110 ++++++++++++++++++= ++---- > > > > > 1 file changed, 91 insertions(+), 19 deletions(-) > > > > > > > > > > -- > > > > > 2.25.1 > > > > >