From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
To: Dong Yibo <dong100@mucse.com>,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, horms@kernel.org,
corbet@lwn.net, gur.stavi@huawei.com, maddy@linux.ibm.com,
mpe@ellerman.id.au, danishanwar@ti.com, lee@trager.us,
gongfan1@huawei.com, lorenzo@kernel.org, geert+renesas@glider.be,
Parthiban.Veerasooran@microchip.com, lukas.bulwahn@redhat.com,
alexanderduyck@fb.com, richardcochran@gmail.com
Cc: netdev@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/5] net: rnpgbe: Add n500/n210 chip support
Date: Tue, 12 Aug 2025 16:49:33 +0100 [thread overview]
Message-ID: <69d797eb-4a17-4d54-a7c0-8409fa8bc066@linux.dev> (raw)
In-Reply-To: <20250812093937.882045-3-dong100@mucse.com>
> +struct mucse_dma_info {
> + void __iomem *dma_base_addr;
> + void __iomem *dma_ring_addr;
> + void *back;
it might be better to keep the type of back pointer and give it
a bit more meaningful name ...
> + u32 dma_version;
> +};
> +
> +struct mucse_eth_info {
> + void __iomem *eth_base_addr;
> + void *back;
.. here ...
> +};
> +
> +struct mucse_mac_info {
> + void __iomem *mac_addr;
> + void *back;
and here...
> +};
> +
> +struct mucse_mbx_info {
> + /* fw <--> pf mbx */
> + u32 fw_pf_shm_base;
> + u32 pf2fw_mbox_ctrl;
> + u32 pf2fw_mbox_mask;
> + u32 fw_pf_mbox_mask;
> + u32 fw2pf_mbox_vec;
> +};
> +
> +struct mucse_hw {
> + void *back;
you can also use container_of() as all these structures are embedded and
simple pointer math can give you proper result.
> + void __iomem *hw_addr;
> + void __iomem *ring_msix_base;
> + struct pci_dev *pdev;
> + enum rnpgbe_hw_type hw_type;
> + struct mucse_dma_info dma;
> + struct mucse_eth_info eth;
> + struct mucse_mac_info mac;
> + struct mucse_mbx_info mbx;
> + u32 driver_version;
> + u16 usecstocount;
> +};
> +
> struct mucse {
> struct net_device *netdev;
> struct pci_dev *pdev;
> + struct mucse_hw hw;
> u16 bd_number;
> };
>
[...]
> +/**
> + * rnpgbe_add_adapter - Add netdev for this pci_dev
> + * @pdev: PCI device information structure
> + * @info: chip info structure
> + *
> + * rnpgbe_add_adapter initializes a netdev for this pci_dev
> + * structure. Initializes Bar map, private structure, and a
> + * hardware reset occur.
> + *
> + * @return: 0 on success, negative on failure
> + **/
> +static int rnpgbe_add_adapter(struct pci_dev *pdev,
> + const struct rnpgbe_info *info)
> +{
> + struct net_device *netdev;
> + void __iomem *hw_addr;
> + static int bd_number;
it's not clear from the patchset why do you need this static variable...
> + struct mucse *mucse;
> + struct mucse_hw *hw;
> + u32 dma_version = 0;
> + u32 queues;
> + int err;
> +
> + queues = info->total_queue_pair_cnts;
> + netdev = alloc_etherdev_mq(sizeof(struct mucse), queues);
> + if (!netdev)
> + return -ENOMEM;
> +
> + SET_NETDEV_DEV(netdev, &pdev->dev);
> + mucse = netdev_priv(netdev);
> + mucse->netdev = netdev;
> + mucse->pdev = pdev;
> + mucse->bd_number = bd_number++;
... but this code is racy by design
> + pci_set_drvdata(pdev, mucse);
> +
> + hw = &mucse->hw;
> + hw->back = mucse;
> + hw->hw_type = info->hw_type;
> + hw->pdev = pdev;
> +
next prev parent reply other threads:[~2025-08-12 15:49 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-12 9:39 [PATCH v3 0/5] Add driver for 1Gbe network chips from MUCSE Dong Yibo
2025-08-12 9:39 ` [PATCH v3 1/5] net: rnpgbe: Add build support for rnpgbe Dong Yibo
2025-08-12 15:37 ` Vadim Fedorenko
2025-08-13 6:18 ` Yibo Dong
2025-08-12 16:18 ` Anwar, Md Danish
2025-08-13 6:44 ` Yibo Dong
2025-08-13 7:51 ` MD Danish Anwar
2025-08-13 8:00 ` Yibo Dong
2025-08-12 9:39 ` [PATCH v3 2/5] net: rnpgbe: Add n500/n210 chip support Dong Yibo
2025-08-12 15:49 ` Vadim Fedorenko [this message]
2025-08-13 7:01 ` Yibo Dong
2025-08-12 16:25 ` Anwar, Md Danish
2025-08-13 7:07 ` Yibo Dong
2025-08-12 9:39 ` [PATCH v3 3/5] net: rnpgbe: Add basic mbx ops support Dong Yibo
2025-08-12 16:07 ` Vadim Fedorenko
2025-08-12 16:30 ` Anwar, Md Danish
2025-08-13 7:46 ` Yibo Dong
2025-08-14 23:55 ` Andrew Lunn
2025-08-15 1:31 ` Yibo Dong
2025-08-15 4:07 ` Andrew Lunn
2025-08-12 9:39 ` [PATCH v3 4/5] net: rnpgbe: Add basic mbx_fw support Dong Yibo
2025-08-12 16:14 ` Vadim Fedorenko
2025-08-13 8:12 ` Yibo Dong
2025-08-13 9:52 ` Yibo Dong
2025-08-13 11:05 ` Geert Uytterhoeven
2025-08-13 21:32 ` Jakub Kicinski
2025-08-13 13:33 ` Vadim Fedorenko
2025-08-14 1:53 ` Yibo Dong
2025-08-15 0:04 ` Andrew Lunn
2025-08-15 1:36 ` Yibo Dong
2025-08-13 8:20 ` MD Danish Anwar
2025-08-13 9:24 ` Yibo Dong
2025-08-12 9:39 ` [PATCH v3 5/5] net: rnpgbe: Add register_netdev Dong Yibo
2025-08-12 15:32 ` Vadim Fedorenko
2025-08-13 9:04 ` Yibo Dong
2025-08-13 12:50 ` Vadim Fedorenko
2025-08-14 1:52 ` Yibo Dong
2025-08-13 8:26 ` MD Danish Anwar
2025-08-13 9:49 ` Yibo Dong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=69d797eb-4a17-4d54-a7c0-8409fa8bc066@linux.dev \
--to=vadim.fedorenko@linux.dev \
--cc=Parthiban.Veerasooran@microchip.com \
--cc=alexanderduyck@fb.com \
--cc=andrew+netdev@lunn.ch \
--cc=corbet@lwn.net \
--cc=danishanwar@ti.com \
--cc=davem@davemloft.net \
--cc=dong100@mucse.com \
--cc=edumazet@google.com \
--cc=geert+renesas@glider.be \
--cc=gongfan1@huawei.com \
--cc=gur.stavi@huawei.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=lee@trager.us \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=lukas.bulwahn@redhat.com \
--cc=maddy@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).