From: Matthias Brugger <matthias.bgg@gmail.com> To: Bibby Hsieh <bibby.hsieh@mediatek.com>, Jassi Brar <jassisinghbrar@gmail.com>, Rob Herring <robh+dt@kernel.org>, CK HU <ck.hu@mediatek.com> Cc: 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 Subject: Re: [RESEND, PATCH v13 04/12] mailbox: mediatek: cmdq: move the CMDQ_IRQ_MASK into cmdq driver data Date: Fri, 23 Aug 2019 13:32:54 +0200 [thread overview] Message-ID: <7e282a0e-6366-0cb5-29af-5fef4278d17c@gmail.com> (raw) In-Reply-To: <20190820084932.22282-5-bibby.hsieh@mediatek.com> On 20/08/2019 10:49, Bibby Hsieh wrote: > The interrupt mask and thread number has positive correlation, > so we move the CMDQ_IRQ_MASK into cmdq driver data and calculate > it by thread number. > > Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com> > Reviewed-by: CK Hu <ck.hu@mediatek.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> > --- > drivers/mailbox/mtk-cmdq-mailbox.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c > index 00d5219094e5..8fddd26288e8 100644 > --- a/drivers/mailbox/mtk-cmdq-mailbox.c > +++ b/drivers/mailbox/mtk-cmdq-mailbox.c > @@ -18,7 +18,6 @@ > #include <linux/of_device.h> > > #define CMDQ_OP_CODE_MASK (0xff << CMDQ_OP_CODE_SHIFT) > -#define CMDQ_IRQ_MASK 0xffff > #define CMDQ_NUM_CMD(t) (t->cmd_buf_size / CMDQ_INST_SIZE) > > #define CMDQ_CURR_IRQ_STATUS 0x10 > @@ -72,6 +71,7 @@ struct cmdq { > void __iomem *base; > u32 irq; > u32 thread_nr; > + u32 irq_mask; > struct cmdq_thread *thread; > struct clk *clock; > bool suspended; > @@ -285,11 +285,11 @@ static irqreturn_t cmdq_irq_handler(int irq, void *dev) > unsigned long irq_status, flags = 0L; > int bit; > > - irq_status = readl(cmdq->base + CMDQ_CURR_IRQ_STATUS) & CMDQ_IRQ_MASK; > - if (!(irq_status ^ CMDQ_IRQ_MASK)) > + irq_status = readl(cmdq->base + CMDQ_CURR_IRQ_STATUS) & cmdq->irq_mask; > + if (!(irq_status ^ cmdq->irq_mask)) > return IRQ_NONE; > > - for_each_clear_bit(bit, &irq_status, fls(CMDQ_IRQ_MASK)) { > + for_each_clear_bit(bit, &irq_status, cmdq->thread_nr) { > struct cmdq_thread *thread = &cmdq->thread[bit]; > > spin_lock_irqsave(&thread->chan->lock, flags); > @@ -473,6 +473,9 @@ static int cmdq_probe(struct platform_device *pdev) > dev_err(dev, "failed to get irq\n"); > return -EINVAL; > } > + > + cmdq->thread_nr = (u32)(unsigned long)of_device_get_match_data(dev); > + cmdq->irq_mask = GENMASK(cmdq->thread_nr - 1, 0); > err = devm_request_irq(dev, cmdq->irq, cmdq_irq_handler, IRQF_SHARED, > "mtk_cmdq", cmdq); > if (err < 0) { > @@ -489,7 +492,6 @@ static int cmdq_probe(struct platform_device *pdev) > return PTR_ERR(cmdq->clock); > } > > - cmdq->thread_nr = (u32)(unsigned long)of_device_get_match_data(dev); > cmdq->mbox.dev = dev; > cmdq->mbox.chans = devm_kcalloc(dev, cmdq->thread_nr, > sizeof(*cmdq->mbox.chans), GFP_KERNEL); >
WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <matthias.bgg@gmail.com> To: Bibby Hsieh <bibby.hsieh@mediatek.com>, Jassi Brar <jassisinghbrar@gmail.com>, Rob Herring <robh+dt@kernel.org>, CK HU <ck.hu@mediatek.com> Cc: devicetree@vger.kernel.org, Nicolas Boichat <drinkcat@chromium.org>, Philipp Zabel <p.zabel@pengutronix.de>, srv_heupstream@mediatek.com, Daoyuan Huang <daoyuan.huang@mediatek.com>, Sascha Hauer <s.hauer@pengutronix.de>, linux-kernel@vger.kernel.org, Daniel Kurtz <djkurtz@chromium.org>, Dennis-YC Hsieh <dennis-yc.hsieh@mediatek.com>, linux-mediatek@lists.infradead.org, Houlong Wei <houlong.wei@mediatek.com>, Sascha Hauer <kernel@pengutronix.de>, YT Shen <yt.shen@mediatek.com>, Jiaguang Zhang <jiaguang.zhang@mediatek.com>, linux-arm-kernel@lists.infradead.org, ginny.chen@mediatek.com Subject: Re: [RESEND, PATCH v13 04/12] mailbox: mediatek: cmdq: move the CMDQ_IRQ_MASK into cmdq driver data Date: Fri, 23 Aug 2019 13:32:54 +0200 [thread overview] Message-ID: <7e282a0e-6366-0cb5-29af-5fef4278d17c@gmail.com> (raw) In-Reply-To: <20190820084932.22282-5-bibby.hsieh@mediatek.com> On 20/08/2019 10:49, Bibby Hsieh wrote: > The interrupt mask and thread number has positive correlation, > so we move the CMDQ_IRQ_MASK into cmdq driver data and calculate > it by thread number. > > Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com> > Reviewed-by: CK Hu <ck.hu@mediatek.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> > --- > drivers/mailbox/mtk-cmdq-mailbox.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c > index 00d5219094e5..8fddd26288e8 100644 > --- a/drivers/mailbox/mtk-cmdq-mailbox.c > +++ b/drivers/mailbox/mtk-cmdq-mailbox.c > @@ -18,7 +18,6 @@ > #include <linux/of_device.h> > > #define CMDQ_OP_CODE_MASK (0xff << CMDQ_OP_CODE_SHIFT) > -#define CMDQ_IRQ_MASK 0xffff > #define CMDQ_NUM_CMD(t) (t->cmd_buf_size / CMDQ_INST_SIZE) > > #define CMDQ_CURR_IRQ_STATUS 0x10 > @@ -72,6 +71,7 @@ struct cmdq { > void __iomem *base; > u32 irq; > u32 thread_nr; > + u32 irq_mask; > struct cmdq_thread *thread; > struct clk *clock; > bool suspended; > @@ -285,11 +285,11 @@ static irqreturn_t cmdq_irq_handler(int irq, void *dev) > unsigned long irq_status, flags = 0L; > int bit; > > - irq_status = readl(cmdq->base + CMDQ_CURR_IRQ_STATUS) & CMDQ_IRQ_MASK; > - if (!(irq_status ^ CMDQ_IRQ_MASK)) > + irq_status = readl(cmdq->base + CMDQ_CURR_IRQ_STATUS) & cmdq->irq_mask; > + if (!(irq_status ^ cmdq->irq_mask)) > return IRQ_NONE; > > - for_each_clear_bit(bit, &irq_status, fls(CMDQ_IRQ_MASK)) { > + for_each_clear_bit(bit, &irq_status, cmdq->thread_nr) { > struct cmdq_thread *thread = &cmdq->thread[bit]; > > spin_lock_irqsave(&thread->chan->lock, flags); > @@ -473,6 +473,9 @@ static int cmdq_probe(struct platform_device *pdev) > dev_err(dev, "failed to get irq\n"); > return -EINVAL; > } > + > + cmdq->thread_nr = (u32)(unsigned long)of_device_get_match_data(dev); > + cmdq->irq_mask = GENMASK(cmdq->thread_nr - 1, 0); > err = devm_request_irq(dev, cmdq->irq, cmdq_irq_handler, IRQF_SHARED, > "mtk_cmdq", cmdq); > if (err < 0) { > @@ -489,7 +492,6 @@ static int cmdq_probe(struct platform_device *pdev) > return PTR_ERR(cmdq->clock); > } > > - cmdq->thread_nr = (u32)(unsigned long)of_device_get_match_data(dev); > cmdq->mbox.dev = dev; > cmdq->mbox.chans = devm_kcalloc(dev, cmdq->thread_nr, > sizeof(*cmdq->mbox.chans), GFP_KERNEL); > _______________________________________________ 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-08-23 11:33 UTC|newest] Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-20 8:49 [RESEND, PATCH v13 00/12] support gce on mt8183 platform Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` [RESEND, PATCH v13 01/12] dt-binding: gce: remove thread-num property Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` [RESEND, PATCH v13 02/12] dt-binding: gce: add gce header file for mt8183 Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` [RESEND, PATCH v13 03/12] dt-binding: gce: add binding for gce client reg property Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` [RESEND, PATCH v13 04/12] mailbox: mediatek: cmdq: move the CMDQ_IRQ_MASK into cmdq driver data Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-23 11:32 ` Matthias Brugger [this message] 2019-08-23 11:32 ` Matthias Brugger 2019-08-20 8:49 ` [RESEND, PATCH v13 05/12] mailbox: mediatek: cmdq: support mt8183 gce function Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` [RESEND, PATCH v13 06/12] soc: mediatek: cmdq: clear the event in cmdq initial flow Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-23 11:36 ` Matthias Brugger 2019-08-23 11:36 ` Matthias Brugger 2019-08-23 11:43 ` Matthias Brugger 2019-08-23 11:43 ` Matthias Brugger 2019-08-20 8:49 ` [RESEND, PATCH v13 07/12] soc: mediatek: cmdq: reorder the parameter Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-23 12:05 ` Matthias Brugger 2019-08-23 12:05 ` Matthias Brugger 2019-08-20 8:49 ` [RESEND, PATCH v13 08/12] soc: mediatek: cmdq: change the type of input parameter Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-23 12:09 ` Matthias Brugger 2019-08-23 12:09 ` Matthias Brugger 2019-08-20 8:49 ` [RESEND, PATCH v13 09/12] soc: mediatek: cmdq: define the instruction struct Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 9:39 ` houlong wei 2019-08-20 9:39 ` houlong wei 2019-08-20 9:39 ` houlong wei 2019-08-23 13:50 ` Matthias Brugger 2019-08-23 13:50 ` Matthias Brugger 2019-08-27 4:12 ` Bibby Hsieh 2019-08-27 4:12 ` Bibby Hsieh 2019-08-27 4:12 ` Bibby Hsieh 2019-08-27 10:04 ` Matthias Brugger 2019-08-27 10:04 ` Matthias Brugger 2019-08-20 8:49 ` [RESEND, PATCH v13 10/12] soc: mediatek: cmdq: add polling function Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 9:50 ` houlong wei 2019-08-20 9:50 ` houlong wei 2019-08-20 9:50 ` houlong wei 2019-08-23 14:05 ` Matthias Brugger 2019-08-23 14:05 ` Matthias Brugger 2019-08-27 4:07 ` Bibby Hsieh 2019-08-27 4:07 ` Bibby Hsieh 2019-08-27 4:07 ` Bibby Hsieh 2019-08-20 8:49 ` [RESEND, PATCH v13 11/12] soc: mediatek: cmdq: add cmdq_dev_get_client_reg function Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 9:40 ` houlong wei 2019-08-20 9:40 ` houlong wei 2019-08-20 9:40 ` houlong wei 2019-08-20 9:47 ` houlong wei 2019-08-20 9:47 ` houlong wei 2019-08-20 9:47 ` houlong wei 2019-08-23 14:21 ` Matthias Brugger 2019-08-23 14:21 ` Matthias Brugger 2019-08-27 3:59 ` Bibby Hsieh 2019-08-27 3:59 ` Bibby Hsieh 2019-08-27 3:59 ` Bibby Hsieh 2019-08-27 10:13 ` Matthias Brugger 2019-08-27 10:13 ` Matthias Brugger 2019-08-28 8:32 ` Bibby Hsieh 2019-08-28 8:32 ` Bibby Hsieh 2019-08-28 8:32 ` Bibby Hsieh 2019-08-20 8:49 ` [RESEND, PATCH v13 12/12] arm64: dts: add gce node for mt8183 Bibby Hsieh 2019-08-20 8:49 ` Bibby Hsieh 2019-08-20 8:49 ` 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=7e282a0e-6366-0cb5-29af-5fef4278d17c@gmail.com \ --to=matthias.bgg@gmail.com \ --cc=bibby.hsieh@mediatek.com \ --cc=ck.hu@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=kernel@pengutronix.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --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: linkBe 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.