Message ID | 20230901023050.40893-1-caowenbo@mucse.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 27FD542219; Fri, 1 Sep 2023 04:31:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B665740298; Fri, 1 Sep 2023 04:31:12 +0200 (CEST) Received: from smtpbg150.qq.com (smtpbg150.qq.com [18.132.163.193]) by mails.dpdk.org (Postfix) with ESMTP id 5EA774014F for <dev@dpdk.org>; Fri, 1 Sep 2023 04:31:09 +0200 (CEST) X-QQ-mid: bizesmtp81t1693535456t33b9ip2 Received: from steven.localdomain ( [183.81.182.182]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 01 Sep 2023 10:30:54 +0800 (CST) X-QQ-SSF: 01400000000000D0F000000A0000000 X-QQ-FEAT: ttAhR/+4RmkpFdXhAaLchsdty2tbVQ59TIvAxIsGd8DEuyWu/T9Rl4r/9majz KRqktlhARJe2NL6DlaoWkVYpqHpA+Cnlq4J2i3V6DKzvOyyvi/OjvPCsV8JVqmnv3+CqI0C Y2AXGXUeDRDqahx9zoXkWcPC4O1rnww/gDCpafwOKUqTIyiWcxrIrPAMWBe3JleUlAc2May coo5VL4E9SDdclhLYOZlBvOp0jcYCxc8kI2UWKH+XELrsoOQ4WlPqtwxHZqHWUg3uuXUObO v1jJClX/RSbFMmPrruiCUzGYr1MlhIPHv2wc7/F9m4gF2qVHvCe8dyj4iPf+ZXKpT9T60/b k3+g6AFqbQlRX6PPN4TYclMn7gzLBK14dd2NbXjQbRu1xaRoPg= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 4496187449240279248 From: Wenbo Cao <caowenbo@mucse.com> To: Cc: dev@dpdk.org, ferruh.yigit@amd.com, thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru, yaojun@mucse.com, Wenbo Cao <caowenbo@mucse.com> Subject: [PATCH v6 0/8] [v6]drivers/net Add Support mucse N10 Pmd Driver Date: Fri, 1 Sep 2023 02:30:42 +0000 Message-Id: <20230901023050.40893-1-caowenbo@mucse.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:mucse.com:qybglogicsvrgz:qybglogicsvrgz5a-0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
drivers/net Add Support mucse N10 Pmd Driver
|
|
Message
11
Sept. 1, 2023, 2:30 a.m. UTC
For This patchset just to support the basic chip init work and user can just found the eth_dev, but can't control more. For Now just support 2*10g nic,the chip can support 2*10g,4*10g,4*1g,8*1g,8*10g. The Feature rx side can support rx-cksum-offload,rss,vlan-filter flow_clow,uncast_filter,mcast_filter,1588,Jumbo-frame The Feature tx side can supprt tx-cksum-offload,tso,vxlan-tso flow director base on ntuple pattern of tcp/udp/ip/ eth_hdr->type for sriov is also support. Because of the chip desgin defect, for multiple-port mode one pci-bdf will have multiple-port (max can have four ports) so this code must be care of one bdf init multiple-port. v6: * fixed the doc(rst) format problem advise by Thomas Monjalon v5: * fixed the symbol name require by the style documentation v4: * one patch has been forgot to upload :( v3: * fixed http://dpdk.org/patch/129830 FreeBSD 13 compile Issue * change iobar type to void suggest by Stephen Hemminger * add KMOD_DEP support for vfio-pci * change run-cmd argument parse check for invalid extra_args v2: * fixed MAINTAIN maillist fullname format * fixed driver/net/meson the order issue of new driver to driver list * improve virtual point function usage suggest by Stephen Hemminger Wenbo Cao (8): net/rnp: add skeleton net/rnp: add ethdev probe and remove net/rnp: add device init and uninit net/rnp: add mbx basic api feature net/rnp add reset code for Chip Init process net/rnp add port info resource init net/rnp add devargs runtime parsing functions net/rnp handle device interrupts MAINTAINERS | 6 + doc/guides/nics/features/rnp.ini | 8 + doc/guides/nics/index.rst | 1 + doc/guides/nics/rnp.rst | 43 ++ drivers/net/meson.build | 1 + drivers/net/rnp/base/rnp_api.c | 71 +++ drivers/net/rnp/base/rnp_api.h | 17 + drivers/net/rnp/base/rnp_cfg.h | 7 + drivers/net/rnp/base/rnp_dma_regs.h | 73 +++ drivers/net/rnp/base/rnp_eth_regs.h | 124 +++++ drivers/net/rnp/base/rnp_hw.h | 206 +++++++ drivers/net/rnp/base/rnp_mac_regs.h | 279 ++++++++++ drivers/net/rnp/meson.build | 18 + drivers/net/rnp/rnp.h | 218 ++++++++ drivers/net/rnp/rnp_ethdev.c | 822 ++++++++++++++++++++++++++++ drivers/net/rnp/rnp_logs.h | 43 ++ drivers/net/rnp/rnp_mbx.c | 524 ++++++++++++++++++ drivers/net/rnp/rnp_mbx.h | 140 +++++ drivers/net/rnp/rnp_mbx_fw.c | 781 ++++++++++++++++++++++++++ drivers/net/rnp/rnp_mbx_fw.h | 401 ++++++++++++++ drivers/net/rnp/rnp_osdep.h | 30 + drivers/net/rnp/rnp_rxtx.c | 83 +++ drivers/net/rnp/rnp_rxtx.h | 14 + 23 files changed, 3910 insertions(+) create mode 100644 doc/guides/nics/features/rnp.ini create mode 100644 doc/guides/nics/rnp.rst create mode 100644 drivers/net/rnp/base/rnp_api.c create mode 100644 drivers/net/rnp/base/rnp_api.h create mode 100644 drivers/net/rnp/base/rnp_cfg.h create mode 100644 drivers/net/rnp/base/rnp_dma_regs.h create mode 100644 drivers/net/rnp/base/rnp_eth_regs.h create mode 100644 drivers/net/rnp/base/rnp_hw.h create mode 100644 drivers/net/rnp/base/rnp_mac_regs.h create mode 100644 drivers/net/rnp/meson.build create mode 100644 drivers/net/rnp/rnp.h create mode 100644 drivers/net/rnp/rnp_ethdev.c create mode 100644 drivers/net/rnp/rnp_logs.h create mode 100644 drivers/net/rnp/rnp_mbx.c create mode 100644 drivers/net/rnp/rnp_mbx.h create mode 100644 drivers/net/rnp/rnp_mbx_fw.c create mode 100644 drivers/net/rnp/rnp_mbx_fw.h create mode 100644 drivers/net/rnp/rnp_osdep.h create mode 100644 drivers/net/rnp/rnp_rxtx.c create mode 100644 drivers/net/rnp/rnp_rxtx.h
Comments
On 9/1/2023 3:30 AM, Wenbo Cao wrote: > For This patchset just to support the basic chip init work > and user can just found the eth_dev, but can't control more. > Hi Wenbo, After this patch, driver doesn't implement any of the dev_ops (struct eth_dev_ops), so I assume it is not functional at all. But meanwhile patchset has devargs parsing, fw_update, LSC interrupts, implemented etc. I think it makes testing/reviewing harder to add more code before basic device functionality is missing. What about implementing following main dev_ops and implement a simple datapath, to have minimum working driver, later add features on top of it: dev_configure dev_start dev_stop dev_close dev_infos_get rx_queue_setup tx_queue_setup Also I have comment on putting 'mac_ops' on process_private, I suspect there is a design problem there, please check details in relevant patch. Thanks, Ferruh > For Now just support 2*10g nic,the chip can support > 2*10g,4*10g,4*1g,8*1g,8*10g. > The Feature rx side can support rx-cksum-offload,rss,vlan-filter > flow_clow,uncast_filter,mcast_filter,1588,Jumbo-frame > The Feature tx side can supprt tx-cksum-offload,tso,vxlan-tso > flow director base on ntuple pattern of tcp/udp/ip/ eth_hdr->type > for sriov is also support. > > Because of the chip desgin defect, for multiple-port mode > one pci-bdf will have multiple-port (max can have four ports) > so this code must be care of one bdf init multiple-port. > > v6: > * fixed the doc(rst) format problem advise by Thomas Monjalon > > v5: > * fixed the symbol name require by the style documentation > rx_queue_setup > v4: > * one patch has been forgot to upload :( > > v3: > * fixed http://dpdk.org/patch/129830 FreeBSD 13 compile Issue > * change iobar type to void suggest by Stephen Hemminger > * add KMOD_DEP support for vfio-pci > * change run-cmd argument parse check for invalid extra_args > > v2: > * fixed MAINTAIN maillist fullname format > * fixed driver/net/meson the order issue of new driver to driver list > * improve virtual point function usage suggest by Stephen Hemminger > > > Wenbo Cao (8): > net/rnp: add skeleton > net/rnp: add ethdev probe and remove > net/rnp: add device init and uninit > net/rnp: add mbx basic api feature > net/rnp add reset code for Chip Init process > net/rnp add port info resource init > net/rnp add devargs runtime parsing functions > net/rnp handle device interrupts > >