* [PATCH v2 0/0] McBSP changes for OMAP4 platform
@ 2010-05-06 1:15 Jorge Eduardo Candelaria
2010-05-06 1:15 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria
2010-05-12 8:39 ` [PATCH v2 0/0] McBSP changes for OMAP4 platform Peter Ujfalusi
0 siblings, 2 replies; 8+ messages in thread
From: Jorge Eduardo Candelaria @ 2010-05-06 1:15 UTC (permalink / raw)
To: linux-omap
The following patches enable McBSP driver to be used along with the
audio driver in SDP4430 and other OMAP4 based boards.
Changes from v1:
- Changed to correct IRQ lines.
- Check if rx_irq is defined, instead of checking if cpu is omap4
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 v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 2010-05-06 1:15 [PATCH v2 0/0] McBSP changes for OMAP4 platform Jorge Eduardo Candelaria @ 2010-05-06 1:15 ` Jorge Eduardo Candelaria 2010-05-06 1:15 ` [PATCH v2 2/2] ARM: McBSP: Add support for omap4 in McBSP driver Jorge Eduardo Candelaria 2010-05-12 8:09 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jarkko Nikula 2010-05-12 8:39 ` [PATCH v2 0/0] McBSP changes for OMAP4 platform Peter Ujfalusi 1 sibling, 2 replies; 8+ messages in thread From: Jorge Eduardo Candelaria @ 2010-05-06 1:15 UTC (permalink / raw) To: linux-omap; +Cc: 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> --- 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 v2 2/2] ARM: McBSP: Add support for omap4 in McBSP driver 2010-05-06 1:15 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria @ 2010-05-06 1:15 ` Jorge Eduardo Candelaria 2010-05-12 8:15 ` Jarkko Nikula 2010-05-12 8:09 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jarkko Nikula 1 sibling, 1 reply; 8+ messages in thread From: Jorge Eduardo Candelaria @ 2010-05-06 1:15 UTC (permalink / raw) To: linux-omap; +Cc: 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..9a0e788 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 v2 2/2] ARM: McBSP: Add support for omap4 in McBSP driver 2010-05-06 1:15 ` [PATCH v2 2/2] ARM: McBSP: Add support for omap4 in McBSP driver Jorge Eduardo Candelaria @ 2010-05-12 8:15 ` Jarkko Nikula 0 siblings, 0 replies; 8+ messages in thread From: Jarkko Nikula @ 2010-05-12 8:15 UTC (permalink / raw) To: Jorge Eduardo Candelaria; +Cc: linux-omap, Margarita Olaya Cabrera On Wed, 5 May 2010 20:15:46 -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> > --- ... > @@ -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) { Parentheses missing here from cpu_is_omap44xx. Otherwise looks good. -- Jarkko ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 2010-05-06 1:15 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria 2010-05-06 1:15 ` [PATCH v2 2/2] ARM: McBSP: Add support for omap4 in McBSP driver Jorge Eduardo Candelaria @ 2010-05-12 8:09 ` Jarkko Nikula 1 sibling, 0 replies; 8+ messages in thread From: Jarkko Nikula @ 2010-05-12 8:09 UTC (permalink / raw) To: Jorge Eduardo Candelaria; +Cc: linux-omap On Wed, 5 May 2010 20:15:45 -0500 Jorge Eduardo Candelaria <jorge.candelaria@ti.com> wrote: > 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> > --- > arch/arm/mach-omap2/mcbsp.c | 12 ++++-------- > arch/arm/plat-omap/mcbsp.c | 20 ++++++++++++-------- > 2 files changed, 16 insertions(+), 16 deletions(-) > Acked-by: Jarkko Nikula <jhnikula@gmail.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/0] McBSP changes for OMAP4 platform 2010-05-06 1:15 [PATCH v2 0/0] McBSP changes for OMAP4 platform Jorge Eduardo Candelaria 2010-05-06 1:15 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria @ 2010-05-12 8:39 ` Peter Ujfalusi 2010-05-12 8:49 ` Mark Brown 2010-05-12 9:07 ` Liam Girdwood 1 sibling, 2 replies; 8+ messages in thread From: Peter Ujfalusi @ 2010-05-12 8:39 UTC (permalink / raw) To: ext Jorge Eduardo Candelaria Cc: linux-omap@vger.kernel.org, lrg, tony, broonie Hi, On Thursday 06 May 2010 04:15:44 ext 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 v1: > - Changed to correct IRQ lines. > - Check if rx_irq is defined, instead of checking if cpu is omap4 > > 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(-) Looks good with Jarkko's comment. However, I'd like to ask Tony, Liam, Jarkko, and Mark the following: Would it make sense to use the alsa tree for OMAP McBSP related patches, while keeping l-o in CC off course. If we have patches for mcbsp pending in l-o and in alsa tree, than we are going to have hard times to sort things out when they need to be merged. I'm asking this, because I will also have some patches for mcbsp, which will need change in arch/ and in sound/ as well. I know that taking patches to alsa tree for the arch/ is unorthodox, but it will ease up our life in a long run... What do you think? -- Péter -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/0] McBSP changes for OMAP4 platform 2010-05-12 8:39 ` [PATCH v2 0/0] McBSP changes for OMAP4 platform Peter Ujfalusi @ 2010-05-12 8:49 ` Mark Brown 2010-05-12 9:07 ` Liam Girdwood 1 sibling, 0 replies; 8+ messages in thread From: Mark Brown @ 2010-05-12 8:49 UTC (permalink / raw) To: Peter Ujfalusi Cc: ext Jorge Eduardo Candelaria, linux-omap@vger.kernel.org, lrg, tony On Wed, May 12, 2010 at 11:39:26AM +0300, Peter Ujfalusi wrote: > Looks good with Jarkko's comment. > However, I'd like to ask Tony, Liam, Jarkko, and Mark the following: > Would it make sense to use the alsa tree for OMAP McBSP related patches, while > keeping l-o in CC off course. We've had to do this a few times in the past due to the way the code is split between the two areas. If it makes everyone's life easier I've got no problem with it, though I'll say my standard thing about it being better to keep them on a branch by themselves which can be pulled into both trees in case of any merge issues. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/0] McBSP changes for OMAP4 platform 2010-05-12 8:39 ` [PATCH v2 0/0] McBSP changes for OMAP4 platform Peter Ujfalusi 2010-05-12 8:49 ` Mark Brown @ 2010-05-12 9:07 ` Liam Girdwood 1 sibling, 0 replies; 8+ messages in thread From: Liam Girdwood @ 2010-05-12 9:07 UTC (permalink / raw) To: Peter Ujfalusi Cc: ext Jorge Eduardo Candelaria, linux-omap@vger.kernel.org, tony, broonie On Wed, 2010-05-12 at 11:39 +0300, Peter Ujfalusi wrote: > Hi, > > On Thursday 06 May 2010 04:15:44 ext 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 v1: > > - Changed to correct IRQ lines. > > - Check if rx_irq is defined, instead of checking if cpu is omap4 > > > > 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(-) > > Looks good with Jarkko's comment. > However, I'd like to ask Tony, Liam, Jarkko, and Mark the following: > Would it make sense to use the alsa tree for OMAP McBSP related patches, while > keeping l-o in CC off course. > If we have patches for mcbsp pending in l-o and in alsa tree, than we are going > to have hard times to sort things out when they need to be merged. > > I'm asking this, because I will also have some patches for mcbsp, which will > need change in arch/ and in sound/ as well. > > I know that taking patches to alsa tree for the arch/ is unorthodox, but it will > ease up our life in a long run... > > What do you think? I tend to agree here since afaik audio is the primary upstream user of mcbsp on OMAP. We do have queue of audio related mcbsp patches pending atm and merging would be simpler in the ALSA tree atm. 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-12 9:08 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-05-06 1:15 [PATCH v2 0/0] McBSP changes for OMAP4 platform Jorge Eduardo Candelaria 2010-05-06 1:15 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jorge Eduardo Candelaria 2010-05-06 1:15 ` [PATCH v2 2/2] ARM: McBSP: Add support for omap4 in McBSP driver Jorge Eduardo Candelaria 2010-05-12 8:15 ` Jarkko Nikula 2010-05-12 8:09 ` [PATCH v2 1/2] ARM: McBSP: Fix request for irq in OMAP4 Jarkko Nikula 2010-05-12 8:39 ` [PATCH v2 0/0] McBSP changes for OMAP4 platform Peter Ujfalusi 2010-05-12 8:49 ` Mark Brown 2010-05-12 9:07 ` Liam Girdwood
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox