From: CK Hu <ck.hu@mediatek.com>
To: Bibby Hsieh <bibby.hsieh@mediatek.com>
Cc: Jassi Brar <jassisinghbrar@gmail.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Daniel Kurtz <djkurtz@chromium.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<srv_heupstream@mediatek.com>,
Sascha Hauer <kernel@pengutronix.de>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
Nicolas Boichat <drinkcat@chromium.org>,
"YT Shen" <yt.shen@mediatek.com>,
Daoyuan Huang <daoyuan.huang@mediatek.com>,
Jiaguang Zhang <jiaguang.zhang@mediatek.com>,
Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>,
Houlong Wei <houlong.wei@mediatek.com>, <ginny.chen@mediatek.com>,
<kendrick.hsu@mediatek.com>,
Frederic Chen <Frederic.Chen@mediatek.com>
Subject: Re: [PATCH v2 06/10] soc: mediatek: cmdq: clear the event in cmdq initial flow
Date: Fri, 8 Mar 2019 13:05:53 +0800 [thread overview]
Message-ID: <1552021553.2863.18.camel@mtksdaap41> (raw)
In-Reply-To: <1551865835-50974-7-git-send-email-bibby.hsieh@mediatek.com>
Hi, Bibby:
On Wed, 2019-03-06 at 17:50 +0800, Bibby Hsieh wrote:
> GCE hardware stored event information in own internal sysram,
> if the initial value in those sysram is not zero value
> it will cause a situation that gce can wait the event immediately
> after client ask gce to wait event but not really trigger the
> corresponding hardware.
>
> In order to make sure that the wait event function is
> exactly correct, we need to clear the sysram value in
> cmdq initial flow.
>
> Fixup commit 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ driver")
Please refer to [1] for the fix tag.
[1] https://www.kernel.org/doc/html/v5.0/process/submitting-patches.html
Regards,
CK
>
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
> drivers/mailbox/mtk-cmdq-mailbox.c | 5 +++++
> include/linux/mailbox/mtk-cmdq-mailbox.h | 2 ++
> include/linux/soc/mediatek/mtk-cmdq.h | 3 ---
> 3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
> index 6db1e2d..4e744cf 100644
> --- a/drivers/mailbox/mtk-cmdq-mailbox.c
> +++ b/drivers/mailbox/mtk-cmdq-mailbox.c
> @@ -33,6 +33,7 @@
> #define CMDQ_THR_END_ADDR 0x24
> #define CMDQ_THR_WAIT_TOKEN 0x30
> #define CMDQ_THR_PRIORITY 0x40
> +#define CMDQ_SYNC_TOKEN_UPDATE 0x68
>
> #define CMDQ_THR_ACTIVE_SLOT_CYCLES 0x3200
> #define CMDQ_THR_ENABLED 0x1
> @@ -103,8 +104,12 @@ static void cmdq_thread_resume(struct cmdq_thread *thread)
>
> static void cmdq_init(struct cmdq *cmdq)
> {
> + int i;
> +
> WARN_ON(clk_enable(cmdq->clock) < 0);
> writel(CMDQ_THR_ACTIVE_SLOT_CYCLES, cmdq->base + CMDQ_THR_SLOT_CYCLES);
> + for (i = 0; i <= CMDQ_MAX_EVENT; i++)
> + writel(i, cmdq->base + CMDQ_SYNC_TOKEN_UPDATE);
> clk_disable(cmdq->clock);
> }
>
> diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> index ccb7342..911475da 100644
> --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> @@ -19,6 +19,8 @@
> #define CMDQ_WFE_UPDATE BIT(31)
> #define CMDQ_WFE_WAIT BIT(15)
> #define CMDQ_WFE_WAIT_VALUE 0x1
> +/** cmdq event maximum */
> +#define CMDQ_MAX_EVENT 0x3ff
>
> /*
> * CMDQ_CODE_MASK:
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index 54ade13..4e88999 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -13,9 +13,6 @@
>
> #define CMDQ_NO_TIMEOUT 0xffffffffu
>
> -/** cmdq event maximum */
> -#define CMDQ_MAX_EVENT 0x3ff
> -
> struct cmdq_pkt;
>
> struct cmdq_client {
WARNING: multiple messages have this Message-ID (diff)
From: CK Hu <ck.hu@mediatek.com>
To: Bibby Hsieh <bibby.hsieh@mediatek.com>
Cc: devicetree@vger.kernel.org,
Nicolas Boichat <drinkcat@chromium.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
srv_heupstream@mediatek.com, kendrick.hsu@mediatek.com,
Daoyuan Huang <daoyuan.huang@mediatek.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Jassi Brar <jassisinghbrar@gmail.com>,
linux-kernel@vger.kernel.org, Daniel Kurtz <djkurtz@chromium.org>,
Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>,
YT Shen <yt.shen@mediatek.com>, Rob Herring <robh+dt@kernel.org>,
linux-mediatek@lists.infradead.org,
Houlong Wei <houlong.wei@mediatek.com>,
Sascha Hauer <kernel@pengutronix.de>,
Matthias Brugger <matthias.bgg@gmail.com>,
Jiaguang Zhang <jiaguang.zhang@mediatek.com>,
Frederic Chen <Frederic.Chen@mediatek.com>,
linux-arm-kernel@lists.infradead.org, ginny.chen@mediatek.com
Subject: Re: [PATCH v2 06/10] soc: mediatek: cmdq: clear the event in cmdq initial flow
Date: Fri, 8 Mar 2019 13:05:53 +0800 [thread overview]
Message-ID: <1552021553.2863.18.camel@mtksdaap41> (raw)
In-Reply-To: <1551865835-50974-7-git-send-email-bibby.hsieh@mediatek.com>
Hi, Bibby:
On Wed, 2019-03-06 at 17:50 +0800, Bibby Hsieh wrote:
> GCE hardware stored event information in own internal sysram,
> if the initial value in those sysram is not zero value
> it will cause a situation that gce can wait the event immediately
> after client ask gce to wait event but not really trigger the
> corresponding hardware.
>
> In order to make sure that the wait event function is
> exactly correct, we need to clear the sysram value in
> cmdq initial flow.
>
> Fixup commit 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ driver")
Please refer to [1] for the fix tag.
[1] https://www.kernel.org/doc/html/v5.0/process/submitting-patches.html
Regards,
CK
>
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
> drivers/mailbox/mtk-cmdq-mailbox.c | 5 +++++
> include/linux/mailbox/mtk-cmdq-mailbox.h | 2 ++
> include/linux/soc/mediatek/mtk-cmdq.h | 3 ---
> 3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
> index 6db1e2d..4e744cf 100644
> --- a/drivers/mailbox/mtk-cmdq-mailbox.c
> +++ b/drivers/mailbox/mtk-cmdq-mailbox.c
> @@ -33,6 +33,7 @@
> #define CMDQ_THR_END_ADDR 0x24
> #define CMDQ_THR_WAIT_TOKEN 0x30
> #define CMDQ_THR_PRIORITY 0x40
> +#define CMDQ_SYNC_TOKEN_UPDATE 0x68
>
> #define CMDQ_THR_ACTIVE_SLOT_CYCLES 0x3200
> #define CMDQ_THR_ENABLED 0x1
> @@ -103,8 +104,12 @@ static void cmdq_thread_resume(struct cmdq_thread *thread)
>
> static void cmdq_init(struct cmdq *cmdq)
> {
> + int i;
> +
> WARN_ON(clk_enable(cmdq->clock) < 0);
> writel(CMDQ_THR_ACTIVE_SLOT_CYCLES, cmdq->base + CMDQ_THR_SLOT_CYCLES);
> + for (i = 0; i <= CMDQ_MAX_EVENT; i++)
> + writel(i, cmdq->base + CMDQ_SYNC_TOKEN_UPDATE);
> clk_disable(cmdq->clock);
> }
>
> diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> index ccb7342..911475da 100644
> --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> @@ -19,6 +19,8 @@
> #define CMDQ_WFE_UPDATE BIT(31)
> #define CMDQ_WFE_WAIT BIT(15)
> #define CMDQ_WFE_WAIT_VALUE 0x1
> +/** cmdq event maximum */
> +#define CMDQ_MAX_EVENT 0x3ff
>
> /*
> * CMDQ_CODE_MASK:
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index 54ade13..4e88999 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -13,9 +13,6 @@
>
> #define CMDQ_NO_TIMEOUT 0xffffffffu
>
> -/** cmdq event maximum */
> -#define CMDQ_MAX_EVENT 0x3ff
> -
> struct cmdq_pkt;
>
> struct cmdq_client {
WARNING: multiple messages have this Message-ID (diff)
From: CK Hu <ck.hu@mediatek.com>
To: Bibby Hsieh <bibby.hsieh@mediatek.com>
Cc: devicetree@vger.kernel.org,
Nicolas Boichat <drinkcat@chromium.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
srv_heupstream@mediatek.com, kendrick.hsu@mediatek.com,
Daoyuan Huang <daoyuan.huang@mediatek.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Jassi Brar <jassisinghbrar@gmail.com>,
linux-kernel@vger.kernel.org, Daniel Kurtz <djkurtz@chromium.org>,
Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>,
YT Shen <yt.shen@mediatek.com>, Rob Herring <robh+dt@kernel.org>,
linux-mediatek@lists.infradead.org,
Houlong Wei <houlong.wei@mediatek.com>,
Sascha Hauer <kernel@pengutronix.de>,
Matthias Brugger <matthias.bgg@gmail.com>,
Jiaguang Zhang <jiaguang.zhang@mediatek.com>,
Frederic Chen <Frederic.Chen@mediatek.com>,
linux-arm-kernel@lists.infradead.org, ginny.chen@mediatek.com
Subject: Re: [PATCH v2 06/10] soc: mediatek: cmdq: clear the event in cmdq initial flow
Date: Fri, 8 Mar 2019 13:05:53 +0800 [thread overview]
Message-ID: <1552021553.2863.18.camel@mtksdaap41> (raw)
In-Reply-To: <1551865835-50974-7-git-send-email-bibby.hsieh@mediatek.com>
Hi, Bibby:
On Wed, 2019-03-06 at 17:50 +0800, Bibby Hsieh wrote:
> GCE hardware stored event information in own internal sysram,
> if the initial value in those sysram is not zero value
> it will cause a situation that gce can wait the event immediately
> after client ask gce to wait event but not really trigger the
> corresponding hardware.
>
> In order to make sure that the wait event function is
> exactly correct, we need to clear the sysram value in
> cmdq initial flow.
>
> Fixup commit 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ driver")
Please refer to [1] for the fix tag.
[1] https://www.kernel.org/doc/html/v5.0/process/submitting-patches.html
Regards,
CK
>
> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
> ---
> drivers/mailbox/mtk-cmdq-mailbox.c | 5 +++++
> include/linux/mailbox/mtk-cmdq-mailbox.h | 2 ++
> include/linux/soc/mediatek/mtk-cmdq.h | 3 ---
> 3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
> index 6db1e2d..4e744cf 100644
> --- a/drivers/mailbox/mtk-cmdq-mailbox.c
> +++ b/drivers/mailbox/mtk-cmdq-mailbox.c
> @@ -33,6 +33,7 @@
> #define CMDQ_THR_END_ADDR 0x24
> #define CMDQ_THR_WAIT_TOKEN 0x30
> #define CMDQ_THR_PRIORITY 0x40
> +#define CMDQ_SYNC_TOKEN_UPDATE 0x68
>
> #define CMDQ_THR_ACTIVE_SLOT_CYCLES 0x3200
> #define CMDQ_THR_ENABLED 0x1
> @@ -103,8 +104,12 @@ static void cmdq_thread_resume(struct cmdq_thread *thread)
>
> static void cmdq_init(struct cmdq *cmdq)
> {
> + int i;
> +
> WARN_ON(clk_enable(cmdq->clock) < 0);
> writel(CMDQ_THR_ACTIVE_SLOT_CYCLES, cmdq->base + CMDQ_THR_SLOT_CYCLES);
> + for (i = 0; i <= CMDQ_MAX_EVENT; i++)
> + writel(i, cmdq->base + CMDQ_SYNC_TOKEN_UPDATE);
> clk_disable(cmdq->clock);
> }
>
> diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> index ccb7342..911475da 100644
> --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> @@ -19,6 +19,8 @@
> #define CMDQ_WFE_UPDATE BIT(31)
> #define CMDQ_WFE_WAIT BIT(15)
> #define CMDQ_WFE_WAIT_VALUE 0x1
> +/** cmdq event maximum */
> +#define CMDQ_MAX_EVENT 0x3ff
>
> /*
> * CMDQ_CODE_MASK:
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index 54ade13..4e88999 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -13,9 +13,6 @@
>
> #define CMDQ_NO_TIMEOUT 0xffffffffu
>
> -/** cmdq event maximum */
> -#define CMDQ_MAX_EVENT 0x3ff
> -
> struct cmdq_pkt;
>
> struct cmdq_client {
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-03-08 5:06 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-06 9:50 [PATCH v2 00/10] support gce on mt8183 platform Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` [PATCH v2 01/10] dt-binding: gce: add gce header file for mt8183 Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` [PATCH v2 02/10] dt-binding: gce: add binding for gce event property Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-08 8:47 ` CK Hu
2019-03-08 8:47 ` CK Hu
2019-03-08 8:47 ` CK Hu
2019-03-06 9:50 ` [PATCH v2 03/10] dt-binding: gce: add binding for gce subsys property Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-07 1:39 ` CK Hu
2019-03-07 1:39 ` CK Hu
2019-03-07 1:39 ` CK Hu
2019-03-07 2:20 ` CK Hu
2019-03-07 2:20 ` CK Hu
2019-03-07 2:20 ` CK Hu
2019-03-08 1:41 ` CK Hu
2019-03-08 1:41 ` CK Hu
2019-03-08 1:41 ` CK Hu
2019-03-06 9:50 ` [PATCH v2 04/10] soc: mediatek: cmdq: add mt8183 compatible name Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-08 3:40 ` CK Hu
2019-03-08 3:40 ` CK Hu
2019-03-08 3:40 ` CK Hu
2019-03-06 9:50 ` [PATCH v2 05/10] soc: mediatek: cmdq: move the CMDQ_IRQ_MASK into cmdq driver data Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` [PATCH v2 06/10] soc: mediatek: cmdq: clear the event in cmdq initial flow Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-08 5:05 ` CK Hu [this message]
2019-03-08 5:05 ` CK Hu
2019-03-08 5:05 ` CK Hu
2019-03-06 9:50 ` [PATCH v2 07/10] soc: mediatek: cmdq: add packet encoder function Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` [PATCH v2 08/10] soc: mediatek: cmdq: add polling function Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 10:58 ` Pi-Hsun Shih
2019-03-06 10:58 ` Pi-Hsun Shih
2019-03-06 10:58 ` Pi-Hsun Shih
2019-03-06 9:50 ` [PATCH v2 09/10] soc: mediatek: cmdq: add cmdq_dev_get_subsys function Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` [PATCH v2 10/10] soc: mediatek: cmdq: add cmdq_dev_get_event function Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
2019-03-06 9:50 ` Bibby Hsieh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1552021553.2863.18.camel@mtksdaap41 \
--to=ck.hu@mediatek.com \
--cc=Frederic.Chen@mediatek.com \
--cc=bibby.hsieh@mediatek.com \
--cc=daoyuan.huang@mediatek.com \
--cc=dennis-yc.hsieh@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=djkurtz@chromium.org \
--cc=drinkcat@chromium.org \
--cc=ginny.chen@mediatek.com \
--cc=houlong.wei@mediatek.com \
--cc=jassisinghbrar@gmail.com \
--cc=jiaguang.zhang@mediatek.com \
--cc=kendrick.hsu@mediatek.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=p.zabel@pengutronix.de \
--cc=robh+dt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=srv_heupstream@mediatek.com \
--cc=yt.shen@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.