[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <5f93d7a3-082d-455c-b458-a9c2113eb512@app.fastmail.com>
Date: Tue, 29 Oct 2024 20:35:39 +0000
From: "Arnd Bergmann" <arnd@...db.de>
To: "Will Deacon" <will@...nel.org>, huanglei <huanglei814@....com>
Cc: "Catalin Marinas" <catalin.marinas@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
huanglei <huanglei@...inos.cn>
Subject: Re: [PATCH] arm64/Kconfig: introduce GENERIC_ISA_DMA
On Tue, Oct 29, 2024, at 13:20, Will Deacon wrote:
> On Tue, Oct 29, 2024 at 09:41:08AM +0800, huanglei wrote:
>>
>> Even if MAX_SMA_CANNELS is not defined, as long as GENETIC-SIA_DMA is
>> enabled, request_rma/free_rma function will also be exported, and
>> other modules using these two interfaces will not encounter link
>> errors.
>
> Do the drivers do anything useful after they've linked? Can you please
> provide some in-tree examples of drivers that can be used on arm64 only
> once GENERIC_ISA_DMA is selected? If they just need some stubs for
> request_dma() and free_dma(), then it feels to me like that should be
> the default implementation, rather than having to select something to
> get them.
GENERIC_ISA_DMA does nothing by iself, there also needs to
be an iplementation of CONFIG_ISA_DMA_API in order to use
DMA mode on floppy/parport/soundblaster.
I think this should not be enabled by the architecture
itself, but by the LPC host driver that provides the ISA
style DMA. Most LPC implementations don't have this, and
most arm64 machines have no LPC or PC104 at all.
Note that PCI-ISA bridges can sometimes provide ISA devices,
but ISA DMA won't work behind a PCIe bridge.
The patch also needs a better changelog text to explain
specifically which arm64 platform has PC style DMA support,
and what devices are connected to it.
Arnd
Powered by blists - more mailing lists