1. 16 3月, 2017 2 次提交
    • K
      ASoC: rcar: dma: remove unnecessary "volatile" · 9986943e
      Kuninori Morimoto 提交于
      commit 2a3af642eb20("ASoC: rcar: clear DE bit only in PDMACHCR...")
      added rsnd_dmapp_bset(), but it used copy-paste. Thus, it had
      unnecessary "volatile", and had below warning on x86.
      This patch fix it.
      
         sound/soc/sh/rcar/dma.c: In function 'rsnd_dmapp_bset':
      >> sound/soc/sh/rcar/dma.c:463:21: warning: passing argument 1 of \
         'ioread32' discards 'volatile' qualifier from pointer target \
         type [-Wdiscarded-qualifiers]
           u32 val = ioread32(addr);
                              ^~~~
         In file included from arch/x86/include/asm/io.h:203:0,
                          from arch/x86/include/asm/realmode.h:5,
                          from arch/x86/include/asm/acpi.h:33,
                          from arch/x86/include/asm/fixmap.h:19,
                          from arch/x86/include/asm/apic.h:10,
                          from arch/x86/include/asm/smp.h:12,
                          from include/linux/smp.h:59,
                          from include/linux/topology.h:33,
                          from include/linux/gfp.h:8,
                          from include/linux/idr.h:16,
                          from include/linux/kernfs.h:14,
                          from include/linux/sysfs.h:15,
                          from include/linux/kobject.h:21,
                          from include/linux/of.h:21,
                          from include/linux/of_dma.h:16,
                          from sound/soc/sh/rcar/dma.c:12:
         include/asm-generic/iomap.h:31:21: note: expected 'void *' \
         but argument is of type 'volatile void *'
          extern unsigned int ioread32(void __iomem *);
                              ^~~~~~~~
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      9986943e
    • K
      ASoC: rcar: clear DE bit only in PDMACHCR when it stops · 62a10498
      Kuninori Morimoto 提交于
      R-Car datasheet indicates "Clear DE in PDMACHCR" for transfer stop,
      but current code clears all bits in PDMACHCR.
      Because of this, DE bit might never been cleared,
      and it causes CMD overflow. This patch fixes this issue.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Tested-by: NHiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      62a10498
  2. 23 11月, 2016 2 次提交
  3. 25 10月, 2016 4 次提交
  4. 11 5月, 2016 1 次提交
  5. 23 1月, 2016 2 次提交
  6. 18 12月, 2015 1 次提交
  7. 19 11月, 2015 2 次提交
  8. 16 11月, 2015 8 次提交
  9. 22 10月, 2015 1 次提交
  10. 12 8月, 2015 1 次提交
  11. 18 7月, 2015 3 次提交
  12. 17 7月, 2015 2 次提交
  13. 16 6月, 2015 4 次提交
  14. 16 4月, 2015 1 次提交
  15. 28 3月, 2015 1 次提交
  16. 11 3月, 2015 2 次提交
  17. 07 3月, 2015 3 次提交
    • K
      ASoC: rsnd: 1st DMAC dma-names cares subnode · 72adc61f
      Kuninori Morimoto 提交于
      Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as
      Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC).
      And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine.
      But, in result of DMA ML discussion, 2nd DMAC was concluded that it is
      not a general purpose DMAC (2nd DMAC is for Device to Device inside
      sound system). Additionally, current DMAEngine can't support Device to
      Device, and we don't have correct DT bindings for it at this point.
      So the easiest solution for it is that move it from DMAEngine to rsnd
      driver.
      
      dma-names on DT was implemented as no difference between 1st / 2nd
      DMAC's, since rsnd had assumed that both DMACs are implemented as
      DMAEngine. That style was "src_dst". But now, 2nd DMAC was implemented
      as non DMAEngine, and it doesn't need dma-names anymore. So, this
      dma-names rule is no longer needed.
      
      And additionally, dma-names was assumed that it has all
      (= SSI/SSIU/SRC/DVC) nodes under sound node.
      
      In upstream code, no SoC/platform is supporting DMA for rsnd driver yet.
      This means there is no compatible issue if this patch changes
      dma-names's rule of DT.
      
      This patch assumes dma-names for 1st DMAC are tx/rx base, and listed
      in each SSI/SRC/DVC subnode
      ex)
      	rcar_sound,dvc {
      		dvc0: dvc@0 {
      			dmas = <&audma0 0xbc>;
      			dma-names = "tx";
      		};
      	...
      
      	rcar_sound,src {
      		src0: src@0 {
      			...
      			dmas = <&audma0 0x85>, <&audma1 0x9a>;
      			dma-names = "rx", "tx";
      		};
      	...
      
      	rcar_sound,ssi {
      		ssi0: ssi@0 {
      			...
      			dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
      			dma-names = "rx", "tx", "rxu", "txu";
      		};
      	...
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      72adc61f
    • K
      ASoC: rsnd: enable rsnd_ssi_use_busif() for DMA · e879a9dd
      Kuninori Morimoto 提交于
      Renesas R-Car sound driver uses SSI, but the DMA interfaces are
      SSI/SSIU. This interface is based on SSI/SRC/DVC connection.
      And DMA function needs to know which interface is used somehow.
      This patch enables rsnd_ssi_use_busif() for DMA.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      e879a9dd
    • K
      ASoC: rsnd: use union with rsnd_dmaen / rsnd_dmapp · 0d00a521
      Kuninori Morimoto 提交于
      Renesas R-Car needs 2 DMACs.1st DMAC is DMAEngine, and 2nd DMAC is
      implemented as local code. These 2 DMACs are never shared.
      We can use union for these.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      0d00a521