[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87im8t5bw3.fsf@codeaurora.org>
Date: Wed, 23 Dec 2020 07:28:44 +0200
From: Kalle Valo <kvalo@...eaurora.org>
To: Jérôme Pouiller <jerome.pouiller@...abs.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
devel@...verdev.osuosl.org, devicetree@...r.kernel.org,
Ulf Hansson <ulf.hansson@...aro.org>, netdev@...r.kernel.org,
linux-wireless@...r.kernel.org, linux-kernel@...r.kernel.org,
Rob Herring <robh+dt@...nel.org>, linux-mmc@...r.kernel.org,
Pali Rohár <pali@...nel.org>,
"David S . Miller" <davem@...emloft.net>
Subject: Re: [PATCH v3 09/24] wfx: add hwio.c/hwio.h
Jérôme Pouiller <jerome.pouiller@...abs.com> writes:
> On Tuesday 22 December 2020 16:27:01 CET Greg Kroah-Hartman wrote:
>>
>> On Tue, Dec 22, 2020 at 05:10:11PM +0200, Kalle Valo wrote:
>> > Jerome Pouiller <Jerome.Pouiller@...abs.com> writes:
>> >
>> > > +/*
>> > > + * Internal helpers.
>> > > + *
>> > > + * About CONFIG_VMAP_STACK:
>> > > + * When CONFIG_VMAP_STACK is enabled, it is not possible to run DMA on stack
>> > > + * allocated data. Functions below that work with registers (aka functions
>> > > + * ending with "32") automatically reallocate buffers with kmalloc. However,
>> > > + * functions that work with arbitrary length buffers let's caller to handle
>> > > + * memory location. In doubt, enable CONFIG_DEBUG_SG to detect badly located
>> > > + * buffer.
>> > > + */
>> >
>> > This sounds very hacky to me, I have understood that you should never
>> > use stack with DMA.
>>
>> You should never do that because some platforms do not support it, so no
>> driver should ever try to do that as they do not know what platform they
>> are running on.
>
> Yes, I have learned this rule the hard way.
>
> There is no better way than a comment to warn the user that the argument
> will be used with a DMA? A Sparse annotation, for example?
I have not seen anything, but something like sparse annotation would be
useful. Please let me know if you find anything like that.
But I think that CONFIG_VMAP_STACK is irrelevant and the comment should
be clarified that using stack memory must NOT be used for DMA operations
in any circumstances.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Powered by blists - more mailing lists