From: "Cousson, Benoit" <b-cousson@ti.com>
To: "Kanigeri, Hari" <h-kanigeri2@ti.com>
Cc: Hiroshi Doyu <Hiroshi.DOYU@nokia.com>,
linux omap <linux-omap@vger.kernel.org>,
Tony Lindgren <tony@atomide.com>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Fernando Guzman Lugo <x0095840@ti.com>
Subject: Re: [PATCH v3 1/5] OMAP: mailbox: change full flag per mailbox queue instead of global
Date: Fri, 19 Nov 2010 00:22:02 +0100 [thread overview]
Message-ID: <4CE5B51A.1090700@ti.com> (raw)
In-Reply-To: <1290107742-16760-2-git-send-email-h-kanigeri2@ti.com>
On 11/18/2010 8:15 PM, Kanigeri, Hari wrote:
> From: Fernando Guzman Lugo<x0095840@ti.com>
>
> As pointed by Ohad Ben-Cohen, the variable rq_full flag is a
> global variable, so if there are multiple mailbox users
> there will be conflics. Now there is a full flag per
> mailbox queue.
>
> Version 2:
> - Rebase to the latest.
> Version 3:
You should not put the patch revisions here, because it will stay in the
changelog when it will be in GIT.
You'd better put that in the cover-letter or after the ---.
Everything after --- will not be taken into account in the changelog.
Regards,
Benoit
> - Remove spin_lock protection. When the full flag is
> true the interrupt for that mailbox is disabled. So there
> is no race condition if full flag is modified before
> calling omap_mbox_enable_irq.
>
> Reported-by: Ohad Ben-Cohen<ohad@wizery.com>
> Signed-off-by: Fernando Guzman Lugo<x0095840@ti.com>
> Signed-off-by: Hari Kanigeri<h-kanigeri2@ti.com>
> ---
> arch/arm/plat-omap/include/plat/mailbox.h | 1 +
> arch/arm/plat-omap/mailbox.c | 7 +++++--
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/plat-omap/include/plat/mailbox.h b/arch/arm/plat-omap/include/plat/mailbox.h
> index 9976565..13f2ef3 100644
> --- a/arch/arm/plat-omap/include/plat/mailbox.h
> +++ b/arch/arm/plat-omap/include/plat/mailbox.h
> @@ -48,6 +48,7 @@ struct omap_mbox_queue {
> struct tasklet_struct tasklet;
> int (*callback)(void *);
> struct omap_mbox *mbox;
> + bool full;
> };
>
> struct omap_mbox {
> diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
> index d2fafb8..9ce3570 100644
> --- a/arch/arm/plat-omap/mailbox.c
> +++ b/arch/arm/plat-omap/mailbox.c
> @@ -33,7 +33,6 @@
>
> static struct workqueue_struct *mboxd;
> static struct omap_mbox **mboxes;
> -static bool rq_full;
>
> static int mbox_configured;
> static DEFINE_MUTEX(mbox_configured_lock);
> @@ -148,6 +147,10 @@ static void mbox_rx_work(struct work_struct *work)
>
> if (mq->callback)
> mq->callback((void *)msg);
> + if (mq->full) {
> + mq->full = false;
> + omap_mbox_enable_irq(mq->mbox, IRQ_RX);
> + }
> }
> }
>
> @@ -170,7 +173,7 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox)
> while (!mbox_fifo_empty(mbox)) {
> if (unlikely(kfifo_avail(&mq->fifo)< sizeof(msg))) {
> omap_mbox_disable_irq(mbox, IRQ_RX);
> - rq_full = true;
> + mq->full = true;
> goto nomem;
> }
>
WARNING: multiple messages have this Message-ID (diff)
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 1/5] OMAP: mailbox: change full flag per mailbox queue instead of global
Date: Fri, 19 Nov 2010 00:22:02 +0100 [thread overview]
Message-ID: <4CE5B51A.1090700@ti.com> (raw)
In-Reply-To: <1290107742-16760-2-git-send-email-h-kanigeri2@ti.com>
On 11/18/2010 8:15 PM, Kanigeri, Hari wrote:
> From: Fernando Guzman Lugo<x0095840@ti.com>
>
> As pointed by Ohad Ben-Cohen, the variable rq_full flag is a
> global variable, so if there are multiple mailbox users
> there will be conflics. Now there is a full flag per
> mailbox queue.
>
> Version 2:
> - Rebase to the latest.
> Version 3:
You should not put the patch revisions here, because it will stay in the
changelog when it will be in GIT.
You'd better put that in the cover-letter or after the ---.
Everything after --- will not be taken into account in the changelog.
Regards,
Benoit
> - Remove spin_lock protection. When the full flag is
> true the interrupt for that mailbox is disabled. So there
> is no race condition if full flag is modified before
> calling omap_mbox_enable_irq.
>
> Reported-by: Ohad Ben-Cohen<ohad@wizery.com>
> Signed-off-by: Fernando Guzman Lugo<x0095840@ti.com>
> Signed-off-by: Hari Kanigeri<h-kanigeri2@ti.com>
> ---
> arch/arm/plat-omap/include/plat/mailbox.h | 1 +
> arch/arm/plat-omap/mailbox.c | 7 +++++--
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/plat-omap/include/plat/mailbox.h b/arch/arm/plat-omap/include/plat/mailbox.h
> index 9976565..13f2ef3 100644
> --- a/arch/arm/plat-omap/include/plat/mailbox.h
> +++ b/arch/arm/plat-omap/include/plat/mailbox.h
> @@ -48,6 +48,7 @@ struct omap_mbox_queue {
> struct tasklet_struct tasklet;
> int (*callback)(void *);
> struct omap_mbox *mbox;
> + bool full;
> };
>
> struct omap_mbox {
> diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
> index d2fafb8..9ce3570 100644
> --- a/arch/arm/plat-omap/mailbox.c
> +++ b/arch/arm/plat-omap/mailbox.c
> @@ -33,7 +33,6 @@
>
> static struct workqueue_struct *mboxd;
> static struct omap_mbox **mboxes;
> -static bool rq_full;
>
> static int mbox_configured;
> static DEFINE_MUTEX(mbox_configured_lock);
> @@ -148,6 +147,10 @@ static void mbox_rx_work(struct work_struct *work)
>
> if (mq->callback)
> mq->callback((void *)msg);
> + if (mq->full) {
> + mq->full = false;
> + omap_mbox_enable_irq(mq->mbox, IRQ_RX);
> + }
> }
> }
>
> @@ -170,7 +173,7 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox)
> while (!mbox_fifo_empty(mbox)) {
> if (unlikely(kfifo_avail(&mq->fifo)< sizeof(msg))) {
> omap_mbox_disable_irq(mbox, IRQ_RX);
> - rq_full = true;
> + mq->full = true;
> goto nomem;
> }
>
next prev parent reply other threads:[~2010-11-18 23:21 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-18 19:15 [PATCH v3 0/5] OMAP: mailbox: enhancements and fixes Hari Kanigeri
2010-11-18 19:15 ` Hari Kanigeri
2010-11-18 19:15 ` [PATCH v3 1/5] OMAP: mailbox: change full flag per mailbox queue instead of global Hari Kanigeri
2010-11-18 19:15 ` Hari Kanigeri
2010-11-18 23:22 ` Cousson, Benoit [this message]
2010-11-18 23:22 ` Cousson, Benoit
2010-11-18 19:15 ` [PATCH v3 2/5] OMAP: mailbox: fix rx interrupt disable in omap4 Hari Kanigeri
2010-11-18 19:15 ` Hari Kanigeri
2010-11-18 23:28 ` Cousson, Benoit
2010-11-18 23:28 ` Cousson, Benoit
2010-11-19 0:07 ` Kanigeri, Hari
2010-11-19 0:07 ` Kanigeri, Hari
2010-11-19 8:32 ` Felipe Balbi
2010-11-19 8:32 ` Felipe Balbi
2010-11-19 14:22 ` Kanigeri, Hari
2010-11-19 14:22 ` Kanigeri, Hari
2010-11-19 14:50 ` Cousson, Benoit
2010-11-19 14:50 ` Cousson, Benoit
2010-11-22 10:08 ` Felipe Balbi
2010-11-22 10:08 ` Felipe Balbi
2010-11-22 11:46 ` Kanigeri, Hari
2010-11-22 11:46 ` Kanigeri, Hari
2010-11-22 11:51 ` Felipe Balbi
2010-11-22 11:51 ` Felipe Balbi
2010-11-22 11:58 ` Kanigeri, Hari
2010-11-22 11:58 ` Kanigeri, Hari
2010-11-22 14:57 ` Cousson, Benoit
2010-11-22 14:57 ` Cousson, Benoit
2010-11-22 14:55 ` Cousson, Benoit
2010-11-22 14:55 ` Cousson, Benoit
2010-11-23 8:10 ` Felipe Balbi
2010-11-23 8:10 ` Felipe Balbi
2010-11-19 8:32 ` Felipe Balbi
2010-11-19 8:32 ` Felipe Balbi
2010-11-18 19:15 ` [PATCH v3 3/5] OMAP: mailbox: fix checkpatch warnings Hari Kanigeri
2010-11-18 19:15 ` Hari Kanigeri
2010-11-19 8:33 ` Felipe Balbi
2010-11-19 8:33 ` Felipe Balbi
2010-11-19 11:52 ` Kanigeri, Hari
2010-11-19 11:52 ` Kanigeri, Hari
2010-11-18 19:15 ` [PATCH v3 4/5] OMAP: mailbox: send message in process context Hari Kanigeri
2010-11-18 19:15 ` Hari Kanigeri
2010-11-19 8:34 ` Felipe Balbi
2010-11-19 8:34 ` Felipe Balbi
2010-11-18 19:15 ` [PATCH v3 5/5] OMAP: mailbox: add notification support for multiple readers Hari Kanigeri
2010-11-18 19:15 ` Hari Kanigeri
2010-11-19 8:50 ` Felipe Balbi
2010-11-19 8:50 ` Felipe Balbi
2010-11-19 11:50 ` Kanigeri, Hari
2010-11-19 11:50 ` Kanigeri, Hari
2010-11-19 12:09 ` Felipe Balbi
2010-11-19 12:09 ` Felipe Balbi
2010-11-19 12:29 ` Kanigeri, Hari
2010-11-19 12:29 ` Kanigeri, Hari
2010-11-19 12:53 ` Felipe Balbi
2010-11-19 12:53 ` Felipe Balbi
2010-11-19 13:57 ` Kanigeri, Hari
2010-11-19 13:57 ` Kanigeri, Hari
2010-11-19 14:25 ` Felipe Balbi
2010-11-19 14:25 ` Felipe Balbi
2010-11-19 14:44 ` Kanigeri, Hari
2010-11-19 14:44 ` Kanigeri, Hari
2010-11-19 23:07 ` Felipe Balbi
2010-11-19 23:07 ` Felipe Balbi
2010-11-20 4:01 ` Kanigeri, Hari
2010-11-20 4:01 ` Kanigeri, Hari
2010-11-20 11:31 ` Felipe Balbi
2010-11-20 11:31 ` Felipe Balbi
2010-11-20 13:26 ` Kanigeri, Hari
2010-11-20 13:26 ` Kanigeri, Hari
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=4CE5B51A.1090700@ti.com \
--to=b-cousson@ti.com \
--cc=Hiroshi.DOYU@nokia.com \
--cc=h-kanigeri2@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.com \
--cc=x0095840@ti.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.