All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Calfee <stevecalfee@gmail.com>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>,
	"Premi, Sanjeev" <premi@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"Girdwood, Liam" <lrg@ti.com>
Subject: Re: beagleboardxm 2.6.39rc4 mcbsp problems.
Date: Mon, 16 May 2011 11:07:40 -0700	[thread overview]
Message-ID: <4DD167EC.2010007@gmail.com> (raw)
In-Reply-To: <201105161154.55850.peter.ujfalusi@ti.com>

On 05/16/11 01:54, Peter Ujfalusi wrote:
> On Saturday 14 May 2011 05:47:33 Steve Calfee wrote:
>> I put in a few debug statements. It appears that my DMA never gets
>> started. I know it can work with a different machine and codec driver,
>> but not mine. I don't see any explicit DMA init, but that must be the
>> problem.  Any more ideas?
> 
> You mean neither omap_pcm_hw_params nor omap_pcm_trigger got called?
> Could you post the output of dmesg related to ASoC? Does the connection 
> between the CPU and codec DAI correct?
> Does McBSP part got initialized (for example does omap_mcbsp_dai_hw_params, 
> omap_mcbsp_dai_trigger got called)?
> 
No, they get called. I just don't get the clock on the bclk pin.

I think I have the mcbsp1 set up correctly - I explictly set the MUX:

