Re: [PATCH v2 01/11] ASoC: tegra20-spdif: stop setting slave_id

2021-11-24 Thread Dmitry Osipenko
23.11.2021 01:21, Arnd Bergmann пишет:
> From: Arnd Bergmann 
> 
> The DMA resource is never set up anywhere, and passing this as slave_id
> has not been the proper procedure in a long time.
> 
> As a preparation for removing all slave_id references from the ALSA code,
> remove this one.
> 
> According to Dmitry Osipenko, this driver has never been used and
> the mechanism for configuring DMA would not work as it is implemented,
> so this part will get rewritten when the driver gets put into use
> again in the future.
> 
> Signed-off-by: Arnd Bergmann 
> ---
>  sound/soc/tegra/tegra20_spdif.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/sound/soc/tegra/tegra20_spdif.c b/sound/soc/tegra/tegra20_spdif.c
> index 9fdc82d58db3..1c3385da6f82 100644
> --- a/sound/soc/tegra/tegra20_spdif.c
> +++ b/sound/soc/tegra/tegra20_spdif.c
> @@ -284,7 +284,6 @@ static int tegra20_spdif_platform_probe(struct 
> platform_device *pdev)
>   spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
>   spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
>   spdif->playback_dma_data.maxburst = 4;
> - spdif->playback_dma_data.slave_id = dmareq->start;
>  
>   pm_runtime_enable(&pdev->dev);
>  
> 

Reviewed-by: Dmitry Osipenko 


Re: [PATCH v2 01/11] ASoC: tegra20-spdif: stop setting slave_id

2021-11-24 Thread Dmitry Osipenko
24.11.2021 19:47, Arnd Bergmann пишет:
> On Wed, Nov 24, 2021 at 5:32 PM Dmitry Osipenko  wrote:
>> 23.11.2021 01:21, Arnd Bergmann пишет:
>>
>> The commit message is correct, however you could remove even more code
>> here. But there is no need to make a v3 just because this patch because
>> I already prepared patchset that revives this S/PDIF driver and enables
>> HDMI audio on Tegra20. I'll take care of cleaning up the whole code of
>> this driver.
> 
> Ok, perfect, thanks for taking a closer look as well.
> 
>>
>> -   dmareq = platform_get_resource(pdev, IORESOURCE_DMA, 0);
>> -   if (!dmareq) {
>> -   dev_err(&pdev->dev, "No DMA resource\n");
>> -   return -ENODEV;
>> -   }
>> -
> 
> Right, I think I considered doing this at some point as well, not sure
> why I left it in for the version I posted. Passing the IORESOURCE_DMA
> values is clearly wrong by itself and needs to be removed, though
> it's not obvious what the correct way of requesting the DMA channel
> is for this driver either, without a DT binding or users.

Yes, it's indeed not obvious.


Re: [PATCH v2 01/11] ASoC: tegra20-spdif: stop setting slave_id

2021-11-24 Thread Arnd Bergmann
On Wed, Nov 24, 2021 at 5:32 PM Dmitry Osipenko  wrote:
> 23.11.2021 01:21, Arnd Bergmann пишет:
>
> The commit message is correct, however you could remove even more code
> here. But there is no need to make a v3 just because this patch because
> I already prepared patchset that revives this S/PDIF driver and enables
> HDMI audio on Tegra20. I'll take care of cleaning up the whole code of
> this driver.

Ok, perfect, thanks for taking a closer look as well.

>
> -   dmareq = platform_get_resource(pdev, IORESOURCE_DMA, 0);
> -   if (!dmareq) {
> -   dev_err(&pdev->dev, "No DMA resource\n");
> -   return -ENODEV;
> -   }
> -

Right, I think I considered doing this at some point as well, not sure
why I left it in for the version I posted. Passing the IORESOURCE_DMA
values is clearly wrong by itself and needs to be removed, though
it's not obvious what the correct way of requesting the DMA channel
is for this driver either, without a DT binding or users.

Arnd


Re: [PATCH v2 01/11] ASoC: tegra20-spdif: stop setting slave_id

