On Tue, Nov 19, 2013 at 3:07 AM, Lee Jones <lee.jo...@linaro.org> wrote: > In this patch we do two things. Firstly, instead of open coding the > store of DMA data in to the DAI for later use, we use the API provided. > Secondly we create and store similar DMA data for the DT case, only > this time we use 'struct snd_dmaengine_dai_dma_data' which is provided > by the core for this very reason. > > Cc: alsa-de...@alsa-project.org > Cc: Mark Brown <broo...@kernel.org> > Acked-by: Linus Walleij <linus.wall...@linaro.org> > Signed-off-by: Lee Jones <lee.jo...@linaro.org> > --- > sound/soc/ux500/ux500_msp_dai.c | 42 > +++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 40 insertions(+), 2 deletions(-)
Today's next (next-20131204) has a new boot failure[1] on ux500/snowball which bisected down to this commit. Full boot log attached. It doesn't find the alsa device which in turn seems to prevent the emmc rootfs from being mounted. It boots fine to an initramfs. Kevin [1] http://lists.linaro.org/pipermail/kernel-build-reports/2013-December/001382.html
Connected to snowball console [channel connected] (~$quit to exit) (user:khilman) is already connected (user:khilman) is already connected ~$hardreset Command(snowball console)> hardreset (user:khilman) Reboot snowball Reboot: snowball ; ip9258 2 2 : ('off', 6, 'on') , sleep 6, LLC(WR_MNGT_STARTED 1 About to do AVS calculations About to exec MEMINIT function 0 Executed MEMINIT function 0 About to ask ISSW to perform MEMINIT ISSW returned from MEMINIT, Vendor ID 0xFF len 0x10 CS0 density 0x54 CS1 density 0x54 About to exec MEMINIT function 1 SoC settings: INFO: @(#)SOC-SETTINGS v3.0.2-AVS_VMOD_workaround db8500 v2 1000Mhz Jun 30 2011 19:08:06 SoC settings: INFO: Memory size=0x40000000 (1024 MB) SoC settings: INFO: DDR Test Ended successfully. SoC settings: INFO: Requesting 1GHz from PRCMU SoC settings: INFO: Error setting 1GHz dvfs: 0x00000000 Executed MEMINIT function 1 MEMINIT passed OK About to load NORMAL After NORMAL loaded verify_signedheader TEEC_InvokeCommand TEEC_SUCCESS != result (0xFFFF000F) Loading raw payload XL_DisableCachesMmu Before ENABLE_L2CC After ENABLE_L2CC Flush boot issw code Before call normal U-Boot 2009.11 (sept. 19 2011 - 17:03:11) CPU: ST-Ericsson db8500 v2 (Dual ARM Cortex A9) 998.400 Mhz I2C: ready DRAM: 1 GB MMC: MCDE: startup failed sec_bridge: ISSWAPI_FLUSH_BOOT_CODE: 2 EMMC: 0, MMC: 1 In: serial Out: serial Err: serial Net: smc911x-0 Hit any key to stop autoboot: 1 0 U8500 $ U8500 $ version version U-Boot 2009.11 (sept. 19 2011 - 17:03:11) U8500 $ setenv ethaddr 6e:e6:84:36:8e:9e setenv ethaddr 6e:e6:84:36:8e:9e Can't overwrite "ethaddr" U8500 $ setenv bootargs console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4 setenv bootargs console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4 U8500 $ setenv netargs 'setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}::::192.168.1.254:none' setenv netargs 'setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}::::192.168.1.254:none' U8500 $ if test -n ${initenv}; then run initenv; fi if test -n ${initenv}; then run initenv; fi U8500 $ if test -n ${preboot}; then run preboot; fi if test -n ${preboot}; then run preboot; fi U8500 $ setenv autoload no; setenv autoboot no setenv autoload no; setenv autoboot no U8500 $ dhcp dhcp smc911x: detected LAN9221 controller smc911x: phy initialized smc911x: MAC 6e:e6:84:36:8e:9e BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.1.184 U8500 $ setenv serverip 192.168.1.2 setenv serverip 192.168.1.2 U8500 $if test -n ${netargs}; then run netargs; fi if test -n ${netargs}; then run netargs; fi U8500 $ tftp 0x00800000 tmp/snowball-wx0mRt/tmppEJCfC-uImage tftp 0x00800000 tmp/snowball-wx0mRt/tmppEJCfC-uImage smc911x: detected LAN9221 controller smc911x: phy initialized smc911x: MAC 6e:e6:84:36:8e:9e Using smc911x-0 device TFTP from server 192.168.1.2; our IP address is 192.168.1.184 Filename 'tmp/snowball-wx0mRt/tmppEJCfC-uImage'. Load address: 0x800000 Loading: *################################################################# ################################################################# ################################################################# #### done Bytes transferred = 2908132 (2c5fe4 hex) U8500 $ printenv bootargs printenv bootargs bootargs=console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4 ip=192.168.1.184:192.168.1.2:192.168.1.254:255.255.255.0::::192.168.1.254:none U8500 $ bootm 0x00800000 bootm 0x00800000 ## Booting kernel from Legacy Image at 00800000 ... Image Name: Linux Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2908068 Bytes = 2.8 MB Load Address: 00008000 Entry Point: 00008000 Loading Kernel Image ... OK OK Starting kernel ... Booting Linux on physical CPU 0x300 Linux version 3.13.0-rc2-next-20131204 (khilman@paris) (gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-1ubuntu1) ) #14 SMP PREEMPT Wed Dec 4 09:32:43 PST 2013 CPU: ARMv7 Processor [412fc091] revision 1 (ARMv7), cr=10c5387d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine model: Calao Systems Snowball platform with device tree Memory policy: Data cache writealloc DB8500 v2.2 [0x008500b2] On node 0 totalpages: 262144 free_area_init_node: node 0, pgdat c05677c0, node_mem_map c082f000 Normal zone: 1520 pages used for memmap Normal zone: 0 pages reserved Normal zone: 194560 pages, LIFO batch:31 HighMem zone: 528 pages used for memmap HighMem zone: 67584 pages, LIFO batch:15 PERCPU: Embedded 7 pages/cpu @c103e000 s7808 r8192 d12672 u32768 pcpu-alloc: s7808 r8192 d12672 u32768 alloc=8*4096 pcpu-alloc: [0] 0 [0] 1 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260624 Kernel command line: console=ttyAMA2,115200n8 debug earlyprintk rw root=/dev/mmcblk0p3 rootwait rootfstype=ext4 ip=192.168.1.184:192.168.1.2:192.168.1.254:255.255.255.0::::192.168.1.254:none PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 1033660K/1048576K available (3843K kernel code, 200K rwdata, 1268K rodata, 187K init, 231K bss, 14916K reserved, 270336K highmem) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) lowmem : 0xc0000000 - 0xef800000 ( 760 MB) pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) modules : 0xbf000000 - 0xbfe00000 ( 14 MB) .text : 0xc0008000 - 0xc0505fb0 (5112 kB) .init : 0xc0506000 - 0xc0534e80 ( 188 kB) .data : 0xc0536000 - 0xc05682a0 ( 201 kB) .bss : 0xc05682ac - 0xc05a1f18 ( 232 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 Preemptible hierarchical RCU implementation. NR_IRQS:16 nr_irqs:16 16 sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65536000000000ns Switching to timer-based delay loop Console: colour dummy device 80x30 Calibrating delay loop (skipped), value calculated using timer frequency.. 4.80 BogoMIPS (lpj=24000) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok missing device node for CPU 0 missing device node for CPU 1 CPU0: thread -1, cpu 0, socket 3, mpidr 80000300 Setting up static identity map for 0x3a52d0 - 0x3a5328 L310 cache controller enabled l2x0: 8 ways, CACHE_ID 0x410000c5, AUX_CTRL 0x7ec60800, Cache size: 512 kB CPU1: Booted secondary processor CPU1: thread -1, cpu 1, socket 3, mpidr 80000301 Brought up 2 CPUs SMP: Total of 2 processors activated. CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 2 pinctrl core: initialized pinctrl subsystem regulator-dummy: no parameters NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu gpio 8012e000.gpio: at address f812e000 gpio 8012e080.gpio: at address f812e080 gpio 8000e000.gpio: at address f800e000 gpio 8000e080.gpio: at address f800e080 gpio 8000e100.gpio: at address f800e100 gpio 8000e180.gpio: at address f800e180 gpio 8011e000.gpio: at address f811e000 gpio 8011e080.gpio: at address f811e080 gpio a03fe000.gpio: at address fa3fe000 pinctrl-nomadik pinctrl-db8500: initialized Nomadik pin control driver PRCMU firmware: U8500(2), version 3.4.3 ab8500-core ab8500-core.0: detected chip, AB8500 rev. 3.0 ab8500-core ab8500-core.0: switch off cause(s) (0x20): "Battery level lower than power on reset threshold" ab8500-core ab8500-core.0: turn on reason(s) (0x20): "Vbus Detect (USB)" abx500-gpio pinctrl-ab8500.0: added gpiochip abx500-gpio pinctrl-ab8500.0: registered pin controller abx500-gpio pinctrl-ab8500.0: initialized abx500 pinctrl driver DB8500 PRCMU initialized db8500-vape: no parameters db8500-varm: no parameters db8500-vmodem: no parameters db8500-vpll: no parameters db8500-vsmps1: no parameters db8500-vsmps2: no parameters db8500-vsmps3: no parameters db8500-vrf1: no parameters db8500-sva-mmdsp: no parameters db8500-sva-mmdsp-ret: no parameters db8500-sva-pipe: no parameters db8500-sia-mmdsp: no parameters db8500-sia-mmdsp-ret: no parameters db8500-sia-pipe: no parameters db8500-sga: no parameters db8500-b2r2-mcde: no parameters db8500-esram12: no parameters db8500-esram12-ret: no parameters db8500-esram34: no parameters db8500-esram34-ret: no parameters Serial: AMBA PL011 UART driver 80120000.uart: ttyAMA0 at MMIO 0x80120000 (irq = 43, base_baud = 0) is a PL011 rev3 80121000.uart: ttyAMA1 at MMIO 0x80121000 (irq = 51, base_baud = 0) is a PL011 rev3 80007000.uart: ttyAMA2 at MMIO 0x80007000 (irq = 58, base_baud = 0) is a PL011 rev3 console [ttyAMA2] enabled abx500-clk abx500-clk.0: register clocks for ab850x bio: create slab <bio-0> at 0 dma40 801c0000.dma-controller: hardware rev: 3 @ 0x801c0000 with 8 physical and 256 logical channels dma40 801c0000.dma-controller: 7 of 8 physical DMA channels available dma40 801c0000.dma-controller: [d40_phy_res_init] INFO: channel 4 is misconfigured (0) dma40 801c0000.dma-controller: [d40_phy_res_init] INFO: channel 5 is misconfigured (0) dma40 801c0000.dma-controller: [d40_phy_res_init] INFO: channel 6 is misconfigured (0) dma40 801c0000.dma-controller: initialized en-3v3-fixed-supply: 3300 mV ab8500-ext-supply1: 1800 mV ab8500-ext-supply2: 1360 mV ab8500-ext-supply3: 3400 mV V-DISPLAY: 2500 <--> 2900 mV at 2500 mV V-DISPLAY: supplied by ab8500-ext-supply3 V-eMMC1: 1100 <--> 3300 mV at 2900 mV V-eMMC1: supplied by ab8500-ext-supply3 V-MMC-SD: 1200 <--> 2910 mV at 2910 mV V-MMC-SD: supplied by ab8500-ext-supply3 V-INTCORE: at 1250 mV V-TVOUT: 2000 mV V-AUD: 2000 mV V-AMIC1: 2050 mV V-AMIC2: 2050 mV V-DMIC: 1800 mV V-CSI/DSI: 1200 mV V-CSI/DSI: Failed to create debugfs directory mmci-reg: 1800 <--> 2900 mV at 2900 mV ssp-pl022 80002000.ssp: ARM PL022 driver, device ID: 0x01080022 ssp-pl022 80002000.ssp: mapped registers from 0x80002000 to f0084000 ssp-pl022 80003000.ssp: ARM PL022 driver, device ID: 0x01080022 ssp-pl022 80003000.ssp: mapped registers from 0x80003000 to f0086000 ssp-pl022 8011a000.spi: ARM PL022 driver, device ID: 0x00080023 ssp-pl022 8011a000.spi: mapped registers from 0x8011a000 to f0088000 ssp-pl022 80112000.spi: ARM PL022 driver, device ID: 0x00080023 ssp-pl022 80112000.spi: mapped registers from 0x80112000 to f008a000 ssp-pl022 80111000.spi: ARM PL022 driver, device ID: 0x00080023 ssp-pl022 80111000.spi: mapped registers from 0x80111000 to f008c000 ssp-pl022 80129000.spi: ARM PL022 driver, device ID: 0x00080023 ssp-pl022 80129000.spi: mapped registers from 0x80129000 to f008e000 usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb abx5x0-usb ab8500-usb.0: revision 0x30 driver initialized nmk-i2c 80004000.i2c: initialize Nomadik I2C at [mem 0x80004000-0x80004fff] on virtual base f0090000 nmk-i2c 80122000.i2c: initialize Nomadik I2C at [mem 0x80122000-0x80122fff] on virtual base f0092000 nmk-i2c 80128000.i2c: initialize Nomadik I2C at [mem 0x80128000-0x80128fff] on virtual base f0094000 nmk-i2c 80110000.i2c: initialize Nomadik I2C at [mem 0x80110000-0x80110fff] on virtual base f0096000 nmk-i2c 8012a000.i2c: initialize Nomadik I2C at [mem 0x8012a000-0x8012afff] on virtual base f0098000 Advanced Linux Sound Architecture Driver Initialized. Switched to clocksource dbx500-prcmu-timer NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 3, 32768 bytes) TCP bind hash table entries: 8192 (order: 4, 65536 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP: reno registered UDP hash table entries: 512 (order: 2, 16384 bytes) UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. bounce pool size: 64 pages msgmni has been set to 1490 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) uart-pl011 80120000.uart: DMA channel TX dma0chan12 uart-pl011 80120000.uart: DMA channel RX dma0chan13 uart-pl011 80121000.uart: DMA channel TX dma0chan14 uart-pl011 80121000.uart: DMA channel RX dma0chan15 uart-pl011 80007000.uart: DMA channel TX dma0chan16 uart-pl011 80007000.uart: DMA channel RX dma0chan17 brd: module loaded smsc911x: Driver version 2008-10-21 libphy: smsc911x-mdio: probed smsc911x 50000000.ethernet eth0: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=50000000.etherne:01, irq=-1) smsc911x 50000000.ethernet eth0: MAC Address: 7e:0d:bd:3b:6b:68 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn) musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 5 musb-hdrc: 28/31 max ep, 8192/262144 memory musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected mousedev: PS/2 mouse device common for all mice input: AB8500 POn(PowerOn) Key as /devices/soc0/soc.0/db8500-prcmu/ab8500-core.0/ab8500-poweron-key.0/input/input0 ab8500-rtc ab8500-rtc.0: rtc core: registered ab8500-rtc as rtc0 rtc-pl031 80154000.rtc: rtc core: registered pl031 as rtc1 db8500-thermal db8500-thermal.0: Thermal zone device registered. genirq: Flags mismatch irq 181. 00006000 (dbx500_temp_low) vs. 00006000 (dbx500_temp_low) db8500-thermal 801573c0.thermal: Failed to allocate temp low irq. db8500-thermal: probe of 801573c0.thermal failed with error -16 ux500_wdt ux500_wdt: initialized dbx500-cpufreq: Available frequencies: 200 Mhz 400 Mhz 800 Mhz 1000 Mhz mmci-pl18x sdi0: mmc0: PL180 manf 80 rev4 at 0x80126000 irq 92,0 (pio) mmci-pl18x sdi0: DMA channels RX dma0chan18, TX dma0chan19 mmci-pl18x sdi4: dummy supplies not allowed mmci-pl18x sdi4: mmc1: PL180 manf 80 rev4 at 0x80114000 irq 131,0 (pio) mmci-pl18x sdi4: DMA channels RX dma0chan20, TX dma0chan21 hash1 hash1: successfully registered [ux500_cryp_mod_init] is called! cryp1 cryp1: [ux500_cryp_probe] cryp1 cryp1: [cryp_enable_power] [cryp_algs_register_all] cryp1 cryp1: successfully registered usbcore: registered new interface driver usbhid usbhid: USB HID core driver of_dma_request_slave_channel: dma-names property of node '/soc/msp@80124000' missing or empty of_dma_request_slave_channel: dma-names property of node '/soc/msp@80124000' missing or empty of_dma_request_slave_channel: dma-names property of node '/soc/msp@80125000' missing or empty mmc1: new high speed MMC card at address 0001 of_dma_request_slave_channel: dma-names property of node '/soc/msp@80125000' missing or empty mmcblk0: mmc1:0001 7.28 GiB mmcblk0boot0: mmc1:0001 partition 1 2.00 MiB mmcblk0boot1: mmc1:0001 partition 2 2.00 MiB mmcblk0rpmb: mmc1:0001 partition 3 128 KiB dma dma0chan22: [d40_config_memcpy] No memcpy dma dma0chan22: [d40_alloc_chan_resources] Failed to configure memcpy channel ux500-msp-i2s ux500-msp-i2s.1: Missing dma channel for stream: 0 ux500-msp-i2s ux500-msp-i2s.1: ASoC: pcm constructor failed: -22 snd-soc-mop500 snd-soc-mop500.0: ASoC: can't create pcm ab8500_0 :-22 snd-soc-mop500 snd-soc-mop500.0: ASoC: failed to instantiate card -22 snd-soc-mop500 snd-soc-mop500.0: Error: snd_soc_register_card failed (-22)! snd-soc-mop500: probe of snd-soc-mop500.0 failed with error -22 TCP: cubic registered NET: Registered protocol family 17 mmcblk0: p1 p2 p3 NET: Registered protocol family 35 NET: Registered protocol family 37 Registering SWP/SWPB emulation handler V-CSI/DSI: disabling db8500-esram34: disabling db8500-esram12: disabling input: gpio_keys.8 as /devices/soc0/gpio_keys.8/input/input1 ab8500-rtc ab8500-rtc.0: setting system clock to 2000-01-01 00:00:16 UTC (946684816) thermal cooling_device0: thermal-cpufreq-0 bind to 0: 0-succeed mmcblk0boot1: unknown partition table thermal cooling_device0: thermal-cpufreq-0 bind to 1: 0-succeed thermal cooling_device0: thermal-cpufreq-0 bind to 2: 0-succeed db8500-cpufreq-cooling cpufreq-cooling.5: Cooling device registered: thermal-cpufreq-0 mmcblk0boot0: unknown partition table smsc911x 50000000.ethernet eth0: SMSC911x/921x identified at 0xf00a0000, IRQ: 183 IP-Config: Complete: device=eth0, hwaddr=7e:0d:bd:3b:6b:68, ipaddr=192.168.1.184, mask=255.255.255.0, gw=192.168.1.254 host=192.168.1.184, domain=, nis-domain=(none) bootserver=192.168.1.2, rootserver=192.168.1.2, rootpath= nameserver0=192.168.1.254, nameserver1=109.0.0.0 ALSA device list: No soundcards found. random: nonblocking pool is initialized EXT4-fs (mmcblk0p3): warning: maximal mount count reached, running e2fsck is recommended EXT4-fs (mmcblk0p3): recovery complete EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) VFS: Mounted root (ext4 filesystem) on device 179:3. devtmpfs: mounted Freeing unused kernel memory: 184K (c0506000 - c0534000) mmci-pl18x sdi4: error during DMA transfer! mmcblk0rpmb: error -110 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0 mmcblk0rpmb: retrying using single block read mmci-pl18x sdi4: error during DMA transfer! mmcblk0rpmb: error -110 transferring data, sector 64, nr 8, cmd response 0x900, card status 0x0 mmcblk0rpmb: retrying using single block read mmci-pl18x sdi4: error during DMA transfer! mmcblk0rpmb: error -110 transferring data, sector 16, nr 8, cmd response 0x900, card status 0x0 mmcblk0rpmb: retrying using single block read mmci-pl18x sdi4: error during DMA transfer! mmcblk0rpmb: error -110 transferring data, sector 128, nr 8, cmd response 0x900, card status 0x0 mmcblk0rpmb: retrying using single block read mmci-pl18x sdi4: error during DMA transfer! mmcblk0rpmb: error -110 transferring data, sector 24, nr 8, cmd response 0x900, card status 0x0 mmcblk0rpmb: retrying using single block read mmci-pl18x sdi4: error during DMA transfer! mmcblk0rpmb: error -110 transferring data, sector 32, nr 8, cmd response 0x900, card status 0x0 mmcblk0rpmb: retrying using single block read mmci-pl18x sdi4: error during DMA transfer! mmcblk0rpmb: error -110 transferring data, sector 8, nr 8, cmd response 0x900, card status 0x0 mmcblk0rpmb: retrying using single block read ~$off # PYBOOT: Exception: userspace: ERROR: Never found root shell # PYBOOT: Time: 44.48 seconds. # PYBOOT: Result: FAIL