static struct omap_board_mux board_mux[] __initdata = {
#if 1
	/* McBSP 1 */
	OMAP3_MUX(MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
	OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
	OMAP3_MUX(MCBSP1_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
	OMAP3_MUX(MCBSP1_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
#endif
	{ .reg_offset = OMAP_MUX_TERMINATOR },
};

And elsewhere I set the mcbsp to use a 4 pin interface:
	/* configure mcbsp1 to just use 4 pins */
	ret = snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_CLKR_SRC_CLKX, 0,
				SND_SOC_CLOCK_IN);
	if (ret < 0) {
		printk(KERN_ERR "can't set CPU system clock OMAP_MCBSP_CLKR_SRC_CLKX\n");
		//return ret;
	}

	ret = snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_FSR_SRC_FSX, 0,
				SND_SOC_CLOCK_IN);
	if (ret < 0) {
		printk(KERN_ERR "can't set CPU system clock OMAP_MCBSP_FSR_SRC_FSX\n");
		//return ret;
	}


Here is some hopefully relevant console output. Note that where I added
debug printk's I also printed the __func__.

# cat /proc/asound/cards
 0 [bbxm           ]:  - bbxm
                      bbxm
# lsmod
Module                  Size  Used by    Not tainted
snd_soc_max98095       26314  1
snd_soc_omap3beaglexm     4818  0
snd_soc_omap_mcbsp      7148  1
gpio_i2cmux             1699  0
i2c_mux                 1408  1 gpio_i2cmux
# aplay /newmail2.wav
[  262.129882] omap_mcbsp_dai_startup: omap-mcbsp-dai.0 bus_id=0 active 0
[  262.137847] omap-mcbsp omap-mcbsp.1: omap_mcbsp_request:
tx_irq_completion t=59 r=60
[  262.146972] omap_mcbsp_dai_startup: rules omap-mcbsp-dai.0 bus_id=0
active 0
[  262.155090] omap_pcm_open: ret 1
[  262.158752] asoc: HiFi <-> omap-mcbsp-dai.0 info:
[  262.163757] asoc: rate mask 0x7fe
[  262.167327] asoc: min ch 1 max ch 2
[  262.170989] asoc: min rate 8000 max rate 96000
Playing WAVE '/newmail2.wav' : Signed 16 bit Little Endian, Rate 8000
Hz, Stereo
[  262.188537] bbxm_hw_params: codec_dai=dfbb9ac0 clk 12288000
[  262.194519] bbxm_hw_params 2: codec_dai=dfbb9ac0 clk 12288000
[  262.200683] omap_mcbsp_dai_set_dai_fmt: configured 0
[  262.205932] bbxm_hw_params 3: codec_dai=dfbb9ac0 clk 12288000
[  262.212036] omap_mcbsp_dai_set_dai_sysclk: mcbsp_data=bf00d5f8 in_freq 0
[  262.219116] omap_mcbsp_dai_set_dai_sysclk: mcbsp_data=bf00d5f8 in_freq 0
[  262.227752] max98095 4-0010: read 2a => 90
[  262.234832] max98095 4-0010: read 27 => 1
[  262.240875] max98095 4-0010: read 2a => 90
[  262.245300] max98095 4-0010: write 28 = 7
[  262.252044] max98095 4-0010: write 29 = 8f
[  262.261779] max98095 4-0010: read 2e => 0
[  262.266265] omap_mcbsp_dai_hw_params: format 1
[  262.270996] omap_mcbsp_dai_hw_params: stream Audio Playback
[  262.276977] omap-mcbsp omap-mcbsp.1: Configuring McBSP1  phys_base:
0x48074000
[  262.284606] omap_pcm_hw_params: ret 0
[  262.290008] omap_pcm_prepare: dma_data bf00d4e0
[  262.298980] max98095 4-0010: read 91 => 0
[  262.303558] max98095 4-0010: write 91 = 3
[  262.311798] max98095 4-0010: read 91 => 3
[  262.316345] max98095 4-0010: write 91 = c3
[  262.326690] snd_pcm_lib_write1: state 2 size 1000
[  262.332031] snd_pcm_lib_write1: offset 0
[  262.336181] snd_pcm_update_state: stream=0 avail=3000
buffer_size=4000 twake=0 tsleep=1
[  262.345825] snd_pcm_lib_write1: state 2 size 1000
[  262.351165] snd_pcm_lib_write1: offset 0
[  262.355346] snd_pcm_update_state: stream=0 avail=2000
buffer_size=4000 twake=0 tsleep=1
[  262.364929] snd_pcm_lib_write1: state 2 size 1000
[  262.370269] snd_pcm_lib_write1: offset 0
[  262.374420] snd_pcm_update_state: stream=0 avail=1000
buffer_size=4000 twake=0 tsleep=1
[  262.383972] snd_pcm_lib_write1: state 2 size 1000
[  262.389312] snd_pcm_lib_write1: offset 0
[  262.393463] snd_pcm_pre_start: state 3
[  262.397399] snd_pcm_do_start: state 3
[  262.401245] omap_pcm_trigger: cmd 1
[  262.404907] omap_start_dma: lch 0
[  262.408843] omap-mcbsp omap-mcbsp.1: **** McBSP1 regs ****
[  262.414581] omap-mcbsp omap-mcbsp.1: DRR2:  0x0000
[  262.419616] omap-mcbsp omap-mcbsp.1: DRR1:  0x0000
[  262.424652] omap-mcbsp omap-mcbsp.1: DXR2:  0x0000
[  262.429656] omap-mcbsp omap-mcbsp.1: DXR1:  0x0000
[  262.434692] omap-mcbsp omap-mcbsp.1: SPCR2: 0x0235
[  262.439727] omap-mcbsp omap-mcbsp.1: SPCR1: 0x0030
[  262.444763] omap-mcbsp omap-mcbsp.1: RCR2:  0x8041
[  262.449768] omap-mcbsp omap-mcbsp.1: RCR1:  0x0040
[  262.454803] omap-mcbsp omap-mcbsp.1: XCR2:  0x8041
[  262.459838] omap-mcbsp omap-mcbsp.1: XCR1:  0x0040
[  262.464843] omap-mcbsp omap-mcbsp.1: SRGR2: 0x001f
[  262.469879] omap-mcbsp omap-mcbsp.1: SRGR1: 0x0f00
[  262.474914] omap-mcbsp omap-mcbsp.1: PCR0:  0x000f
[  262.479919] omap-mcbsp omap-mcbsp.1: ***********************
[  262.485870] snd_pcm_post_start: state 3
[  262.489898] snd_pcm_update_state: stream=0 avail=0 buffer_size=4000
twake=0 tsleep=1
[  262.500854] snd_pcm_lib_write1: state 3 size 1000
[  262.505828] omap_pcm_pointer: offset 64
[  262.509857] snd_pcm_update_hw_ptr0: old_hw_ptr=0 pos=64 in_int=0
[  262.516143] snd_pcm_update_hw_ptr0: stream=0 new_hw_ptr=64 silence_size=0
[  262.523284] snd_pcm_update_state: stream=0 avail=64 buffer_size=4000
twake=1000 tsleep=1
[  262.532226] snd_pcm_lib_write1: offset 0
[  262.536407] snd_pcm_lib_write1: state 3 size 936
[  262.541259] omap_pcm_pointer: offset 64
[  262.545288] snd_pcm_update_hw_ptr0: old_hw_ptr=64 pos=64 in_int=0
[  272.549896] ALSA sound/core/pcm_lib.c:1795: playback write error (DMA
or IRQ trouble?)
[  272.659851] snd_pcm_lib_write1: state 3 size 936
[  272.664703] omap_pcm_pointer: offset 64
[  272.668731] snd_pcm_update_hw_ptr0: old_hw_ptr=64 pos=64 in_int=0
[  282.674957] ALSA sound/core/pcm_lib.c:1795: playback write error (DMA
or IRQ trouble?)
aplay: pcm_write[  282.686767] omap_pcm_trigger: cmd 0
:1682: write error: Input/output error
# [  287.706268] pop wq checking: HiFi Playback status: inactive
waiting: yes
[  287.715148] max98095 4-0010: read 91 => c3
[  287.719726] max98095 4-0010: write 91 = 3
[  287.725585] max98095 4-0010: read 91 => 3
[  287.729980] max98095 4-0010: write 91 = 0
[  287.736785] max98095 4-0010: read 90 => c