2021-11-24 Thread Dmitry Osipenko
23.11.2021 01:21, Arnd Bergmann пишет:
> From: Arnd Bergmann 
> 
> The DMA resource is never set up anywhere, and passing this as slave_id
> has not been the proper procedure in a long time.
> 
> As a preparation for removing all slave_id references from the ALSA code,
> remove this one.
> 
> According to Dmitry Osipenko, this driver has never been used and
> the mechanism for configuring DMA would not work as it is implemented,
> so this part will get rewritten when the driver gets put into use
> again in the future.
> 
> Signed-off-by: Arnd Bergmann 
> ---
>  sound/soc/tegra/tegra20_spdif.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/sound/soc/tegra/tegra20_spdif.c b/sound/soc/tegra/tegra20_spdif.c
> index 9fdc82d58db3..1c3385da6f82 100644
> --- a/sound/soc/tegra/tegra20_spdif.c
> +++ b/sound/soc/tegra/tegra20_spdif.c
> @@ -284,7 +284,6 @@ static int tegra20_spdif_platform_probe(struct 
> platform_device *pdev)
>   spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
>   spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
>   spdif->playback_dma_data.maxburst = 4;
> - spdif->playback_dma_data.slave_id = dmareq->start;
>  
>   pm_runtime_enable(&pdev->dev);
>  
> 

Thanks, Arnd!

The commit message is correct, however you could remove even more code
here. But there is no need to make a v3 just because this patch because
I already prepared patchset that revives this S/PDIF driver and enables
HDMI audio on Tegra20. I'll take care of cleaning up the whole code of
this driver.

diff --git a/sound/soc/tegra/tegra20_spdif.c
b/sound/soc/tegra/tegra20_spdif.c
index 7751575cd6d6..1c3385da6f82 100644
--- a/sound/soc/tegra/tegra20_spdif.c
+++ b/sound/soc/tegra/tegra20_spdif.c
@@ -251,7 +251,7 @@ static const struct regmap_config
tegra20_spdif_regmap_config = {
 static int tegra20_spdif_platform_probe(struct platform_device *pdev)
 {
struct tegra20_spdif *spdif;
-   struct resource *mem, *dmareq;
+   struct resource *mem;
void __iomem *regs;
int ret;

@@ -273,12 +273,6 @@ static int tegra20_spdif_platform_probe(struct
platform_device *pdev)
if (IS_ERR(regs))
return PTR_ERR(regs);

-   dmareq = platform_get_resource(pdev, IORESOURCE_DMA, 0);
-   if (!dmareq) {
-   dev_err(&pdev->dev, "No DMA resource\n");
-   return -ENODEV;
-   }
-
spdif->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
&tegra20_spdif_regmap_config);
if (IS_ERR(spdif->regmap)) {
@@ -290,7 +284,6 @@ static int tegra20_spdif_platform_probe(struct
platform_device *pdev)
spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
spdif->playback_dma_data.maxburst = 4;
-   spdif->playback_dma_data.slave_id = dmareq->start;

pm_runtime_enable(&pdev->dev);




[PATCH v2 01/11] ASoC: tegra20-spdif: stop setting slave_id

2021-11-22 Thread Arnd Bergmann
From: Arnd Bergmann 

The DMA resource is never set up anywhere, and passing this as slave_id
has not been the proper procedure in a long time.

As a preparation for removing all slave_id references from the ALSA code,
remove this one.

According to Dmitry Osipenko, this driver has never been used and
the mechanism for configuring DMA would not work as it is implemented,
so this part will get rewritten when the driver gets put into use
again in the future.

Signed-off-by: Arnd Bergmann 
---
 sound/soc/tegra/tegra20_spdif.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sound/soc/tegra/tegra20_spdif.c b/sound/soc/tegra/tegra20_spdif.c
index 9fdc82d58db3..1c3385da6f82 100644
--- a/sound/soc/tegra/tegra20_spdif.c
+++ b/sound/soc/tegra/tegra20_spdif.c
@@ -284,7 +284,6 @@ static int tegra20_spdif_platform_probe(struct 
platform_device *pdev)
spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
spdif->playback_dma_data.maxburst = 4;
-   spdif->playback_dma_data.slave_id = dmareq->start;
 
pm_runtime_enable(&pdev->dev);
 
-- 
2.29.2