[#5354] Wake up from mem in bf527-ezkit, audio driver fail to work (can't resolve symbol)

Document created by Aaronwu Employee on Sep 4, 2013
Version 1Show Document
  • View in full screen mode

[#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

Attachments

Outcomes