From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Jarkko Nikula <jhnikula@gmail.com>,
linux-omap@vger.kernel.org,
Peter Ujfalusi <peter.ujfalusi@nokia.com>
Subject: [PATCH 06/14] omap: McBSP: Do not use extensive spin locks for dma_op_mode
Date: Thu, 12 Nov 2009 16:08:24 -0800 [thread overview]
Message-ID: <20091113000824.9034.79893.stgit@localhost> (raw)
In-Reply-To: <20091113000444.9034.41293.stgit@localhost>
From: Peter Ujfalusi <peter.ujfalusi@nokia.com>
The use of the spin lock, which supposed to protect the the
dma_op_mode causing "INFO: inconsistent lock state" on
playback start.
Remove the spin locks around the dma_op_mode, when it's
purpuse is to protect the dma_op_mode.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/mcbsp.c | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 9277033..2cc1cc3 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -298,9 +298,7 @@ int omap_mcbsp_get_dma_op_mode(unsigned int id)
}
mcbsp = id_to_mcbsp_ptr(id);
- spin_lock_irq(&mcbsp->lock);
dma_op_mode = mcbsp->dma_op_mode;
- spin_unlock_irq(&mcbsp->lock);
return dma_op_mode;
}
@@ -318,7 +316,6 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03));
- spin_lock_irq(&mcbsp->lock);
if (mcbsp->dma_op_mode == MCBSP_DMA_MODE_THRESHOLD) {
syscon |= (ENAWAKEUP | SIDLEMODE(0x02) |
CLOCKACTIVITY(0x02));
@@ -327,7 +324,6 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
} else {
syscon |= SIDLEMODE(0x01);
}
- spin_unlock_irq(&mcbsp->lock);
OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
}
@@ -1145,9 +1141,7 @@ static ssize_t dma_op_mode_show(struct device *dev,
ssize_t len = 0;
const char * const *s;
- spin_lock_irq(&mcbsp->lock);
dma_op_mode = mcbsp->dma_op_mode;
- spin_unlock_irq(&mcbsp->lock);
for (s = &dma_op_modes[i]; i < ARRAY_SIZE(dma_op_modes); s++, i++) {
if (dma_op_mode == i)
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/14] omap: McBSP: Do not use extensive spin locks for dma_op_mode
Date: Thu, 12 Nov 2009 16:08:24 -0800 [thread overview]
Message-ID: <20091113000824.9034.79893.stgit@localhost> (raw)
In-Reply-To: <20091113000444.9034.41293.stgit@localhost>
From: Peter Ujfalusi <peter.ujfalusi@nokia.com>
The use of the spin lock, which supposed to protect the the
dma_op_mode causing "INFO: inconsistent lock state" on
playback start.
Remove the spin locks around the dma_op_mode, when it's
purpuse is to protect the dma_op_mode.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/mcbsp.c | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 9277033..2cc1cc3 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -298,9 +298,7 @@ int omap_mcbsp_get_dma_op_mode(unsigned int id)
}
mcbsp = id_to_mcbsp_ptr(id);
- spin_lock_irq(&mcbsp->lock);
dma_op_mode = mcbsp->dma_op_mode;
- spin_unlock_irq(&mcbsp->lock);
return dma_op_mode;
}
@@ -318,7 +316,6 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03));
- spin_lock_irq(&mcbsp->lock);
if (mcbsp->dma_op_mode == MCBSP_DMA_MODE_THRESHOLD) {
syscon |= (ENAWAKEUP | SIDLEMODE(0x02) |
CLOCKACTIVITY(0x02));
@@ -327,7 +324,6 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
} else {
syscon |= SIDLEMODE(0x01);
}
- spin_unlock_irq(&mcbsp->lock);
OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
}
@@ -1145,9 +1141,7 @@ static ssize_t dma_op_mode_show(struct device *dev,
ssize_t len = 0;
const char * const *s;
- spin_lock_irq(&mcbsp->lock);
dma_op_mode = mcbsp->dma_op_mode;
- spin_unlock_irq(&mcbsp->lock);
for (s = &dma_op_modes[i]; i < ARRAY_SIZE(dma_op_modes); s++, i++) {
if (dma_op_mode == i)
next prev parent reply other threads:[~2009-11-13 0:08 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-13 0:07 [PATCH 00/14] Omap low-level device init updates for 2.6.33 Tony Lindgren
2009-11-13 0:07 ` Tony Lindgren
2009-11-13 0:07 ` [PATCH 01/14] omap: update plat/usb.h to allow ehci driver to build Tony Lindgren
2009-11-13 0:07 ` Tony Lindgren
2009-11-13 0:07 ` [PATCH 02/14] omap: Add platform init code for EHCI driver Tony Lindgren
2009-11-13 0:07 ` Tony Lindgren
2009-11-13 0:07 ` [PATCH 03/14] omap: iommu: avoid remapping if it's been mapped in MPU side Tony Lindgren
2009-11-13 0:07 ` Tony Lindgren
2009-11-13 0:08 ` [PATCH 04/14] omap: iovmm: remove cache flush operation Tony Lindgren
2009-11-13 0:08 ` Tony Lindgren
2009-11-13 0:08 ` [PATCH 05/14] omap: iommu: reorganize Tony Lindgren
2009-11-13 0:08 ` Tony Lindgren
2009-11-13 0:08 ` Tony Lindgren [this message]
2009-11-13 0:08 ` [PATCH 06/14] omap: McBSP: Do not use extensive spin locks for dma_op_mode Tony Lindgren
2009-11-13 0:08 ` [PATCH 07/14] omap3630: Add HSMMC related checks Tony Lindgren
2009-11-13 0:08 ` Tony Lindgren
2009-11-13 0:08 ` [PATCH 08/14] omap3630: Configure HSMMC1 to 4-bit Tony Lindgren
2009-11-13 0:08 ` Tony Lindgren
2009-11-13 0:08 ` [PATCH 09/14] omap3630: Set omap3630 MMC1 I/O speed to 52Mhz Tony Lindgren
2009-11-13 0:08 ` Tony Lindgren
2009-11-13 0:09 ` [PATCH 10/14] omap3: HSMMC2 8-bit mux configuration Tony Lindgren
2009-11-13 0:09 ` Tony Lindgren
2009-11-13 0:09 ` [PATCH 11/14] omap3: evm: make HSMMC driver built-in Tony Lindgren
2009-11-13 0:09 ` Tony Lindgren
2009-11-13 0:09 ` [PATCH 12/14] omap3: move check_revision above check_features Tony Lindgren
2009-11-13 0:09 ` Tony Lindgren
2009-11-13 20:55 ` [PATCH 12/14] omap3: move check_revision above check_features, v2 Tony Lindgren
2009-11-13 20:55 ` Tony Lindgren
2009-11-13 0:09 ` [PATCH 13/14] omap3: keep SoC features on the same line Tony Lindgren
2009-11-13 0:09 ` Tony Lindgren
2009-11-13 0:09 ` [PATCH 14/14] omap3: drop all IVA-related address base definitions Tony Lindgren
2009-11-13 0:09 ` Tony Lindgren
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=20091113000824.9034.79893.stgit@localhost \
--to=tony@atomide.com \
--cc=jhnikula@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=peter.ujfalusi@nokia.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.