Re: [PATCH v3 00/13] NVIDIA Tegra APB DMA driver fixes and improvements

From: Dmitry Osipenko
Date: Wed Jan 08 2020 - 10:07:52 EST


08.01.2020 15:51, Thierry Reding ÐÐÑÐÑ:
> On Mon, 06 Jan 2020 04:16:55 +0300, Dmitry Osipenko wrote:
>> Hello,
>>
>> This is series fixes some problems that I spotted recently, secondly the
>> driver's code gets a cleanup. Please review and apply, thanks in advance!
>>
>> Changelog:
>>
>> v3: - In the review comment to v1 MichaÅ MirosÅaw suggested that "Prevent
>> race conditions on channel's freeing" does changes that deserve to
>> be separated into two patches. I factored out and improved tasklet
>> releasing into this new patch:
>>
>> dmaengine: tegra-apb: Clean up tasklet releasing
>>
>> - The "Fix use-after-free" patch got an improved commit message.
>>
>> v2: - I took another look at the driver and spotted few more things that
>> could be improved, which resulted in these new patches:
>>
>> dmaengine: tegra-apb: Remove runtime PM usage
>> dmaengine: tegra-apb: Clean up suspend-resume
>> dmaengine: tegra-apb: Add missing of_dma_controller_free
>> dmaengine: tegra-apb: Allow to compile as a loadable kernel module
>> dmaengine: tegra-apb: Remove MODULE_ALIAS
>>
>> Dmitry Osipenko (13):
>> dmaengine: tegra-apb: Fix use-after-free
>> dmaengine: tegra-apb: Implement synchronization callback
>> dmaengine: tegra-apb: Prevent race conditions on channel's freeing
>> dmaengine: tegra-apb: Clean up tasklet releasing
>> dmaengine: tegra-apb: Prevent race conditions of tasklet vs free list
>> dmaengine: tegra-apb: Use devm_platform_ioremap_resource
>> dmaengine: tegra-apb: Use devm_request_irq
>> dmaengine: tegra-apb: Fix coding style problems
>> dmaengine: tegra-apb: Remove runtime PM usage
>> dmaengine: tegra-apb: Clean up suspend-resume
>> dmaengine: tegra-apb: Add missing of_dma_controller_free
>> dmaengine: tegra-apb: Allow to compile as a loadable kernel module
>> dmaengine: tegra-apb: Remove MODULE_ALIAS
>>
>> drivers/dma/Kconfig | 2 +-
>> drivers/dma/tegra20-apb-dma.c | 481 ++++++++++++++++------------------
>> 2 files changed, 220 insertions(+), 263 deletions(-)
>
> Test results:
> 13 builds: 13 pass, 0 fail
> 12 boots: 11 pass, 1 fail

I'm not sure how to interpret this result. Could you please explain what
that fail means?

> 38 tests: 38 pass, 0 fail
>
> Linux version: 5.5.0-rc5-gf9d40c056c0f
> Boards tested: tegra20-ventana, tegra30-cardhu-a04, tegra124-jetson-tk1,
> tegra186-p2771-0000, tegra194-p2972-0000,
> tegra210-p2371-2180
>

Will be awesome to see the detailed testing results, at least console
log like it was with NVTB.