1. 16 11月, 2015 7 次提交
    • K
      ASoC: rsnd: use mod base common method on DMA phase1 · 940e9479
      Kuninori Morimoto 提交于
      Renesas sound needs many devices
      (SSI/SSIU/SRC/CTU/MIX/DVC/CMD/AudioDMAC/AudioDMACpp).
      SSI/SRC/CTU/MIX/DVC are implemented as module.
      SSI parent, SSIU are implemented as part of SSI
      CMD is implemented as part of CTU/MIX/DVC
      AudioDMAC/AudioDMACpp are implemented as part of SSI/SRC
      It is nice sense that these all devices are implemented as mod.
      
      DMA will be implemented as module. Then rsnd_dma will be mod base.
      This patch makes rsnd_dma mod base, but still not yet completely
      finished. This mod is not yet installed to system at this point.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      940e9479
    • K
      ASoC: rsnd: rsnd_dai_stream has each mod's status insted of rsnd_mod · c2dc47d5
      Kuninori Morimoto 提交于
      Renesas sound needs many devices
      (SSI/SSIU/SRC/CTU/MIX/DVC/CMD/AudioDMAC/AudioDMACpp).
      SSI/SRC/CTU/MIX/DVC are implemented as module.
      SSI parent, SSIU are implemented as part of SSI
      CMD is implemented as part of CTU/MIX/DVC
      AudioDMAC/AudioDMACpp are implemented as part of SSI/SRC
      It is nice sense that these all devices are implemented as mod.
      
      Current rsnd is controling each mod's status on mod. But it was not
      good design for SSI, because stream might has SSI-parent.
      In such case, it can't play/capture in same time, because SSI-parent
      is used as normal SSI in other stream, but it shares same status.
      To avoid this issue each mod's status is controlled by rsnd_dai_stream
      instead of rsnd_mod.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      c2dc47d5
    • K
      ASoC: rsnd: move rsnd_src_ssi_irq_enable/disable() to ssi.c · 37447b46
      Kuninori Morimoto 提交于
      Part of SSI IRQ enable/disable was controlled by SRU (on Gen1)
      or CMD (on Gen2). Because of this reason SSI IRQ function was
      implemented under src.c. but it is not understandable.
      Let's move it to ssi.c
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      37447b46
    • K
      ASoC: rsnd: enable to use rsnd_dai_connect() from each mod · 27924f32
      Kuninori Morimoto 提交于
      Renesas sound needs many devices
      (SSI/SSIU/SRC/CTU/MIX/DVC/CMD/AudioDMAC/AudioDMACpp).
      SSI/SRC/CTU/MIX/DVC are implemented as module.
      SSI parent, SSIU are implemented as part of SSI
      CMD is implemented as part of CTU/MIX/DVC
      AudioDMAC/AudioDMACpp are implemented as part of SSI/SRC
      It is nice sense that these all devices are implemented as mod.
      
      DMAC/SSIU/SSI-parent/CMD will be implemented as module, but these are
      not customer controlled module. These should be automatically install
      to system. Because of this, rsnd_dai_connect() should be called from
      each mod. SSI can be very special, because it will be installed as
      SSI-parent / SSI-child. Thus, new rsnd_dai_connect() has type parameter
      which should be mod->type except SSI-parent
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      27924f32
    • K
      ASoC: rsnd: rename rsnd_dma_init() to rsnd_dma_attach() · 81ecbb65
      Kuninori Morimoto 提交于
      Renesas sound needs many devices
      (SSI/SSIU/SRC/CTU/MIX/DVC/CMD/AudioDMAC/AudioDMACpp).
      SSI/SRC/CTU/MIX/DVC are implemented as module.
      SSI parent, SSIU are implemented as part of SSI
      CMD is implemented as part of CTU/MIX/DVC
      AudioDMAC/AudioDMACpp are implemented as part of SSI/SRC
      It is nice sense that these all devices are implemented as mod.
      
      DMA will be implemented as module. Then each rsnd_dma_ops will be
      rsnd_mod_ops. But current rsnd_dma_ops::init means "DMA attach".
      This patch removes .init from rsnd_dma_ops, and renames
      rsnd_dma_init() to rsnd_dma_attach()
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      81ecbb65
    • K
      ASoC: rsnd: DMA related definition goes to dma.c · 3e5afa73
      Kuninori Morimoto 提交于
      Renesas sound needs many devices
      (SSI/SSIU/SRC/CTU/MIX/DVC/CMD/AudioDMAC/AudioDMACpp).
      SSI/SRC/CTU/MIX/DVC are implemented as module.
      SSI parent, SSIU are implemented as part of SSI
      CMD is implemented as part of CTU/MIX/DVC
      AudioDMAC/AudioDMACpp are implemented as part of SSI/SRC
      It is nice sense that these all devices are implemented as mod.
      
      DMA will be implemented as module. Current DMA definition is no longer
      needed on rsnd.h. Let's move it to dma.c
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      3e5afa73
    • K
      ASoC: rsnd: DMA become SSI/SRC member · 232c00b6
      Kuninori Morimoto 提交于
      Renesas sound needs many devices
      (SSI/SSIU/SRC/CTU/MIX/DVC/CMD/AudioDMAC/AudioDMACpp).
      SSI/SRC/CTU/MIX/DVC are implemented as module.
      SSI parent, SSIU are implemented as part of SSI
      CMD is implemented as part of CTU/MIX/DVC
      AudioDMAC/AudioDMACpp are implemented as part of SSI/SRC
      It is nice sense that these all devices are implemented as mod.
      
      Current rsnd_mod is member of rsnd_mod. But the DMA user is only
      SSI/SRC. This DMA will be implemented as module. As 1st step, DMA
      become SSI/SRC member by this patch.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      232c00b6
  2. 22 10月, 2015 2 次提交
  3. 07 10月, 2015 1 次提交
  4. 15 9月, 2015 3 次提交
  5. 18 7月, 2015 2 次提交
  6. 17 7月, 2015 12 次提交
  7. 10 7月, 2015 1 次提交
  8. 16 6月, 2015 11 次提交
  9. 22 5月, 2015 1 次提交
    • K
      ASoC: rsnd: spin lock for interrupt handler · 02299d98
      Kuninori Morimoto 提交于
      Renesas R-Car driver interrupt handler was not locked before.
      But now, SSI/SRC interrupt handler calls restart function
      which should be called under spin lock.
      Below error might happen witout this patch.
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000048
      pgd = edfac000
      [00000048] *pgd=6e0f0831, *pte=00000000, *ppte=00000000
      Internal error: Oops: 17 [#1] SMP ARM
      CPU: 0 PID: 2009 Comm: aplay Not tainted 4.1.0-rc2-dirty #4
      Hardware name: Generic R8A7790 (Flattened Device Tree)
      task: eeac9040 ti: eebe8000 task.ti: eebe8000
      PC is at rsnd_get_adinr+0x28/0x60
      LR is at rsnd_src_ssiu_start+0xdc/0x19c
      pc : [<c0409790>]    lr : [<c040c068>]    psr: a0000193
      sp : eebe9e58  ip : eebe9e68  fp : eebe9e64
      r10: c06ed9d0  r9 : ee919d10  r8 : 00000001
      r7 : 00000001  r6 : ee1cb090  r5 : 00000000  r4 : edcaa418
      r3 : 00000000  r2 : eea8ce00  r1 : 80000193  r0 : edcaa418
      ...
      Reported-by: NCao Minh Hiep <cm-hiep@jinso.co.jp>
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Tested-by: NKeita Kobayashi <keita.kobayashi.ym@renesas.com>
      Tested by: Cao Minh Hiep <cm-hiep@jinso.co.jp>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      02299d98