  reply	other threads:[~2011-05-16 18:07 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-11 13:55 [PATCH] ASoC: omap-mcbsp: Remove restrictive checks for cpu type Sanjeev Premi
2011-05-11 13:55 ` Sanjeev Premi
2011-05-11 13:57 ` Mark Brown
2011-05-11 13:57   ` Mark Brown
2011-05-11 14:44 ` Peter Ujfalusi
2011-05-11 14:44   ` [alsa-devel] " Peter Ujfalusi
2011-05-11 15:38 ` Jarkko Nikula
2011-05-11 15:38   ` Jarkko Nikula
2011-05-11 18:16 ` [alsa-devel] " Steve Calfee
2011-05-11 19:19   ` Premi, Sanjeev
2011-05-11 21:31   ` beagleboardxm 2.6.39rc4 mcbsp problems Steve Calfee
2011-05-12  6:25     ` Jarkko Nikula
2011-05-12 11:01       ` Peter Ujfalusi
2011-05-12 18:43         ` Steve Calfee
2011-05-13  5:59           ` Peter Ujfalusi
2011-05-14  2:47             ` Steve Calfee
2011-05-16  8:54               ` Peter Ujfalusi
2011-05-16 18:07                 ` Steve Calfee [this message]
2011-05-17  6:37                   ` Jarkko Nikula
2011-05-19  1:06                     ` Steve Calfee
2011-05-20  0:58                       ` Steve Calfee
2011-05-20  6:29                         ` Jarkko Nikula
2011-05-20  7:03                           ` Peter Ujfalusi
2011-05-21  0:55                           ` Steve Calfee
2011-05-17 10:42                   ` Peter Ujfalusi
2011-05-19  0:30                     ` Steve Calfee
2011-05-19 11:28                       ` Peter Ujfalusi
2011-05-19 23:58                         ` Steve Calfee
2011-05-20  6:56                           ` Peter Ujfalusi
2011-05-13 12:13 ` [PATCH] ASoC: omap-mcbsp: Remove restrictive checks for cpu type Liam Girdwood
2011-05-13 12:13   ` Liam Girdwood

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=4DD167EC.2010007@gmail.com \
    --to=stevecalfee@gmail.com \
    --cc=jhnikula@gmail.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=premi@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.