netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: Robert Joslyn <robert_joslyn@selinc.com>
Cc: <linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>,
	<lee@kernel.org>
Subject: Re: [RFC PATCH 2/2] net: selpcimac: Add driver for SEL PCIe network adapter
Date: Tue, 29 Oct 2024 17:49:39 +0100	[thread overview]
Message-ID: <20241029174939.1f7306df@fedora.home> (raw)
In-Reply-To: <20241028223509.935-3-robert_joslyn@selinc.com>

Hello,

On Mon, 28 Oct 2024 15:35:08 -0700
Robert Joslyn <robert_joslyn@selinc.com> wrote:

> Add support for SEL FPGA based network adapters. The network device is
> implemented as an FPGA IP core and enumerated by the selpvmf driver.
> This is used on multiple devices, including:
>  - SEL-3350 mainboard
>  - SEL-3390E4 card
>  - SEL-3390T card

Make sure that you get the right people as recipients for this
patchset. You would need at least the net maintainers, make sure to use
the scripts/get_maintainers.pl tool to know who to send the patch to.

> 
> Signed-off-by: Robert Joslyn <robert_joslyn@selinc.com>
> ---
>  MAINTAINERS                                  |   1 +
>  drivers/net/ethernet/Kconfig                 |   1 +
>  drivers/net/ethernet/Makefile                |   1 +
>  drivers/net/ethernet/sel/Kconfig             |  31 +
>  drivers/net/ethernet/sel/Makefile            |  22 +
>  drivers/net/ethernet/sel/ethtool.c           | 404 ++++++++
>  drivers/net/ethernet/sel/ethtool.h           |  17 +
>  drivers/net/ethernet/sel/hw_interface.c      | 410 ++++++++
>  drivers/net/ethernet/sel/hw_interface.h      |  46 +
>  drivers/net/ethernet/sel/mac_main.c          | 155 +++
>  drivers/net/ethernet/sel/mdio.c              | 166 ++++
>  drivers/net/ethernet/sel/mdio.h              |  15 +
>  drivers/net/ethernet/sel/mii.c               | 422 +++++++++
>  drivers/net/ethernet/sel/mii.h               |  21 +
>  drivers/net/ethernet/sel/mii_interface.c     | 133 +++
>  drivers/net/ethernet/sel/mii_interface.h     |  23 +
>  drivers/net/ethernet/sel/netdev.c            | 946 +++++++++++++++++++
>  drivers/net/ethernet/sel/netdev.h            |  24 +
>  drivers/net/ethernet/sel/netdev_isr.c        | 245 +++++
>  drivers/net/ethernet/sel/netdev_isr.h        |  20 +
>  drivers/net/ethernet/sel/netdev_rx.c         | 785 +++++++++++++++
>  drivers/net/ethernet/sel/netdev_rx.h         |  17 +
>  drivers/net/ethernet/sel/netdev_tx.c         | 647 +++++++++++++
>  drivers/net/ethernet/sel/netdev_tx.h         |  22 +
>  drivers/net/ethernet/sel/pci_mac.h           | 290 ++++++
>  drivers/net/ethernet/sel/pci_mac_hw_regs.h   | 370 ++++++++
>  drivers/net/ethernet/sel/pci_mac_sysfs.c     | 642 +++++++++++++
>  drivers/net/ethernet/sel/pci_mac_sysfs.h     |  14 +
>  drivers/net/ethernet/sel/sel_pci_mac_ioctl.h |  25 +
>  drivers/net/ethernet/sel/sel_phy.h           |  91 ++
>  drivers/net/ethernet/sel/sel_phy_broadcom.c  | 316 +++++++
>  drivers/net/ethernet/sel/sel_phy_broadcom.h  |  15 +
>  drivers/net/ethernet/sel/sel_phy_marvell.c   | 458 +++++++++
>  drivers/net/ethernet/sel/sel_phy_marvell.h   |  15 +
>  drivers/net/ethernet/sel/sel_phy_ti.c        | 419 ++++++++
>  drivers/net/ethernet/sel/sel_phy_ti.h        |  14 +
>  drivers/net/ethernet/sel/sel_soft_phy.c      |  98 ++
>  drivers/net/ethernet/sel/sel_soft_phy.h      |  15 +
>  drivers/net/ethernet/sel/semaphore.h         |  85 ++
>  drivers/net/ethernet/sel/sfp.c               | 615 ++++++++++++
>  drivers/net/ethernet/sel/sfp.h               |  61 ++

I haven't reviewed the code itself as this is a biiiiig patch, I
suggest you try to split it into more digestable patches, focusing on
individual aspects of the driver.

One thing is the PHY support as you mention in the cover-letter, in the
current state this driver re-implements PHY drivers from what I
understand. You definitely need to use the kernel infra for PHY
handling.

As it seems this driver also re-implements SFP entirely, I suggest you
look into phylink [1]. This will help you supporting the PHYs and SFPs.
You can take a look at the mvneta.c and mvpp2 drivers for examples.

Make sure you handle the mdio bus control using the dedicated framework
(see mii_bus et al.).

I'd be happy to give you more reviews, but this would be a more
manageable task with smaller patches :)

Best regards,

Maxime

  reply	other threads:[~2024-10-29 16:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-28 22:35 [RFC PATCH 0/2] Add SEL Ethernet Support Robert Joslyn
2024-10-28 22:35 ` [RFC PATCH 1/2] mfd: Add SEL PCI Virtual Multifunction (PVMF) support Robert Joslyn
2024-11-05 17:30   ` Lee Jones
2024-11-07 18:42     ` Robert Joslyn
2024-11-12 13:35       ` Lee Jones
2024-10-28 22:35 ` [RFC PATCH 2/2] net: selpcimac: Add driver for SEL PCIe network adapter Robert Joslyn
2024-10-29 16:49   ` Maxime Chevallier [this message]
2024-10-29 22:51     ` Robert Joslyn
2024-11-15  0:48     ` Robert Joslyn
2024-11-15  9:19       ` Maxime Chevallier
2024-11-15 23:51         ` Robert Joslyn
2024-10-29 17:19   ` Christophe JAILLET
2024-10-29 23:01     ` Robert Joslyn

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=20241029174939.1f7306df@fedora.home \
    --to=maxime.chevallier@bootlin.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=robert_joslyn@selinc.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).