Messages in this thread | | | Date | Thu, 23 Sep 2021 16:07:53 +0300 | From | Ilias Apalodimas <> | Subject | Re: [PATCH net-next 1/7] page_pool: disable dma mapping support for 32-bit arch with 64-bit DMA |
| |
On Thu, Sep 23, 2021 at 07:13:11PM +0800, Yunsheng Lin wrote: > On 2021/9/23 18:02, Ilias Apalodimas wrote: > > Hi Jesper, > > > > On Thu, 23 Sept 2021 at 12:33, Jesper Dangaard Brouer > > <jbrouer@redhat.com> wrote: > >> > >> > >> On 22/09/2021 11.41, Yunsheng Lin wrote: > >>> diff --git a/net/core/page_pool.c b/net/core/page_pool.c > >>> index 1a6978427d6c..a65bd7972e37 100644 > >>> --- a/net/core/page_pool.c > >>> +++ b/net/core/page_pool.c > >>> @@ -49,6 +49,12 @@ static int page_pool_init(struct page_pool *pool, > >>> * which is the XDP_TX use-case. > >>> */ > >>> if (pool->p.flags & PP_FLAG_DMA_MAP) { > >>> + /* DMA-mapping is not supported on 32-bit systems with > >>> + * 64-bit DMA mapping. > >>> + */ > >>> + if (sizeof(dma_addr_t) > sizeof(unsigned long)) > >>> + return -EINVAL; > >> > >> As I said before, can we please use another error than EINVAL. > >> We should give drivers a chance/ability to detect this error, and e.g. > >> fallback to doing DMA mappings inside driver instead. > >> > >> I suggest using EOPNOTSUPP 95 (Operation not supported). > > Will change it to EOPNOTSUPP, thanks.
Mind sending this one separately (and you can keep my reviewed-by). It fits nicely on it's own and since I am not sure about the rest of the changes yet, it would be nice to get this one in.
Cheers /Ilias > > > > > I am fine with both. In any case though the aforementioned driver can > > just remove PP_FLAG_DMA_MAP and do it's own mappings. > > > > Regards > > /Ilias > >> > >> -Jesper > >> > > . > >
| |