From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kuninori Morimoto Date: Wed, 23 Jul 2014 02:17:23 +0000 Subject: Re: [PATCH/RFC 0/5] R-Car Gen2 DMAC hardware descriptor list support Message-Id: <87d2cwvmxa.wl%kuninori.morimoto.gx@gmail.com> List-Id: References: <1406032431-3807-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> In-Reply-To: <1406032431-3807-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-sh@vger.kernel.org Hi Laurent > The code has been tested by artificially lowering the maximum chunk size to > 4096 bytes and running dmatest, which completed sucessfully. Morimoto-san, is > there an easy way to test cyclic transfers with your audio driver ? Thank you for your offer. I tested this patchset with audio DMAC (= cyclic transfer) but, it doesn't work for me. First of all, this sound driver which is using cyclic transfer was worked well in shdma-base driver. I had sent audio DMA support plafrom side patches before. But, of course I'm happy to update sound driver side. I will re-send my audio DMAC support patches after this email. My troubles are... 1. "filter" still can't care "dma0" or "audma0" dmac0: dma-controller@e6700000 { .. }; dmac1: dma-controller@e6720000 { ... }; audma0: dma-contorller@ec700000 { ... }; audma1: dma-controller@ec720000 { ... }; audmapp: audio-dma-pp@0xec740000 { ... }; audio driver requests "audma0, 0x01", but, filter accepts it as "dmac0, 0x01" 2. cyclic transfer doesn't work I got attached error. ---------------------- Playing WAVE '/home/Calm_16bit_48k.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo ------------[ cut here ]------------ WARNING: CPU: 0 PID: 0 at /opt/home/morimoto/linux/drivers/dma/sh/rcar-dmac.c:1264 rcar_dmac_isr_channel+0x68/0x184() CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.16.0-rc4-02824-gfc6caf1-dirty #291 Backtrace: [] (dump_backtrace) from [] (show_stack+0x18/0x1c) r6:c0516218 r5:00000009 r4:00000000 r3:00200000 [] (show_stack) from [] (dump_stack+0x7c/0x98) [] (dump_stack) from [] (warn_slowpath_common+0x68/0x8c) r4:00000000 r3:600f0193 [] (warn_slowpath_common) from [] (warn_slowpath_null+0x24/0x2c) r8:edbe6800 r7:00000000 r6:00000000 r5:3e0c1810 r4:ee278010 [] (warn_slowpath_null) from [] (rcar_dmac_isr_channel+0x68/0x184) [] (rcar_dmac_isr_channel) from [] (handle_irq_event_percpu+0x38/0x130) r6:00000000 r5:00000160 r4:ee3ab3c0 r3:c01d46a8 [] (handle_irq_event_percpu) from [] (handle_irq_event+0x48/0x68) r10:00000000 r9:00000014 r8:edbe6800 r7:c0587c9c r6:c0587f40 r5:c05a0c84 r4:ee818c40 [] (handle_irq_event) from [] (handle_fasteoi_irq+0xbc/0x144) r5:c05a0c84 r4:ee818c40 [] (handle_fasteoi_irq) from [] (generic_handle_irq+0x28/0x38) r5:c0583bcc r4:00000160 [] (generic_handle_irq) from [] (handle_IRQ+0x70/0x98) r4:00000160 r3:000001a7 [] (handle_IRQ) from [] (gic_handle_irq+0x44/0x68) r6:c058e88c r5:c0587c68 r4:f0002000 r3:000001a0 [] (gic_handle_irq) from [] (__irq_svc+0x40/0x50) Exception stack(0xc0587c68 to 0xc0587cb0) 7c60: c05b308c 00000000 0d4a0d4a 0d4b0d4a ee231a00 edb71b80 7c80: 00000000 00000000 edbe6800 00000014 00000000 c0587cbc c0587cc0 c0587cb0 7ca0: c03871f0 c043c4c0 600f0113 ffffffff r6:ffffffff r5:600f0113 r4:c043c4c0 r3:c03871f0 [] (_raw_spin_lock) from [] (ip_defrag+0xaac/0xcb8) [] (ip_defrag) from [] (ip_local_deliver+0x5c/0x268) r10:edb71b80 r9:c058f24c r8:00000008 r7:c05b2f40 r6:edb71b80 r5:edb71b98 r4:ee22332e [] (ip_local_deliver) from [] (ip_rcv+0x650/0x6f0) r7:c05b2f40 r6:edb71b80 r5:edb71b98 r4:ee22332e [] (ip_rcv) from [] (__netif_receive_skb_core+0x470/0x50c) r9:c058f24c r8:00000008 r7:c05900d0 r6:00000000 r5:c058f238 r4:00000000 [] (__netif_receive_skb_core) from [] (__netif_receive_skb+0x2c/0x80) r10:000005ea r9:edbe6a78 r8:edbe6d10 r7:0000003f r6:0000003f r5:c058f238 r4:edb71b80 [] (__netif_receive_skb) from [] (netif_receive_skb_internal+0x64/0xa4) r5:c058f238 r4:edb71b80 [] (netif_receive_skb_internal) from [] (netif_receive_skb+0x10/0x14) r5:edb71b80 r4:edbe6800 [] (netif_receive_skb) from [] (sh_eth_poll+0x214/0x494) [] (sh_eth_poll) from [] (net_rx_action+0xb8/0x174) r10:c05880c0 r9:00000040 r8:c05ba8b8 r7:eef9fc88 r6:0000012c r5:eef9fc80 r4:edbe6d10 [] (net_rx_action) from [] (__do_softirq+0xf0/0x22c) r10:c0586000 r9:00000100 r8:c058808c r7:c0588080 r6:c0586000 r5:c0586018 r4:00000008 [] (__do_softirq) from [] (irq_exit+0x8c/0xe8) r10:00000000 r9:413fc0f2 r8:ef7fccc0 r7:c0587f74 r6:00000000 r5:c0583bcc r4:c0586028 [] (irq_exit) from [] (handle_IRQ+0x74/0x98) r4:000000c2 r3:000001a7 [] (handle_IRQ) from [] (gic_handle_irq+0x44/0x68) r6:c058e88c r5:c0587f40 r4:f0002000 r3:000001a0 [] (gic_handle_irq) from [] (__irq_svc+0x40/0x50) Exception stack(0xc0587f40 to 0xc0587f88) 7f40: eef9e490 00000000 0000404a 00000000 c0586018 c0586000 c0586000 c0579814 7f60: ef7fccc0 413fc0f2 00000000 c0587f94 c0587f98 c0587f88 c000f484 c000f488 7f80: 600f0013 ffffffff r6:ffffffff r5:600f0013 r4:c000f488 r3:c000f484 [] (arch_cpu_idle) from [] (cpu_startup_entry+0xf4/0x154) [] (cpu_startup_entry) from [] (rest_init+0x68/0x80) [] (rest_init) from [] (start_kernel+0x2cc/0x31c) [] (start_kernel) from [<40008074>] (0x40008074) ---------------------- Best regards --- Kuninori Morimoto