summaryrefslogtreecommitdiffstats
path: root/sound/soc/sh (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: rsnd: fixup index of src/dst mod when captureKuninori Morimoto2014-06-121-1/+1
| | | | | | | | | Index of dma name should use -1, not +1 when capture case. Thank you Dan. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
*-. Merge remote-tracking branches 'asoc/topic/omap' and 'asoc/topic/rcar' into ↵Mark Brown2014-06-036-31/+259
|\ \ | | | | | | | | | asoc-next
| | * ASoC: rsnd: add rsnd_gen_dma_addr() for DMAC addrKuninori Morimoto2014-05-263-4/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | The DMAC src/dst addr needs to be set from driver when DT case. (It was set from SoC/DMAEngine code when non-DT case) This patch adds rsnd_gen_dma_addr() to set DMAC src/dst addr. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: care DMA slave channel name for DTKuninori Morimoto2014-05-262-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renesas sound driver is supporting to use DMAEngine. But, DMA slave channel name "tx", "rx" is not enough in DT case. Becuase, it has many ports and path combination. This patch adds rsnd_dma_of_name() to find DMA channel name, for example memory to SSI0 is "mem_ssi0", SSI0 to memory is "ssi0_mem", SSI0 to SRC0 is "ssi0_src0", SRC0 to SSI0 is "src0_ssi0", SRC0 to DVC0 is "src0_dvc0"... Renesas sound want to use PIO transfer mode for some reasons. It will be PIO tranfer mode if device node doesn't have DMA settings. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: module name is unifiedKuninori Morimoto2014-05-263-9/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renesas sound driver uses many modules (= SSI/SRC/DVC), and each module had own name. But, each module name can be used as several purpose, like clock name, DMA name etc... This patch uses common name for each module. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: remove rsnd_src_non_opsKuninori Morimoto2014-05-261-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renesas sound driver is supporting Gen1/Gen2. SRC probe can return error if it was unknown generation. Now, rsnd_src_non_ops is not needed. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: save platform_device instead of deviceKuninori Morimoto2014-05-262-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | DT DMA support needs struct platform_device pointer, and it can get struct device pointer from platform_device. Save platform_device instead of device. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: DT node clean up by using the of_node_put()Kuninori Morimoto2014-05-262-4/+10
| | | | | | | | | | | | | | | | | | | | | Driver needs to call of_node_put() after of_get_chile_by_name() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | |
| \ \
*-. \ \ Merge remote-tracking branches 'asoc/topic/rt5651', 'asoc/topic/samsung', ↵Mark Brown2014-05-221-1/+1
|\ \ \ \ | | |/ / | |/| | | | | | 'asoc/topic/sgtl5000', 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/sirf', 'asoc/topic/sta350' and 'asoc/topic/tlv320dac33' into asoc-next
| | * | ASoC: sh: Migo-R sound needs I2CArnd Bergmann2014-05-011-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The WM8978 driver needs I2C to be enabled, so the SND_SIU_MIGOR option also requires this. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | |
| \ \
*-. \ \ Merge remote-tracking branches 'asoc/topic/nuc900', 'asoc/topic/omap', ↵Mark Brown2014-05-228-332/+531
|\ \ \ \ | | |/ / | |/| / | | |/ 'asoc/topic/pxa', 'asoc/topic/rcar', 'asoc/topic/rt5640' and 'asoc/topic/rt5645' into asoc-next
| | * ASoC: rsnd: Fix warnings due to improper printk formatsLaurent Pinchart2014-05-151-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the %pap printk specifier to print resource_size_t variables. This fixes warnings on platforms where resource_size_t has a different size than int. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: add DVC supportKuninori Morimoto2014-05-137-2/+366
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds DVC (Digital Volume Controller) support which is member of CMD unit. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: enable to use multi parameter on rsnd_dai_call/rsnd_mod_callKuninori Morimoto2014-05-131-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | rsnd_mod_ops would like to come to use multi parameter. modify macro to enable it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: remove duplicate parameter from rsnd_mod_opsKuninori Morimoto2014-05-134-94/+65
| | | | | | | | | | | | | | | | | | | | | | | | Now, it can get rsnd_dai_stream pointer from rsnd_mod. Remove duplicate parameter from rsnd_mod_ops Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: add rsnd_get_adinr()Kuninori Morimoto2014-05-133-23/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SRC module needs ADINR register settings, but, it has many similar xxx_ADINR register, and needs same settings. This patch adds rsnd_get_adinr() to sharing code. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: add rsnd_path_parse() macroKuninori Morimoto2014-05-131-21/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Current R-Car sound supports only SRC/SSI, but, other module will be supported. This patch adds rsnd_path_parse() macro to share code Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: remove compatibility codeKuninori Morimoto2014-05-084-144/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now, all platform is using new style rsnd_dai_platform_info. Keeping compatibility is no longer needed. We can cleanup code. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: rsnd: remove old clock style supportKuninori Morimoto2014-05-081-36/+3
| |/ | | | | | | | | | | | | | | | | | | All platform which used old style was switched to new style. R-Car sound can remove old style clock support, use device dependent clock now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: rsnd: call rsnd_dai_pointer_update() from outside of lockKuninori Morimoto2014-04-231-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | rsnd_soc_dai_trigger() will be called after rsnd_dai_pointer_update() function which is using rsnd_lock(). Thus, it should be called from outside of rsnd_lock(). Kernel will be hangup without this patch. Special thanks to Kataoka-san Reported-by: Ryo Kataoka <ryo.kataoka.wt@renesas.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: rsnd: fix clock prepare/unprepareBen Dooks2014-04-112-4/+4
|/ | | | | | | | | | | | As with the previous commit, before a clock can be used it must be prepared for use. Change from clk_enable() and clk_disable() to the versions of the calls which also prepare and un-prepare the clocks. Will fix warnings from the clock code when this is used. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* Merge remote-tracking branch 'asoc/topic/rcar' into asoc-nextMark Brown2014-03-241-7/+11
|\
| * ASoC: rcar: bugfix: it cares about the non-src caseKuninori Morimoto2014-03-241-7/+11
| | | | | | | | | | | | | | | | src might not exist. kernel will be hung-up without this patch in such case. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | Merge remote-tracking branch 'asoc/topic/rcar' into asoc-nextMark Brown2014-03-236-3/+238
|\|
| * ASoC: rsnd: add DeviceTree supportKuninori Morimoto2014-03-216-3/+238
| | | | | | | | | | | | | | Support for loading the Renesas R-Car sound driver via DeviceTree. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | Merge tag 'asoc-v3.15' into asoc-nextMark Brown2014-03-239-881/+1370
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASoC: Updates for v3.15 Quite a busy release for ASoC this time, more on janitorial work than exciting new features but welcome nontheless: - Lots of cleanups from Takashi for enumerations; the original API for these was error prone so he's refactored lots of code to use more modern APIs which avoid issues. - Elimination of the ASoC level wrappers for I2C and SPI moving us closer to converting to regmap completely and avoiding some randconfig hassle. - Provide both manually and transparently locked DAPM APIs rather than a mix of the two fixing some concurrency issues. - Start converting CODEC drivers to use separate bus interface drivers rather than having them all in one file helping avoid dependency issues. - DPCM support for Intel Haswell and Bay Trail platforms. - Lots of work on improvements for simple-card, DaVinci and the Renesas rcar drivers. - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the CSR SiRF SoC. # gpg: Signature made Wed 12 Mar 2014 23:05:45 GMT using RSA key ID 7EA229BD # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" # gpg: aka "Mark Brown <broonie@debian.org>" # gpg: aka "Mark Brown <broonie@kernel.org>" # gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>" # gpg: aka "Mark Brown <broonie@linaro.org>" # gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
| | \
| | \
| *-. \ Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sgtl5000', ↵Mark Brown2014-03-131-14/+5
| |\ \ \ | | |_|/ | |/| | | | | | 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/sirf', 'asoc/topic/sn95031', 'asoc/topic/ssm2602' and 'asoc/topic/stac9766' into asoc-next
| | | * ASoC: migor: Convert to table based DAPM setupLars-Peter Clausen2014-03-101-14/+5
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Use table based setup to register the DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: rename scu to srcKuninori Morimoto2014-03-055-159/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | R-Car sound has SCU unit which has SRC/CTU/MIX/DVC, and current rsnd driver has scu.c and scu module. Current scu.c has SRC support only. My first concept was control these feature on scu.c but, it become difficult and un-understandable now. This patch rename scu to src Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: remove all rsnd_xxx_remove()Kuninori Morimoto2014-03-056-42/+0
| | | | | | | | | | | | | | | | | | | | | | | | Now, rsnd_xxx_remove() do nothing. remove these Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: nothing to do on rsnd_dai_remove()Kuninori Morimoto2014-03-051-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rsnd_dai_remove() called rsnd_path_exit(), but these memory will be cleaned automatically. Because it is created by devm_kzalloc(). nothing to do on rsnd_dai_remove() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: use mod probe method on SSIKuninori Morimoto2014-03-051-51/+65
| | | | | | | | | | | | | | | | | | | | | Now, it can use .probe Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: use mod probe method on SCUKuninori Morimoto2014-03-051-25/+39
| | | | | | | | | | | | | | | | | | | | | Now, it can use .probe Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: add probe/remove callback on rsnd_mod_opsKuninori Morimoto2014-03-052-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each rsnd mod needs specific probe method, and its best timing is DAI probe timing. But current code runs it mod probe timing. This patch adds new probe/remove callback to solve it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: call rsnd_scu_ssi_mode_init() from SSIKuninori Morimoto2014-03-053-37/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current R-Car sound driver is assuming that SCU mod is used even though it is not needed. Because scu.c is controlling SSIU too. (it is Gen1 compatibility) But, SCU mod will be really not used if new platform dai feature was added. Thus, rsnd_scu_ssi_mode_init() is called from SSI directory by this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: add rsnd_scu_enable_ssi_irq()Kuninori Morimoto2014-03-053-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current R-Car sound driver is assuming that SCU mod is used even though it is not needed. Because scu.c is controlling SSIU too. (it is Gen1 compatibility) But, SCU mod will be really not used if new platform dai feature was used. Thus, SSIU irq setting is called from SSI directory by this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: Get correct SCU IDKuninori Morimoto2014-03-054-20/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current rsnd driver is assuming that SCU/SRU ID is same as SSIU/SSI ID, because Gen1 can't select it. But, Gen2 can select it. The SCU/SRU/SSIU/SSI pair depends on the platform. This patch get correct SCU ID from platform info. To keep compatible, it still assuming SCU ID = SSI ID if platform doesn't have info Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: add struct rsnd_dai_platform_infoKuninori Morimoto2014-03-052-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | R-Car sound DAI consists from SSI/SCU/SSIU/SRU... Current R-Car sound DAI is decided from these settings, but it is intuitively unclear, and is not good design for DT support. This patch adds new rsnd_dai_platform_info to solve this issue. But now, many platform is using this driver without rsnd_dai_platform_info. So, this patch still supports DAI settings via SSI to keep compatible. It will be removed in next Linux version. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: share reg_field and reduce memoryKuninori Morimoto2014-03-041-28/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | Gen1/Gen2 code never be used in same time. Thus, driver can share Gen1 only register and Gen2 only register. It can reduce memory too. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: modify rsnd_adg_ssi_ws_timing_gen2() parameterKuninori Morimoto2014-03-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rsnd_adg_ssi_ws_timing_gen2() returns SSI WS timing, and it used "mod" as parameter. but, this "mod" is sometimes not ssi mod. Get SSI mod from rsnd_dai_stream Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: remove unused SSI_CONTROLKuninori Morimoto2014-03-042-2/+0
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: use function pointer for each probeKuninori Morimoto2014-03-041-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | R-Car sound consists of many devices. It will have more device support in the future. Thus, for each probe become now function pointer array. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: use devm_clk_get() instead of clk_get()Kuninori Morimoto2014-03-041-15/+9
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: get ssi/scu from rsnd_dai_streamKuninori Morimoto2014-03-043-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Current driver is assuming that SSI id = SCU id. But, now, it can get correct SSI/SCU from rsnd_dai_stream. use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: use mod array instead of list on rdaiKuninori Morimoto2014-03-044-25/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | struct rsnd_dai_stream used list for mod list. It added only odd flexibility to current driver, and it is a factor which makes extendibility difficult. rsnd use mod array instead of list from now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: run rsnd_path_init() when probe() timingKuninori Morimoto2014-03-043-81/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current rsnd SSIU/SSI/SCU/SRU path is set when playback/capture starts up. But it is meaningless method, since the path is based on platform and can be set in probe() timing. This patch sets the path on probe() timing. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: unify rdai namingKuninori Morimoto2014-03-032-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | struct rsnd_dai is called as "rdai", but its size has been called as "dai_nr". Unify these as "rdai" Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: remove verbose debug message from scu/ssiKuninori Morimoto2014-03-032-3/+0
| | | | | | | | | | | | | | | | | | | | | scu/ssi probe() already have more detail debug message. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: remove verbose function parameterKuninori Morimoto2014-03-036-18/+10
| | | | | | | | | | | | | | | | | | | | | | | | priv has rcar_snd_info pointer. having priv and info in same time is verbose. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: rsnd: move rsnd_mod_call() macroKuninori Morimoto2014-03-032-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | core.c is the only user of rsnd_mod_call() macro. Move it to core.c from rsnd.h Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>