* [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
@ 2023-01-18 16:10 Arnd Bergmann
2023-01-19 15:39 ` Krzysztof Kozlowski
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Arnd Bergmann @ 2023-01-18 16:10 UTC (permalink / raw)
To: Sylwester Nawrocki, Mark Brown
Cc: Arnd Bergmann, Krzysztof Kozlowski, Alim Akhtar, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Charles Keepax, linux-arm-kernel,
linux-samsung-soc, linux-kernel, alsa-devel
From: Arnd Bergmann <arnd@arndb.de>
This data is no longer passed by the platform code, so
there is no point passing it down at all.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
include/linux/platform_data/asoc-s3c.h | 6 ------
sound/soc/samsung/dma.h | 2 +-
sound/soc/samsung/dmaengine.c | 3 +--
sound/soc/samsung/i2s.c | 21 +++------------------
sound/soc/samsung/pcm.c | 11 +----------
sound/soc/samsung/spdif.c | 9 +--------
6 files changed, 7 insertions(+), 45 deletions(-)
diff --git a/include/linux/platform_data/asoc-s3c.h b/include/linux/platform_data/asoc-s3c.h
index f9c00f839e9f..84874433cf21 100644
--- a/include/linux/platform_data/asoc-s3c.h
+++ b/include/linux/platform_data/asoc-s3c.h
@@ -30,7 +30,6 @@ struct samsung_i2s_type {
#define QUIRK_SUPPORTS_IDMA (1 << 5)
/* Quirks of the I2S controller */
u32 quirks;
- dma_addr_t idma_addr;
};
/**
@@ -39,10 +38,5 @@ struct samsung_i2s_type {
*/
struct s3c_audio_pdata {
int (*cfg_gpio)(struct platform_device *);
- dma_filter_fn dma_filter;
- void *dma_playback;
- void *dma_capture;
- void *dma_play_sec;
- void *dma_capture_mic;
struct samsung_i2s_type type;
};
diff --git a/sound/soc/samsung/dma.h b/sound/soc/samsung/dma.h
index 7b5d4556e0fd..bd0faf84972e 100644
--- a/sound/soc/samsung/dma.h
+++ b/sound/soc/samsung/dma.h
@@ -12,7 +12,7 @@
* @tx, @rx arguments can be NULL if the DMA channel names are "tx", "rx",
* otherwise actual DMA channel names must be passed to this function.
*/
-int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
+int samsung_asoc_dma_platform_register(struct device *dev,
const char *tx, const char *rx,
struct device *dma_dev);
#endif /* _SAMSUNG_DMA_H */
diff --git a/sound/soc/samsung/dmaengine.c b/sound/soc/samsung/dmaengine.c
index 2802789a323e..900953ee3786 100644
--- a/sound/soc/samsung/dmaengine.c
+++ b/sound/soc/samsung/dmaengine.c
@@ -14,7 +14,7 @@
#include "dma.h"
-int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
+int samsung_asoc_dma_platform_register(struct device *dev,
const char *tx, const char *rx,
struct device *dma_dev)
{
@@ -25,7 +25,6 @@ int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
return -ENOMEM;
pcm_conf->prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
- pcm_conf->compat_filter_fn = filter;
pcm_conf->dma_dev = dma_dev;
pcm_conf->chan_names[SNDRV_PCM_STREAM_PLAYBACK] = tx;
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index 9505200f3d11..052c263c126a 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -79,7 +79,6 @@ struct i2s_dai {
struct snd_dmaengine_dai_dma_data dma_playback;
struct snd_dmaengine_dai_dma_data dma_capture;
struct snd_dmaengine_dai_dma_data idma_playback;
- dma_filter_fn filter;
struct samsung_i2s_priv *priv;
};
@@ -1431,13 +1430,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
spin_lock_init(&priv->lock);
spin_lock_init(&priv->pcm_lock);
- if (!np) {
- pri_dai->dma_playback.filter_data = i2s_pdata->dma_playback;
- pri_dai->dma_capture.filter_data = i2s_pdata->dma_capture;
- pri_dai->filter = i2s_pdata->dma_filter;
-
- idma_addr = i2s_pdata->type.idma_addr;
- } else {
+ if (np) {
if (of_property_read_u32(np, "samsung,idma-addr",
&idma_addr)) {
if (priv->quirks & QUIRK_SUPPORTS_IDMA) {
@@ -1475,8 +1468,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
if (priv->quirks & QUIRK_PRI_6CHAN)
pri_dai->drv->playback.channels_max = 6;
- ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter,
- "tx", "rx", NULL);
+ ret = samsung_asoc_dma_platform_register(&pdev->dev, "tx", "rx", NULL);
if (ret < 0)
goto err_disable_clk;
@@ -1485,12 +1477,6 @@ static int samsung_i2s_probe(struct platform_device *pdev)
sec_dai->dma_playback.addr = regs_base + I2STXDS;
sec_dai->dma_playback.chan_name = "tx-sec";
-
- if (!np) {
- sec_dai->dma_playback.filter_data = i2s_pdata->dma_play_sec;
- sec_dai->filter = i2s_pdata->dma_filter;
- }
-
sec_dai->dma_playback.addr_width = 4;
sec_dai->idma_playback.addr = idma_addr;
sec_dai->pri_dai = pri_dai;
@@ -1502,8 +1488,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
goto err_disable_clk;
ret = samsung_asoc_dma_platform_register(&priv->pdev_sec->dev,
- sec_dai->filter, "tx-sec", NULL,
- &pdev->dev);
+ "tx-sec", NULL, &pdev->dev);
if (ret < 0)
goto err_del_sec;
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index e859252ae5e6..2f3a99de6434 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -489,7 +489,6 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
struct s3c_pcm_info *pcm;
struct resource *mem_res;
struct s3c_audio_pdata *pcm_pdata;
- dma_filter_fn filter;
int ret;
/* Check for valid device index */
@@ -542,18 +541,10 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
s3c_pcm_stereo_in[pdev->id].addr = mem_res->start + S3C_PCM_RXFIFO;
s3c_pcm_stereo_out[pdev->id].addr = mem_res->start + S3C_PCM_TXFIFO;
- filter = NULL;
- if (pcm_pdata) {
- s3c_pcm_stereo_in[pdev->id].filter_data = pcm_pdata->dma_capture;
- s3c_pcm_stereo_out[pdev->id].filter_data = pcm_pdata->dma_playback;
- filter = pcm_pdata->dma_filter;
- }
-
pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id];
pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id];
- ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
- NULL, NULL, NULL);
+ ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL, NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
goto err_dis_pclk;
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c
index 7d815e237e5c..beabcadd7d1d 100644
--- a/sound/soc/samsung/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -363,7 +363,6 @@ static int spdif_probe(struct platform_device *pdev)
struct s3c_audio_pdata *spdif_pdata;
struct resource *mem_res;
struct samsung_spdif_info *spdif;
- dma_filter_fn filter;
int ret;
spdif_pdata = pdev->dev.platform_data;
@@ -424,15 +423,9 @@ static int spdif_probe(struct platform_device *pdev)
spdif_stereo_out.addr_width = 2;
spdif_stereo_out.addr = mem_res->start + DATA_OUTBUF;
- filter = NULL;
- if (spdif_pdata) {
- spdif_stereo_out.filter_data = spdif_pdata->dma_playback;
- filter = spdif_pdata->dma_filter;
- }
spdif->dma_playback = &spdif_stereo_out;
- ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
- NULL, NULL, NULL);
+ ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL, NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
goto err4;
--
2.39.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
@ 2023-01-19 15:39 ` Krzysztof Kozlowski
2023-01-19 16:59 ` Mark Brown
2023-01-20 22:22 ` Mark Brown
2 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 15:39 UTC (permalink / raw)
To: Arnd Bergmann, Sylwester Nawrocki, Mark Brown
Cc: Arnd Bergmann, Alim Akhtar, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Charles Keepax, linux-arm-kernel, linux-samsung-soc,
linux-kernel, alsa-devel
On 18/01/2023 17:10, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> This data is no longer passed by the platform code, so
> there is no point passing it down at all.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> include/linux/platform_data/asoc-s3c.h | 6 ------
> sound/soc/samsung/dma.h | 2 +-
> sound/soc/samsung/dmaengine.c | 3 +--
> sound/soc/samsung/i2s.c | 21 +++------------------
> sound/soc/samsung/pcm.c | 11 +----------
> sound/soc/samsung/spdif.c | 9 +--------
> 6 files changed, 7 insertions(+), 45 deletions(-)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
2023-01-19 15:39 ` Krzysztof Kozlowski
@ 2023-01-19 16:59 ` Mark Brown
2023-01-20 9:05 ` Arnd Bergmann
2023-01-20 22:22 ` Mark Brown
2 siblings, 1 reply; 7+ messages in thread
From: Mark Brown @ 2023-01-19 16:59 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Sylwester Nawrocki, Arnd Bergmann, Krzysztof Kozlowski,
Alim Akhtar, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Charles Keepax, linux-arm-kernel, linux-samsung-soc, linux-kernel,
alsa-devel
[-- Attachment #1.1: Type: text/plain, Size: 1635 bytes --]
On Wed, Jan 18, 2023 at 05:10:45PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> This data is no longer passed by the platform code, so
> there is no point passing it down at all.
This breaks an x86 allmodconfig build:
/build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c: In function ‘s3c24xx_iis_dev_probe’:
/build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c:436:56: error: passing argument 4 of ‘samsung_asoc_dma_platform_register’ from incompatible pointer type [-Werror=incompatible-pointer-types]
436 | "tx", "rx", NULL);
| ^~~~
| |
| char *
In file included from /build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c:21:
/build/stage/linux/sound/soc/samsung/dma.h:17:55: note: expected ‘struct device *’ but argument is of type ‘char *’
17 | struct device *dma_dev);
| ~~~~~~~~~~~~~~~^~~~~~~
/build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c:435:15: error: too many arguments to function ‘samsung_asoc_dma_platform_register’
435 | ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/samsung/dma.h:15:5: note: declared here
15 | int samsung_asoc_dma_platform_register(struct device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-19 16:59 ` Mark Brown
@ 2023-01-20 9:05 ` Arnd Bergmann
2023-01-20 12:07 ` Mark Brown
0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2023-01-20 9:05 UTC (permalink / raw)
To: Mark Brown, Arnd Bergmann
Cc: Sylwester Nawrocki, Krzysztof Kozlowski, Alim Akhtar,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Charles Keepax,
linux-arm-kernel, linux-samsung-soc, linux-kernel, alsa-devel
On Thu, Jan 19, 2023, at 17:59, Mark Brown wrote:
> On Wed, Jan 18, 2023 at 05:10:45PM +0100, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> This data is no longer passed by the platform code, so
>> there is no point passing it down at all.
>
> This breaks an x86 allmodconfig build:
I see, this patch still depends on the s3c24xx removal, which
is in soc/for-next and I used for testing. I see a similar
problem with the MMP platform in patch 2/5. The series here
is mostly older patches I did a while ago and rebased on top
of the boardfile removal, but it breaks when it gets applied
first.
Unless there is anything in here that you really want to apply
for 6.3, lets drop all five for now, and I'll resend it
after the dust has settled on the boardfile removal.
Arnd
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-20 9:05 ` Arnd Bergmann
@ 2023-01-20 12:07 ` Mark Brown
2023-01-20 12:29 ` Arnd Bergmann
0 siblings, 1 reply; 7+ messages in thread
From: Mark Brown @ 2023-01-20 12:07 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Arnd Bergmann, Sylwester Nawrocki, Krzysztof Kozlowski,
Alim Akhtar, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Charles Keepax, linux-arm-kernel, linux-samsung-soc, linux-kernel,
alsa-devel
[-- Attachment #1.1: Type: text/plain, Size: 735 bytes --]
On Fri, Jan 20, 2023 at 10:05:59AM +0100, Arnd Bergmann wrote:
> I see, this patch still depends on the s3c24xx removal, which
> is in soc/for-next and I used for testing. I see a similar
> problem with the MMP platform in patch 2/5. The series here
> is mostly older patches I did a while ago and rebased on top
> of the boardfile removal, but it breaks when it gets applied
> first.
> Unless there is anything in here that you really want to apply
> for 6.3, lets drop all five for now, and I'll resend it
> after the dust has settled on the boardfile removal.
I'd left the ux500 stuff running through my testing, no
particular urgency just it saves rereviewing anything. Assuming
it's fine (seems so thus far) I'll push it out.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-20 12:07 ` Mark Brown
@ 2023-01-20 12:29 ` Arnd Bergmann
0 siblings, 0 replies; 7+ messages in thread
From: Arnd Bergmann @ 2023-01-20 12:29 UTC (permalink / raw)
To: Mark Brown
Cc: Arnd Bergmann, Sylwester Nawrocki, Krzysztof Kozlowski,
Alim Akhtar, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Charles Keepax, linux-arm-kernel, linux-samsung-soc, linux-kernel,
alsa-devel
On Fri, Jan 20, 2023, at 13:07, Mark Brown wrote:
> On Fri, Jan 20, 2023 at 10:05:59AM +0100, Arnd Bergmann wrote:
>
>> I see, this patch still depends on the s3c24xx removal, which
>> is in soc/for-next and I used for testing. I see a similar
>> problem with the MMP platform in patch 2/5. The series here
>> is mostly older patches I did a while ago and rebased on top
>> of the boardfile removal, but it breaks when it gets applied
>> first.
>
>> Unless there is anything in here that you really want to apply
>> for 6.3, lets drop all five for now, and I'll resend it
>> after the dust has settled on the boardfile removal.
>
> I'd left the ux500 stuff running through my testing, no
> particular urgency just it saves rereviewing anything. Assuming
> it's fine (seems so thus far) I'll push it out.
Yes, sounds good to me, I don't see any risk of missed
dependencies for that.
Arnd
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
2023-01-19 15:39 ` Krzysztof Kozlowski
2023-01-19 16:59 ` Mark Brown
@ 2023-01-20 22:22 ` Mark Brown
2 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2023-01-20 22:22 UTC (permalink / raw)
To: Sylwester Nawrocki, Arnd Bergmann
Cc: Arnd Bergmann, Krzysztof Kozlowski, Alim Akhtar, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Charles Keepax, linux-arm-kernel,
linux-samsung-soc, linux-kernel, alsa-devel
On Wed, 18 Jan 2023 17:10:45 +0100, Arnd Bergmann wrote:
> This data is no longer passed by the platform code, so
> there is no point passing it down at all.
>
>
Applied to
broonie/sound.git for-next
Thanks!
[1/5] ASoC: samsung: remove DMA filter function and data
(no commit info)
[2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan()
(no commit info)
[3/5] ASoC: ux500: remove platform_data support
commit: 1766ac5248063c25d1fe46e04bb936c46313ed89
[4/5] ASoC: ux500: remove stedma40 references
commit: aafe9375b386010e28614f58499d199250a16874
[5/5] ASoC: remove snd_dmaengine_pcm_config->compat_request_channel
(no commit info)
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-01-20 22:24 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
2023-01-19 15:39 ` Krzysztof Kozlowski
2023-01-19 16:59 ` Mark Brown
2023-01-20 9:05 ` Arnd Bergmann
2023-01-20 12:07 ` Mark Brown
2023-01-20 12:29 ` Arnd Bergmann
2023-01-20 22:22 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).