[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <83755aa0-2d6d-bf53-9f62-1dd7320b025e@gmail.com>
Date: Fri, 12 Aug 2022 09:58:14 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Andrew Lunn <andrew@...n.ch>, Sergei Antonov <saproj@...il.com>
Cc: netdev@...r.kernel.org, Jakub Kicinski <kuba@...nel.org>,
Pavel Skripkin <paskripkin@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Guobin Huang <huangguobin4@...wei.com>,
Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH] net: moxa: inherit DMA masks to make dma_map_single()
work
On 8/12/22 09:38, Andrew Lunn wrote:
> On Fri, Aug 12, 2022 at 07:35:43PM +0300, Sergei Antonov wrote:
>> On Fri, 12 Aug 2022 at 19:13, Andrew Lunn <andrew@...n.ch> wrote:
>>>> + /* Inherit the DMA masks from the platform device */
>>>> + ndev->dev.dma_mask = p_dev->dma_mask;
>>>> + ndev->dev.coherent_dma_mask = p_dev->coherent_dma_mask;
>>>
>>> There is only one other ethernet driver which does this. What you see
>>> much more often is:
>>>
>>> alacritech/slicoss.c: paddr = dma_map_single(&sdev->pdev->dev, skb->data, maplen,
>>> neterion/s2io.c: dma_map_single(&sp->pdev->dev, ba->ba_1,
>>> dlink/dl2k.c: cpu_to_le64(dma_map_single(&np->pdev->dev, skb->data,
>>> micrel/ksz884x.c: dma_buf->dma = dma_map_single(&hw_priv->pdev->dev, skb->data,
>>
>> Also works. Do you recommend to create a v2 of the patch?
>
> Yes please. It makes things easier to maintain if every driver does
> the same thing.
Yes this is a common pattern to store a device reference pointing to
&pdev->dev into your network device private structure fetched via
netdev_priv().
Alternatively, we could sort of try to settle on a common pattern where
we utilize &dev->parent->dev thanks to having called SET_NETDEV_DEV(),
that might be more universal?
--
Florian
Powered by blists - more mailing lists