[#5354] Wake up from mem in bf527-ezkit, audio driver fail to work (can't resolve symbol)
Submitted By: Vivi Li
Open Date
2009-07-14 07:21:54 Close Date
2009-07-28 23:52:11
Priority:
Medium High Assignee:
Cliff Cai
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
Category:
Drivers Board:
N/A
Processor:
BF527 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
gcc4.1_2009r1-rc9
App binary format:
N/A
Summary: Wake up from mem in bf527-ezkit, audio driver fail to work (can't resolve symbol)
Details:
In latest branch, wake up from mem in bf527-ezkit, audio driver fail to work.
--
Linux version 2.6.28.10-ADI-2009R1-svn6955 (test@uclinux60-bf527-std) (gcc version 4.1.2 (ADI svn)) #4 Fri Jul 10 16:32:05 CST 2009^M
bootconsole [early_shadow0] enabled^M
bootconsole [early_BFuart0] enabled^M
early printk enabled on early_BFuart0^M
Board Memory: 64MB^M
Kernel Managed Memory: 64MB^M
Memory map:^M
fixedcode = 0x00000400-0x00000490^M
text = 0x00001000-0x0012bac0^M
rodata = 0x0012bac0-0x00188560^M
bss = 0x00189000-0x0019a2a0^M
data = 0x0019a2a0-0x001ac000^M
stack = 0x001aa000-0x001ac000^M
init = 0x001ac000-0x0093e000^M
available = 0x0093e000-0x03eff000^M
DMA Zone = 0x03f00000-0x04000000^M
Hardware Trace Active and Enabled^M
Boot Mode: 9^M
Blackfin support (C) 2004-2009 Analog Devices, Inc.^M
Compiled for ADSP-BF527 Rev 0.0^M
Blackfin Linux support by http://blackfin.uclinux.org/^M
Processor Speed: 525 MHz core clock and 131 MHz System Clock^M
NOMPU: setting up cplb tables^M
Instruction Cache Enabled for CPU0^M
Data Cache Enabled for CPU0 (write-back)^M
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16001^M
Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 ip=10.100.4.50:10.100.4.174:10.100.4.174:255.255.255.0:bf527-ezkit:eth0:off^M
Configuring Blackfin Priority Driven Interrupts^M
PID hash table entries: 256 (order: 8, 1024 bytes)^M
console handover:boot [early_BFuart0] boot [early_shadow0] -> real [ttyBF0]^M
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)^M
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)^M
Memory available: 54476k/65536k RAM, (7752k init code, 1194k kernel code, 514k data, 1024k dma, 572k reserved)^M
Calibrating delay loop... 1046.52 BogoMIPS (lpj=2093056)^M
Security Framework initialized^M
Mount-cache hash table entries: 512^M
Blackfin Scratchpad data SRAM: 4 KB^M
Blackfin L1 Data A SRAM: 16 KB (15 KB free)^M
Blackfin L1 Data B SRAM: 16 KB (16 KB free)^M
Blackfin L1 Instruction SRAM: 48 KB (42 KB free)^M
net_namespace: 288 bytes^M
NET: Registered protocol family 16^M
Blackfin DMA Controller^M
ezkit_init(): registering device resources^M
SCSI subsystem initialized^M
NET: Registered protocol family 2^M
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)^M
TCP established hash table entries: 2048 (order: 2, 16384 bytes)^M
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)^M
TCP: Hash tables configured (established 2048 bind 2048)^M
TCP reno registered^M
NET: Registered protocol family 1^M
msgmni has been set to 106^M
io scheduler noop registered^M
io scheduler anticipatory registered (default)^M
io scheduler cfq registered^M
bfin-otp: initialized^M
Serial: Blackfin serial driver^M
bfin-uart.1: ttyBF0 at MMIO 0xffc02000 (irq = 31) is a BFIN-UART^M
brd: module loaded^M
bfin_mii_bus: probed^M
bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=25)@sclk=131MHz)^M
bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1^M
Driver 'sd' needs updating - please use bus_type methods^M
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0^M
bfin-wdt: initialized: timeout=20 sec (nowayout=0)^M
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.^M
ALSA device list:^M
No soundcards found.^M
TCP cubic registered^M
NET: Registered protocol family 17^M
rtc-bfin rtc-bfin: setting system clock to 1970-01-01 10:31:29 UTC (37889)^M
IP-Config: Complete:^M
device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,^M
host=bf527-ezkit, domain=, nis-domain=(none),^M
bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=^M
Freeing unused kernel memory: 7752k freed^M
dma_alloc_init: dma_page @ 0x0093b000 - 256 pages at 0x03f00000^M
_____________________________________^M
a8888b. / Welcome to the uClinux distribution \^M
d888888b. / _ _ \^M
8P"YP"Y88 / | | |_| __ __ (TM) |^M
8|o||o|88 _____/ | | _ ____ _ _ \ \/ / |^M
8' .88 \ | | | | _ \| | | | \ / |^M
8`._.' Y8. \ | |__ | | | | | |_| | / \ |^M
d/ `8b. \ \____||_|_| |_|\____|/_/\_\ |^M
dP . Y8b. \ For embedded processors including |^M
d8:' " `::88b \ the Analog Devices Blackfin /^M
d8" 'Y88b \___________________________________/^M
:8P ' :888^M
8a. : _a88P For further information, check out:^M
._/"Yaa_: .| 88P| - http://blackfin.uclinux.org/^M
\ YP" `| 8P `. - http://docs.blackfin.uclinux.org/^M
/ \.___.d| .' - http://www.uclinux.org/^M
`--..__)8888P`._.' jgs/a:f - http://www.analog.com/blackfin^M
^M
Have a lot of fun...^M
^M
^M
BusyBox v1.13.4 (2009-07-10 16:30:04 CST) built-in shell (msh)^M
Enter 'help' for a list of built-in commands.^M
^M
root:/> version
kernel: Linux release 2.6.28.10-ADI-2009R1-svn6955, build #4 Fri Jul 10 16:32:05 CST 2009^M
toolchain: bfin-linux-uclibc-gcc release gcc version 4.1.2 (ADI svn)^M
user-dist: release svn-8476, build #61 Fri Jul 10 16:31:07 CST 2009^M
root:/>
root:/> modprobe i2c-bfin-twi; modprobe snd-ssm2602^M
i2c-bfin-twi i2c-bfin-twi.0: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc01400^M
ASoC version 0.13.2^M
dma rx:3 tx:4, err irq:15, regs:ffc00800^M
ssm2602 Audio Codec 0.1<6>asoc: SSM2602 <-> bf5xx-i2s mapping ok
root:/>
root:/> vrec -w -S -b 16 -s 48000 -t 5|vplay
Recording WAVE : 16 bit, Speed 48000 Hz Stereo ...
Playing WAVE : 16 bit, Speed 48000 Hz Stereo ...
root:/>
root:/> arecord -t wav -c 2 -f S16_LE -r 48000 -d 5 |aplay
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
root:/>
root:/> rtcwake -s 15 -m mem
wakeup from "mem" at Thu Jan 1 10:32:13 1970
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.00 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PHY: 0:01 - Link is Down
soc-audio soc-audio: scheduling resume work
soc-audio soc-audio: starting resume work
Restarting tasks ... done.
soc-audio soc-audio: resume work completed
PHY: 0:01 - Link is Up - 100/Full
root:/>
root:/> vrec -w -S -b 16 -s 48000 -t 5|vplay
Recording WAVE : 16 bit, Speed 48000 Hz Stereo ...
Playing WAVE : 16 bit, Speed 48000 Hz Stereo ...
root:/>
root:/> arecord -t wav -c 2 -f S16_LE -r 48000 -d 5 |aplay
arecord: can't resolve symbol 'ivsf3'
aplay: can't resolve symbol 'ivsf3'
root:/>
root:/> tone &
204
root:/> TONE: generating sine wave at 1000 Hz...
root:/>
root:/> rtcwake -s 10 -m mem
wakeup from "mem" at Thu Jan 1 10:36:00 1970
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.00 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PHY: 0:03 - Link is Down
soc-audio soc-audio: scheduling resume work
soc-audio soc-audio: starting resume work
Restarting tasks ... done.
NULL pointer access
Kernel OOPS in progress
Deferred Exception context
CURRENT PROCESS:
COMM=events/0 PID=5
CPU = 0
invalid mm
return address: [0x00dcd3d6]; contents of:
0x00dcd3b0: 3042 4f18 3208 5a81 ad52 b693 9162 5e92
0x00dcd3c0: 3042 4f18 3208 e120 790a 5a81 ad52 b510
0x00dcd3d0: e522 0014 9161 [e490] 0005 e491 0004 4f40
0x00dcd3e0: 5608 e491 0006 5e49 4f81 5641 3041 4f18
ADSP-BF527-0.0 525(MHz CCLK) 131(MHz SCLK) (mpu off)
Linux version 2.6.28.10-ADI-2009R1-svn6955
Built with gcc version 4.1.2 (ADI svn)
SEQUENCER STATUS: Not tainted
SEQSTAT: 00060027 IPEND: 8030 SYSCFG: 0006
EXCAUSE : 0x27
interrupts disabled
physical IVG5 asserted : <0xffa00ba8> { _evt_ivhw + 0x0 }
physical IVG15 asserted : <0xffa00e00> { _evt_system_call + 0x0 }
logical irq 6 mapped : <0xffa00330> { _timer_interrupt + 0x0 }
logical irq 15 mapped : <0x00dcd708> { :snd_soc_bf5xx_sport:_sport_tx_start + 0x258 }
logical irq 21 mapped : <0x000b93a4> { _bfin_rtc_interrupt + 0x0 }
logical irq 23 mapped : <0x00dcc3dc> { :snd_soc_bf5xx_sport:_sport_done + 0x104 }
logical irq 24 mapped : <0x00dcc36c> { :snd_soc_bf5xx_sport:_sport_done + 0x94 }
logical irq 27 mapped : <0x03ec000c> { :i2c_bfin_twi:_init_module + 0x324160c }
logical irq 31 mapped : <0x0009c730> { _bfin_serial_dma_rx_int + 0x0 }
logical irq 32 mapped : <0x0009ca6c> { _bfin_serial_dma_tx_int + 0x0 }
logical irq 35 mapped : <0x000a56ec> { _bfin_mac_interrupt + 0x0 }
RETE: <0x00000000> /* Maybe null pointer? */
RETN: <0x009d5f04> /* kernel dynamic memory */
RETX: <0x00000480> /* Maybe fixed code section */
RETS: <0x03e8c2c2> /* kernel dynamic memory */
PC : <0x00dcd3d6> { :snd_soc_bf5xx_sport:_sport_rx_start + 0x17e }
DCPLB_FAULT_ADDR: <0x00000005> /* Maybe null pointer? */
ICPLB_FAULT_ADDR: <0x00dcd3d6> { :snd_soc_bf5xx_sport:_sport_rx_start + 0x17e }
PROCESSOR STATE:
R0 : 0000790a R1 : 00000000 R2 : ff803f20 R3 : 00000000
R4 : 00ddc91c R5 : 00cef32c R6 : 00bbf000 R7 : 00c676a0
P0 : 00189ce0 P1 : 00000003 P2 : 00000000 P3 : 00cef37c
P4 : 00c676a0 P5 : 03e8c6d4 FP : 00c67760 SP : 009d5e28
LB0: 00088c36 LT0: 00088c2e LC0: 00000007
LB1: 000d7314 LT1: 000d7310 LC1: 00000000
B0 : 00000000 L0 : 00000000 M0 : 00000000 I0 : 00dc933c
B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : 00cef37c
B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 00000000
B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00000000
A0.w: 003d08c5 A0.x: 00000000 A1.w: 00000902 A1.x: 00000000
USP : 00000000 ASTAT: 02002020
Hardware Trace:
0 Target : <0x00004ce8> { _trap_c + 0x0 }
Source : <0xffa00604> { _exception_to_level5 + 0xa8 } CALL pcrel
1 Target : <0xffa0055c> { _exception_to_level5 + 0x0 }
Source : <0xffa00434> { _bfin_return_from_exception + 0x18 } RTX
2 Target : <0xffa0041c> { _bfin_return_from_exception + 0x0 }
Source : <0xffa004aa> { _ex_trap_c + 0x46 } JUMP.S
3 Target : <0xffa00464> { _ex_trap_c + 0x0 }
Source : <0xffa006d0> { _trap + 0x58 } JUMP (P4)
4 Target : <0xffa00678> { _trap + 0x0 }
Source : <0x00dcd3d4> { :snd_soc_bf5xx_sport:_sport_rx_start + 0x17c } 0x9161
5 Target : <0x00dcd2de> { :snd_soc_bf5xx_sport:_sport_rx_start + 0x86 }
Source : <0x00dcd26a> { :snd_soc_bf5xx_sport:_sport_rx_start + 0x12 } IF CC JUMP
6 Target : <0x00dcd258> { :snd_soc_bf5xx_sport:_sport_rx_start + 0x0 }
Source : <0x03e8c2c0> /* kernel dynamic memory */ CALL (P2)
7 Target : <0x03e8c2b6> /* kernel dynamic memory */
Source : <0x03e8c290> /* kernel dynamic memory */ IF !CC JUMP
8 Target : <0x03e8c280> /* kernel dynamic memory */
Source : <0x00dccf14> { :snd_soc_bf5xx_sport:_sport_config_tx + 0x30 } RTS
9 Target : <0x00dccef2> { :snd_soc_bf5xx_sport:_sport_config_tx + 0xe }
Source : <0x00dcceec> { :snd_soc_bf5xx_sport:_sport_config_tx + 0x8 } IF !CC JUMP
10 Target : <0x00dccee4> { :snd_soc_bf5xx_sport:_sport_config_tx + 0x0 }
Source : <0x03e8c27e> /* kernel dynamic memory */ CALL (P2)
11 Target : <0x03e8c264> /* kernel dynamic memory */
Source : <0x00dccee0> { :snd_soc_bf5xx_sport:_sport_config_rx + 0x38 } RTS
12 Target : <0x00dcceb6> { :snd_soc_bf5xx_sport:_sport_config_rx + 0xe }
Source : <0x00dcceb0> { :snd_soc_bf5xx_sport:_sport_config_rx + 0x8 } IF !CC JUMP
13 Target : <0x00dccea8> { :snd_soc_bf5xx_sport:_sport_config_rx + 0x0 }
Source : <0x03e8c262> /* kernel dynamic memory */ CALL (P2)
14 Target : <0x03e8c242> /* kernel dynamic memory */
Source : <0x03e8c236> /* kernel dynamic memory */ IF !CC JUMP
15 Target : <0x03e8c224> /* kernel dynamic memory */
Source : <0x00231988> { :snd_soc_core:_snd_soc_info_enum_double + 0x1bc } CALL (P2)
Kernel Stack
Stack info:
SP: [0x009d5dd8] <0x009d5dd8> /* kernel dynamic memory */
FP: (0x009d5dcc)
Memory from 0x009d5dd0 to 009d6000
009d5dd0:<0000a17c> 0018e680 [00000000] 03ee5040 0019a41c 00c9b960 009d5e10 <0012aa5e>
009d5df0: 00000000 03ee5040 00c9b960 <0012aea0><ffa00608> ffa00ba8 ffe02014 00c676a0
009d5e10: 0000ffff 00cef32c 00ddc91c 009d4000 00bbffd4 009d5e40 00000480 00008030
009d5e30: 00060027 00000000 009d5f04 00000480 00dcd3d6 <03e8c2c2> 0000790a 02002020
009d5e50: 000d7314 00088c36 000d7310 00088c2e 00000000 00000007 00000902 00000000
009d5e70: 003d08c5 00000000 00000000 00000000 00000000 00000000 00000000 00000000
009d5e90: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
009d5eb0: 00cef37c <00dc933c> 00000000 00c67760 03e8c6d4 00c676a0 00cef37c 00000000
009d5ed0: 00000003 00189ce0 00c676a0 00bbf000 00cef32c 00ddc91c 00000000 ff803f20
009d5ef0: 00000000 0000790a 0000790a 00189ce0 00000006 00c67768 00cef37c 0000001b
009d5f10: 00c60002 <03e8c2c2> 03e8c6d4 00dce8ec 0019b8c4 00bbf008 <0023190a> 00000000
009d5f30: 00000000 <0023198a> 03e8c6d4 00000000 00000000 00c9b4e0 00233e08 00bbf094
009d5f50: 00c9b4e0 009d4000 <0001cdf4> 00cef368 03efea80 00231824 0019b8c4 009d4000
009d5f70: 009d5fac 00000000 009d4000 00000000 <0001d7aa> 009d4000 00000000 <0001d784>
009d5f90: 009d4000 009d4000 03efea80 03efea88 0019a2a0 00000000 00000000 00000000
009d5fb0: 03ee5040 0001ff78 009d5fb8 009d5fb8 <0001fb74> 0001d708 00000000 00000000
009d5fd0: 03efea80 00000000 00000000 00000000 00000000 00000000 <0000145e> 00000000
009d5ff0: 00000000 00000000 ffffffff 00000006 464c457f
Return addresses in stack:
address : <0x0000a17c> { _deactivate_task + 0x34 }
address : <0x0012aa5e> { _schedule + 0x182 }
address : <0x0012aea0> { _schedule_timeout + 0x54 }
address : <0xffa00608> { _exception_to_level5 + 0xac }
address : <0x03e8c2c2> /* kernel dynamic memory */
address : <0x00dc933c> { :snd_soc_ssm2602:___mod_i2c_device_table + 0x23c }
address : <0x03e8c2c2> /* kernel dynamic memory */
address : <0x0023190a> { :snd_soc_core:_snd_soc_info_enum_double + 0x13e }
address : <0x0023198a> { :snd_soc_core:_snd_soc_info_enum_double + 0x1be }
address : <0x0001cdf4> { _run_workqueue + 0x7c }
address : <0x0001d7aa> { _worker_thread + 0xa2 }
address : <0x0001d784> { _worker_thread + 0x7c }
address : <0x0001fb74> { _kthread + 0x50 }
address : <0x0000145e> { _kernel_thread_helper + 0x6 }
Modules linked in: snd_ssm2602 snd_bf5xx_i2s snd_soc_ssm2602 snd_soc_core ac97_bus snd_soc_bf5xx_i2s snd_soc_bf5xx_sport i2c_bfii
Kernel panic - not syncing: Kernel exception
--
Follow-ups
--- Cliff Cai 2009-07-19 22:30:38
If we run vrec -w|vplay and then force system into power management course,after
resuming ,plackback will be started first,this causes the vrec -w|vplay to be
stopped.It should be a problem of oss-emulation layer.
--- Vivi Li 2009-07-22 03:12:06
This bug still exists after I add a 10K pull-down resistor to SCKE.
--- Cliff Cai 2009-07-28 23:46:48
fixed now,we should deal with the scenario that,suspending to memory may happen
while the driver haven't been put into use yet,in such case,the related
registers are all reset and needed to be restored.
Cliff
--- Cliff Cai 2009-07-28 23:47:40
fixed now,we should deal with the scenario that,suspending to memory may happen
while the driver haven't been put into use yet,in such case,the related
registers are all reset and needed to be restored.
Cliff
--- Vivi Li 2009-07-28 23:52:11
OK now. Close it.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.power application/octet-stream 34280 Vivi Li