1. 21 11月, 2015 1 次提交
    • A
      ASoC: samsung: pass filter function as pointer · 9bdca822
      Arnd Bergmann 提交于
      As we are now passing the filter data as pointers to the drivers,
      we can take the final step and also pass the filter function the
      same way. I'm keeping this change separate, as there it's less
      obvious that this is a net win.
      
      Upsides of this are:
      
      - The ASoC drivers are completely independent from the DMA engine
        implementation, which simplifies the Kconfig logic and in theory
        allows the same sound drivers to be built in a kernel that supports
        different kinds of dmaengine drivers.
      
      - Consistency with other subsystems and drivers
      
      On the other hand, we have a few downsides:
      
      - The s3c24xx-dma driver now needs to be built-in for the ac97 platform
        device to be instantiated on s3c2440.
      
      - samsung_dmaengine_pcm_config cannot be marked 'const' any more
        because the filter function pointer needs to be set at runtime.
        This is safe as long we don't have multiple different DMA engines
        in thet same system at runtime, but is nonetheless ugly.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      9bdca822
  2. 19 11月, 2015 2 次提交
    • A
      ASoC: s3c24xx-i2s: pass DMA channels as platform data · 359fdfa6
      Arnd Bergmann 提交于
      This is a minor cleanup to make the s3c2412-i2s and s3c24xx-i2s
      drivers independent of the mach/dma.h header file and to allow
      removing the dependency on the specific dmaengine driver in the
      next patch.
      
      As a side not, only the s3c24xx-i2s driver seems to still be
      used, while the definition of the s3c2412-i2s platform device was
      removed in commit 6d259a25 ("ARM: SAMSUNG: use static
      declaration when it is not used in other files") after it had
      never been referenced since its introduction in f0fba2ad
      ("ASoC: multi-component - ASoC Multi-Component Support").
      
      Apparently it should have been used by mach-jive.c, but that
      never happened. My patch at this point leaves the current state
      unchanged, we can decide whether to fix or delete the jive
      driver and s3c2412-i2s another time.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      359fdfa6
    • A
      ASoC: samsung: pass DMA channels as pointers · b9a1a743
      Arnd Bergmann 提交于
      ARM64 allmodconfig produces a bunch of warnings when building the
      samsung ASoC code:
      
      sound/soc/samsung/dmaengine.c: In function 'samsung_asoc_init_dma_data':
      sound/soc/samsung/dmaengine.c:53:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         playback_data->filter_data = (void *)playback->channel;
      sound/soc/samsung/dmaengine.c:60:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         capture_data->filter_data = (void *)capture->channel;
      
      We could easily shut up the warning by adding an intermediate cast,
      but there is a bigger underlying problem: The use of IORESOURCE_DMA
      to pass data from platform code to device drivers is dubious to start
      with, as what we really want is a pointer that can be passed into
      a filter function.
      
      Note that on s3c64xx, the pl08x DMA data is already a pointer, but
      gets cast to resource_size_t so we can pass it as a resource, and it
      then gets converted back to a pointer. In contrast, the data we pass
      for s3c24xx is an index into a device specific table, and we artificially
      convert that into a pointer for the filter function.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b9a1a743
  3. 27 9月, 2015 1 次提交
  4. 19 7月, 2014 1 次提交
  5. 21 3月, 2014 1 次提交
  6. 14 2月, 2014 2 次提交
  7. 24 11月, 2013 1 次提交
  8. 12 10月, 2013 1 次提交
  9. 08 10月, 2013 1 次提交
  10. 13 8月, 2013 1 次提交
  11. 06 8月, 2013 2 次提交
  12. 25 5月, 2013 1 次提交
  13. 19 4月, 2013 1 次提交
  14. 12 4月, 2013 2 次提交
    • A
      spi: s3c64xx: move to generic dmaengine API · 78843727
      Arnd Bergmann 提交于
      The spi-s3c64xx uses a Samsung proprietary interface for
      talking to the DMA engine, which does not work with
      multiplatform kernels.
      
      This version of the patch leaves the old code in place,
      behind an #ifdef. This can be removed in the future,
      after the s3c64xx platform start supporting the regular
      dmaengine interface. An earlier version of this patch was
      tested successfully on exynos5250 by Padma Venkat.
      
      The conversion was rather mechanical, since the samsung
      interface is just a shallow wrapper around the dmaengine
      interface.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      78843727
    • A
      ASoC: samsung: use irq resource for idma · cb00e3a1
      Arnd Bergmann 提交于
      With multiplatform kernels, we cannot use hardwired IRQ
      numbers in device drivers. This changes the idma driver
      to use a proper resource, like all other drivers do.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      cb00e3a1
  15. 09 4月, 2013 1 次提交
  16. 24 3月, 2013 1 次提交
  17. 07 12月, 2012 1 次提交
  18. 08 11月, 2012 1 次提交
  19. 19 10月, 2012 1 次提交
  20. 21 9月, 2012 2 次提交
  21. 19 9月, 2012 1 次提交
    • A
      ARM: samsung: move platform_data definitions · 436d42c6
      Arnd Bergmann 提交于
      Platform data for device drivers should be defined in
      include/linux/platform_data/*.h, not in the architecture
      and platform specific directories.
      
      This moves such data out of the samsung include directories
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: "Wolfram Sang (embedded platforms)" <w.sang@pengutronix.de>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
      Cc: Chris Ball <cjb@laptop.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: linux-samsung-soc@vger.kernel.org
      436d42c6
  22. 23 8月, 2012 1 次提交
  23. 08 8月, 2012 2 次提交
  24. 13 7月, 2012 2 次提交
  25. 12 5月, 2012 1 次提交
  26. 10 5月, 2012 1 次提交
  27. 04 5月, 2012 1 次提交
  28. 21 4月, 2012 1 次提交
  29. 10 3月, 2012 3 次提交
  30. 09 3月, 2012 1 次提交
  31. 01 3月, 2012 1 次提交