[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <00716e5a-8b51-0b3f-a1b8-1bb7b346a66a@fb.com>
Date: Thu, 25 May 2017 16:48:22 -0400
From: Jes Sorensen <jsorensen@...com>
To: Saeed Mahameed <saeedm@....mellanox.co.il>,
Ilan Tayari <ilant@...lanox.com>
CC: Alexei Starovoitov <alexei.starovoitov@...il.com>,
Saeed Mahameed <saeedm@...lanox.com>,
"David S. Miller" <davem@...emloft.net>,
Doug Ledford <dledford@...hat.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>
Subject: Re: [for-next 4/6] net/mlx5: FPGA, Add basic support for Innova
On 05/25/2017 06:40 AM, Saeed Mahameed wrote:
> On Thu, May 25, 2017 at 8:20 AM, Ilan Tayari <ilant@...lanox.com> wrote:
>>> -----Original Message-----
>>> Can you put it into different driver? Dumping everything into by far
>>> the biggest nic driver already is already huge headache in terms on
>>> maintainability, debugging and back ports.
>>> Look at how intel splits their drivers.
>>> ixgb, ixgbe, ixgbevf are different drivers thought they have a lot in
>>> common. On one side it's a bit of copy paste, but on the other side
>
> I don't think the ixgb example is the same, simply ixgb, ixgbe,
> ixgbevf have different PCI IDs
> and even different SW/FW interfaces. On the other hand, same mlx5
> driver can support all of
> ConnetX4/5/6 device IDs with the same code flows, same interfaces.
>
>>> it makes drivers much easier to develop and maintain independently.
>>> ConnectX-6 code and any future hw support doesn't belong to
>>> mlx5 driver at all.
>
> Sorry i must disagree with you on this for the same reasons Ilan mentioned.
> We can perfectly achieve the same with modular driver design all under the
> same .ko module, with some kconfig flags to reduce the amount of code/features
> this .ko provides.
If I get this right, the FPGA is independent and could in theory be used
for non network stuff. It really should have it's own driver in that
case, and you should provide accessor functionality via the mlx5 driver.
We have this with other devices in the kernel where a primary device
driver provides an interface for an additional sub-driver to access
another device behind it. Like bt-coexist in some of the wifi drivers
allowing access to a bluetooth device behind it.
Jes
Powered by blists - more mailing lists