Dear All,

I am trying to develop a driver for the sta321mp audio processor. Many of 
the details are in this previous thread:

https://groups.google.com/forum/#!searchin/beagleboard/fakufaku%7Csort:relevance/beagleboard/pptZ_9PTqMY/Hy4Wh4kK0gUJ

I am now trying to port this driver a more recent version of the kernel, 
v4.4.19 at the moment. I have done that using the ti-linux-kernel-dev 
repository from Robert C Nelson but I am having some trouble with the 
davinci_mcasp_hw_params routine giving a division by zero in the kernel 
error.

I was wondering if it is a known bug in the current kernel, or something 
that I introduced. I have tried to look through the mcasp code to see where 
it could come from but have been unsuccessful so far.

root@beaglebone:~# echo BB-BONE-STA321MP > $SLOTS 
>
root@beaglebone:~# dmesg

[  187.864668] bone_capemgr bone_capemgr: part_number 'BB-BONE-STA321MP', 
> version 'N/A'
> [  187.864888] bone_capemgr bone_capemgr: slot #4: override
> [  187.864931] bone_capemgr bone_capemgr: Using override eeprom data at 
> slot 4
> [  187.864978] bone_capemgr bone_capemgr: slot #4: 'Override Board 
> Name,00A0,Override Manuf,BB-BONE-STA321MP'
> [  187.914755] rtc-ds1307 1-0068: SET TIME!
> [  187.923075] rtc-ds1307 1-0068: rtc core: registered ds1338 as rtc1
> [  187.923159] rtc-ds1307 1-0068: 56 bytes nvram
> [  187.924043] sta321mp: probing i2c
> [  187.924078] sta321mp: Setting up device through i2c.
> [  187.924526] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
> [  187.948010] sta321mp: newboard config.
> [  188.079389] lm75 1-0048: hwmon0: sensor 'tmp275'
> [  188.308022] sta321mp: probing.
> [  188.308181] sta321mp: init setting clocks.
> [  188.308193] sta321mp: using cpu 48038000.mcasp
> [  188.310768] davinci_evm ocp:sound: sta321mp-audio <-> 48038000.mcasp 
> mapping ok
> [  188.325125] bone_capemgr bone_capemgr: slot #4: dtbo 
> 'BB-BONE-STA321MP-00A0.dtbo' loaded; overlay id #0
>

root@beaglebone:~# arecord -c 6 -d 5 -r 48000 -t wav -f S32_LE test.wav -vvv
> Recording WAVE 'test.wav' : Signed 32 bit Little Endian, Rate 48000 Hz, 
> Channels 6
> Plug PCM: Hardware PCM card 0 'STA321MP EVM' device 0 subdevice 0
> Its setup is:
>   stream       : CAPTURE
>   access       : RW_INTERLEAVED
>   format       : S32_LE
>   subformat    : STD
>   channels     : 6
>   rate         : 48000
>   exact rate   : 48000 (48000/1)
>   msbits       : 32
>   buffer_size  : 5460
>   period_size  : 1365
>   period_time  : 28437
>   tstamp_mode  : NONE
>   period_step  : 1
>   avail_min    : 1365
>   period_event : 0
>   start_threshold  : 1
>   stop_threshold   : 5460
>   silence_threshold: 0
>   silence_size : 0
>   boundary     : 1431306240
>   appl_ptr     : 0
>   hw_ptr       : 0
> Max peak (8190 samples): 0x00001000 #                    0%
> Max peak (8190 samples): 0x00001000 #                    0%
> Max peak (8190 samples): 0x00001000 #                    0%
>

root@beaglebone:~# dmesg
> [  341.527405] evm_sta321mp_hw_params: Starting operations.
> [  341.527461] bclk (from params): 9216000
> [  341.527483] sysclk: 12288000
> [  341.527502] bclk: 3072000
> [  341.527545] sta321mp: newboard config.
> [  341.931465] 4 bytes
> [  341.931498] sta321mp: setting fmt bits to 20
> [  341.931852] sta321mp: Started at 48000 Hz.
> [  341.931874] slots: 2
> [  341.931895] active serializers: 3
> [  341.931905] Division by zero in kernel.
> [  341.935832] CPU: 0 PID: 657 Comm: arecord Not tainted 4.4.17-ti-r40 #12
> [  341.935844] Hardware name: Generic AM33XX (Flattened Device Tree)
> [  341.935894] [<c0015c5d>] (unwind_backtrace) from [<c0012431>] 
> (show_stack+0x11/0x14)
> [  341.935921] [<c0012431>] (show_stack) from [<c03cad4f>] 
> (dump_stack+0x6f/0x7c)
> [  341.935942] [<c03cad4f>] (dump_stack) from [<c03c9d17>] (Ldiv0+0x9/0x12)
> [  341.935961] [<c03c9d17>] (Ldiv0) from [<c03c9d01>] 
> (__aeabi_idivmod+0x9/0x16)
> [  341.935995] [<c03c9d01>] (__aeabi_idivmod) from [<c06137c7>] 
> (davinci_mcasp_hw_params+0x66f/0x68c)
> [  341.936018] [<c06137c7>] (davinci_mcasp_hw_params) from [<c060dc2b>] 
> (soc_dai_hw_params+0x17/0x34)
> [  341.936037] [<c060dc2b>] (soc_dai_hw_params) from [<c060de67>] 
> (soc_pcm_hw_params+0x21f/0x388)
> [  341.936066] [<c060de67>] (soc_pcm_hw_params) from [<c05fb8e7>] 
> (snd_pcm_hw_params+0x8b/0x270)
> [  341.936087] [<c05fb8e7>] (snd_pcm_hw_params) from [<c05fc7c5>] 
> (snd_pcm_common_ioctl1+0x3f5/0xc14)
> [  341.936109] [<c05fc7c5>] (snd_pcm_common_ioctl1) from [<c05fd6ab>] 
> (snd_pcm_capture_ioctl1+0x203/0x488)
> [  341.936135] [<c05fd6ab>] (snd_pcm_capture_ioctl1) from [<c0145eed>] 
> (do_vfs_ioctl+0x349/0x528)
> [  341.936156] [<c0145eed>] (do_vfs_ioctl) from [<c0146119>] 
> (SyS_ioctl+0x4d/0x58)
> [  341.936180] [<c0146119>] (SyS_ioctl) from [<c000ec41>] 
> (ret_fast_syscall+0x1/0x52)
> [  341.936193] Total slots: 2 
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/6387361f-df3a-4e63-b33f-804669e79b28%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to