linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] McBSP changes for OMAP4 platform
@ 2010-05-12 17:18 Jorge Eduardo Candelaria
  2010-05-12 17:18 ` [PATCH v3 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jorge Eduardo Candelaria @ 2010-05-12 17:18 UTC (permalink / raw)
  To: linux-omap; +Cc: lrg, broonie

The following patches enable McBSP driver to be used along with the
audio driver in SDP4430 and other OMAP4 based boards.

Changes from v2:
- Fixed missing parentheses.
- Added Acked-by tag to patch #1.
- Sending to alsa-devel list also, as suggested by Peter Ujfalusi
  and Liam Girdwood

Jorge Eduardo Candelaria (2):
      ARM: McBSP: Fix request for irq in OMAP4
      ARM: OMAP4: Add support for omap4 in McBSP driver

 arch/arm/mach-omap2/mcbsp.c |   12 ++++--------
 arch/arm/plat-omap/mcbsp.c  |   34 +++++++++++++++++++---------------
 2 files changed, 23 insertions(+), 23 deletions(-)


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 1/2] ARM: McBSP: Fix request for irq in OMAP4
  2010-05-12 17:18 [PATCH v3 0/2] McBSP changes for OMAP4 platform Jorge Eduardo Candelaria
@ 2010-05-12 17:18 ` Jorge Eduardo Candelaria
  2010-05-12 17:18   ` [PATCH v3 2/2] ARM: McBSP: Add support for omap4 in McBSP driver Jorge Eduardo Candelaria
  2010-05-13  8:19 ` [PATCH v3 0/2] McBSP changes for OMAP4 platform Mark Brown
  2010-05-14 10:23 ` Liam Girdwood
  2 siblings, 1 reply; 8+ messages in thread
From: Jorge Eduardo Candelaria @ 2010-05-12 17:18 UTC (permalink / raw)
  To: linux-omap; +Cc: lrg, broonie, Jorge Eduardo Candelaria

In OMAP4, there is only one irq line for TX and RX paths. Use
the correct irq line to avoid errors at runtime.

Also, request irq line only once (instead of requesting for TX
and RX).

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
---
 arch/arm/mach-omap2/mcbsp.c |   12 ++++--------
 arch/arm/plat-omap/mcbsp.c  |   20 ++++++++++++--------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
index 2f3cad6..c293370 100644
--- a/arch/arm/mach-omap2/mcbsp.c
+++ b/arch/arm/mach-omap2/mcbsp.c
@@ -187,32 +187,28 @@ static struct omap_mcbsp_platform_data omap44xx_mcbsp_pdata[] = {
 		.phys_base      = OMAP44XX_MCBSP1_BASE,
 		.dma_rx_sync    = OMAP44XX_DMA_MCBSP1_RX,
 		.dma_tx_sync    = OMAP44XX_DMA_MCBSP1_TX,
-		.rx_irq         = INT_24XX_MCBSP1_IRQ_RX,
-		.tx_irq         = INT_24XX_MCBSP1_IRQ_TX,
+		.tx_irq         = OMAP44XX_IRQ_MCBSP1,
 		.ops            = &omap2_mcbsp_ops,
 	},
 	{
 		.phys_base      = OMAP44XX_MCBSP2_BASE,
 		.dma_rx_sync    = OMAP44XX_DMA_MCBSP2_RX,
 		.dma_tx_sync    = OMAP44XX_DMA_MCBSP2_TX,
-		.rx_irq         = INT_24XX_MCBSP2_IRQ_RX,
-		.tx_irq         = INT_24XX_MCBSP2_IRQ_TX,
+		.tx_irq         = OMAP44XX_IRQ_MCBSP2,
 		.ops            = &omap2_mcbsp_ops,
 	},
 	{
 		.phys_base      = OMAP44XX_MCBSP3_BASE,
 		.dma_rx_sync    = OMAP44XX_DMA_MCBSP3_RX,
 		.dma_tx_sync    = OMAP44XX_DMA_MCBSP3_TX,
-		.rx_irq         = INT_24XX_MCBSP3_IRQ_RX,
-		.tx_irq         = INT_24XX_MCBSP3_IRQ_TX,
+		.tx_irq         = OMAP44XX_IRQ_MCBSP3,
 		.ops            = &omap2_mcbsp_ops,
 	},
 	{
 		.phys_base      = OMAP44XX_MCBSP4_BASE,
 		.dma_rx_sync    = OMAP44XX_DMA_MCBSP4_RX,
 		.dma_tx_sync    = OMAP44XX_DMA_MCBSP4_TX,
-		.rx_irq         = INT_24XX_MCBSP4_IRQ_RX,
-		.tx_irq         = INT_24XX_MCBSP4_IRQ_TX,
+		.tx_irq         = OMAP44XX_IRQ_MCBSP4,
 		.ops            = &omap2_mcbsp_ops,
 	},
 };
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index e1d0440..6696eb6 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -724,14 +724,17 @@ int omap_mcbsp_request(unsigned int id)
 			goto err_clk_disable;
 		}
 
-		init_completion(&mcbsp->rx_irq_completion);
-		err = request_irq(mcbsp->rx_irq, omap_mcbsp_rx_irq_handler,
+		if (mcbsp->rx_irq) {
+			init_completion(&mcbsp->rx_irq_completion);
+			err = request_irq(mcbsp->rx_irq,
+					omap_mcbsp_rx_irq_handler,
 					0, "McBSP", (void *)mcbsp);
-		if (err != 0) {
-			dev_err(mcbsp->dev, "Unable to request RX IRQ %d "
-					"for McBSP%d\n", mcbsp->rx_irq,
-					mcbsp->id);
-			goto err_free_irq;
+			if (err != 0) {
+				dev_err(mcbsp->dev, "Unable to request RX IRQ %d "
+						"for McBSP%d\n", mcbsp->rx_irq,
+						mcbsp->id);
+				goto err_free_irq;
+			}
 		}
 	}
 
@@ -781,7 +784,8 @@ void omap_mcbsp_free(unsigned int id)
 
 	if (mcbsp->io_type == OMAP_MCBSP_IRQ_IO) {
 		/* Free IRQs */
-		free_irq(mcbsp->rx_irq, (void *)mcbsp);
+		if (mcbsp->rx_irq)
+			free_irq(mcbsp->rx_irq, (void *)mcbsp);
 		free_irq(mcbsp->tx_irq, (void *)mcbsp);
 	}
 
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 2/2] ARM: McBSP: Add support for omap4 in McBSP driver
  2010-05-12 17:18 ` [PATCH v3 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria
@ 2010-05-12 17:18   ` Jorge Eduardo Candelaria
  2010-05-14  5:51     ` Jarkko Nikula
  0 siblings, 1 reply; 8+ messages in thread
From: Jorge Eduardo Candelaria @ 2010-05-12 17:18 UTC (permalink / raw)
  To: linux-omap
  Cc: lrg, broonie, Jorge Eduardo Candelaria, Margarita Olaya Cabrera

McBSP module in OMAP4 needs to be able to set its tx/rx threshold
and enable the transmitter/receiver when starting an audio stream.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
---
 arch/arm/plat-omap/mcbsp.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 6696eb6..6dbe669 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -489,7 +489,7 @@ void omap_mcbsp_set_tx_threshold(unsigned int id, u16 threshold)
 {
 	struct omap_mcbsp *mcbsp;
 
-	if (!cpu_is_omap34xx())
+	if (!cpu_is_omap34xx() && !cpu_is_omap44xx())
 		return;
 
 	if (!omap_mcbsp_check_valid_id(id)) {
@@ -511,7 +511,7 @@ void omap_mcbsp_set_rx_threshold(unsigned int id, u16 threshold)
 {
 	struct omap_mcbsp *mcbsp;
 
-	if (!cpu_is_omap34xx())
+	if (!cpu_is_omap34xx() && !cpu_is_omap44xx())
 		return;
 
 	if (!omap_mcbsp_check_valid_id(id)) {
@@ -587,7 +587,7 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
 	 * Enable wakup behavior, smart idle and all wakeups
 	 * REVISIT: some wakeups may be unnecessary
 	 */
-	if (cpu_is_omap34xx()) {
+	if (cpu_is_omap34xx() || cpu_is_omap44xx()) {
 		u16 syscon;
 
 		syscon = MCBSP_READ(mcbsp, SYSCON);
@@ -610,7 +610,7 @@ static inline void omap34xx_mcbsp_free(struct omap_mcbsp *mcbsp)
 	/*
 	 * Disable wakup behavior, smart idle and all wakeups
 	 */
-	if (cpu_is_omap34xx()) {
+	if (cpu_is_omap34xx() || cpu_is_omap44xx()) {
 		u16 syscon;
 
 		syscon = MCBSP_READ(mcbsp, SYSCON);
@@ -859,7 +859,7 @@ void omap_mcbsp_start(unsigned int id, int tx, int rx)
 		MCBSP_WRITE(mcbsp, SPCR2, w | (1 << 7));
 	}
 
-	if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+	if (cpu_is_omap2430() || cpu_is_omap34xx() || cpu_is_omap44xx()) {
 		/* Release the transmitter and receiver */
 		w = MCBSP_READ_CACHE(mcbsp, XCCR);
 		w &= ~(tx ? XDISABLE : 0);
@@ -889,7 +889,7 @@ void omap_mcbsp_stop(unsigned int id, int tx, int rx)
 
 	/* Reset transmitter */
 	tx &= 1;
-	if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+	if (cpu_is_omap2430() || cpu_is_omap34xx() || cpu_is_omap44xx()) {
 		w = MCBSP_READ_CACHE(mcbsp, XCCR);
 		w |= (tx ? XDISABLE : 0);
 		MCBSP_WRITE(mcbsp, XCCR, w);
@@ -899,7 +899,7 @@ void omap_mcbsp_stop(unsigned int id, int tx, int rx)
 
 	/* Reset receiver */
 	rx &= 1;
-	if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+	if (cpu_is_omap2430() || cpu_is_omap34xx() || cpu_is_omap44xx()) {
 		w = MCBSP_READ_CACHE(mcbsp, RCCR);
 		w |= (rx ? RDISABLE : 0);
 		MCBSP_WRITE(mcbsp, RCCR, w);
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/2] McBSP changes for OMAP4 platform
  2010-05-12 17:18 [PATCH v3 0/2] McBSP changes for OMAP4 platform Jorge Eduardo Candelaria
  2010-05-12 17:18 ` [PATCH v3 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria
@ 2010-05-13  8:19 ` Mark Brown
  2010-05-13  9:29   ` Liam Girdwood
  2010-05-14 10:23 ` Liam Girdwood
  2 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2010-05-13  8:19 UTC (permalink / raw)
  To: Jorge Eduardo Candelaria; +Cc: linux-omap, lrg

On Wed, May 12, 2010 at 12:18:38PM -0500, Jorge Eduardo Candelaria wrote:
> The following patches enable McBSP driver to be used along with the
> audio driver in SDP4430 and other OMAP4 based boards.

Both

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/2] McBSP changes for OMAP4 platform
  2010-05-13  8:19 ` [PATCH v3 0/2] McBSP changes for OMAP4 platform Mark Brown
@ 2010-05-13  9:29   ` Liam Girdwood
  2010-05-14  0:14     ` Tony Lindgren
  0 siblings, 1 reply; 8+ messages in thread
From: Liam Girdwood @ 2010-05-13  9:29 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: Jorge Eduardo Candelaria, linux-omap, Mark Brown, Peter Ujfalusi,
	Jarkko Nikula, alsa-devel

On Thu, 2010-05-13 at 09:19 +0100, Mark Brown wrote:
> On Wed, May 12, 2010 at 12:18:38PM -0500, Jorge Eduardo Candelaria wrote:
> > The following patches enable McBSP driver to be used along with the
> > audio driver in SDP4430 and other OMAP4 based boards.
> 
> Both
> 
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Tony, do we have you ack/sob to upstream via ASoC ?

We do have a lot pending with mcbsp dependencies for ASoC atm and this
would simplify upstreaming.

Thanks

Liam
-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/2] McBSP changes for OMAP4 platform
  2010-05-13  9:29   ` Liam Girdwood
@ 2010-05-14  0:14     ` Tony Lindgren
  0 siblings, 0 replies; 8+ messages in thread
From: Tony Lindgren @ 2010-05-14  0:14 UTC (permalink / raw)
  To: Liam Girdwood
  Cc: Jorge Eduardo Candelaria, linux-omap, Mark Brown, Peter Ujfalusi,
	Jarkko Nikula, alsa-devel

* Liam Girdwood <lrg@slimlogic.co.uk> [100513 02:24]:
> On Thu, 2010-05-13 at 09:19 +0100, Mark Brown wrote:
> > On Wed, May 12, 2010 at 12:18:38PM -0500, Jorge Eduardo Candelaria wrote:
> > > The following patches enable McBSP driver to be used along with the
> > > audio driver in SDP4430 and other OMAP4 based boards.
> > 
> > Both
> > 
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Tony, do we have you ack/sob to upstream via ASoC ?

No problem with me, both of them:

Acked-by: Tony Lindgren <tony@atomide.com>
 
> We do have a lot pending with mcbsp dependencies for ASoC atm and this
> would simplify upstreaming.

Sure, I agree. It's best to keep the patchsets toghether.

One request I have for the long run is to set some features
flag during init and only use the cpu_is_omapxxxx tests once
during init. That way the driver is more future proof and
should not require adding cpu_is_omapxxxx all over the place.

Regards,

Tony

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/2] ARM: McBSP: Add support for omap4 in McBSP driver
  2010-05-12 17:18   ` [PATCH v3 2/2] ARM: McBSP: Add support for omap4 in McBSP driver Jorge Eduardo Candelaria
@ 2010-05-14  5:51     ` Jarkko Nikula
  0 siblings, 0 replies; 8+ messages in thread
From: Jarkko Nikula @ 2010-05-14  5:51 UTC (permalink / raw)
  To: Jorge Eduardo Candelaria
  Cc: linux-omap, lrg, broonie, Margarita Olaya Cabrera

On Wed, 12 May 2010 12:18:40 -0500
Jorge Eduardo Candelaria <jorge.candelaria@ti.com> wrote:

> McBSP module in OMAP4 needs to be able to set its tx/rx threshold
> and enable the transmitter/receiver when starting an audio stream.
> 
> Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
> ---

Patch 1/2 was already acked by me. Here's the ack for this.

Acked-by: Jarkko Nikula <jhnikula@gmail.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/2] McBSP changes for OMAP4 platform
  2010-05-12 17:18 [PATCH v3 0/2] McBSP changes for OMAP4 platform Jorge Eduardo Candelaria
  2010-05-12 17:18 ` [PATCH v3 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria
  2010-05-13  8:19 ` [PATCH v3 0/2] McBSP changes for OMAP4 platform Mark Brown
@ 2010-05-14 10:23 ` Liam Girdwood
  2 siblings, 0 replies; 8+ messages in thread
From: Liam Girdwood @ 2010-05-14 10:23 UTC (permalink / raw)
  To: Jorge Eduardo Candelaria; +Cc: linux-omap, broonie

On Wed, 2010-05-12 at 12:18 -0500, Jorge Eduardo Candelaria wrote:
> The following patches enable McBSP driver to be used along with the
> audio driver in SDP4430 and other OMAP4 based boards.
> 
> Changes from v2:
> - Fixed missing parentheses.
> - Added Acked-by tag to patch #1.
> - Sending to alsa-devel list also, as suggested by Peter Ujfalusi
>   and Liam Girdwood
> 
> Jorge Eduardo Candelaria (2):
>       ARM: McBSP: Fix request for irq in OMAP4
>       ARM: OMAP4: Add support for omap4 in McBSP driver
> 
>  arch/arm/mach-omap2/mcbsp.c |   12 ++++--------
>  arch/arm/plat-omap/mcbsp.c  |   34 +++++++++++++++++++---------------
>  2 files changed, 23 insertions(+), 23 deletions(-)
> 

Both Applied.

Thanks

Liam
-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-05-14 10:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-12 17:18 [PATCH v3 0/2] McBSP changes for OMAP4 platform Jorge Eduardo Candelaria
2010-05-12 17:18 ` [PATCH v3 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria
2010-05-12 17:18   ` [PATCH v3 2/2] ARM: McBSP: Add support for omap4 in McBSP driver Jorge Eduardo Candelaria
2010-05-14  5:51     ` Jarkko Nikula
2010-05-13  8:19 ` [PATCH v3 0/2] McBSP changes for OMAP4 platform Mark Brown
2010-05-13  9:29   ` Liam Girdwood
2010-05-14  0:14     ` Tony Lindgren
2010-05-14 10:23 ` Liam Girdwood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).