Subject: Re: [PATCH v4 10/10] bnxt: Create an auxiliary device for fwctl_bnxt

From: Leon Romanovsky <[email-masked]>
Date: Wed, 12 Feb 2025 16:20:13 +0200

On Tue, Feb 11, 2025 at 09:27:08AM -0500, Andy Gospodarek wrote:
> On Tue, Feb 11, 2025 at 2:55 AM Leon Romanovsky <[email-masked]> wrote:
> >
> > On Mon, Feb 10, 2025 at 05:04:23PM -0800, Jakub Kicinski wrote:
> > > On Fri, 7 Feb 2025 21:16:47 -0400 Jason Gunthorpe wrote:
> > > > On Fri, Feb 07, 2025 at 01:51:11PM -0800, Jakub Kicinski wrote:
> > > >
> > > > > But if you agree the netdev doesn't need it seems like a fairly
> > > > > straightforward way to unblock your progress.
> > > >
> > > > I'm trying to understand what you are suggesting here.
> > > >
> > > > We have many scenarios where mlx5_core spawns all kinds of different
> > > > devices, including recovery cases where there is no networking at all
> > > > and only fwctl. So we can't just discard the aux dev or mlx5_core
> > > > triggered setup without breaking scenarios.
> > > >
> > > > However, you seem to be suggesting that netdev-only configurations (ie
> > > > netdev loaded but no rdma loaded) should disable fwctl. Is that the
> > > > case? All else would remain the same. It is very ugly but I could see
> > > > a technical path to do it, and would consider it if that brings peace.
> > >
> > > Yes, when RDMA driver is not loaded there should be no access to fwctl.
> >
> > There are users mentioned in cover letter, which need FWCTL without RDMA.
> > https://lore.kernel.org/all/[email-masked]/
> >
> > I want to suggest something different. What about to move all XXX_core
> > logic (mlx5_core, bnxt_core, e.t.c.) from netdev to some other dedicated
> > place?
> >
> 
> I understand the logic in your statement, but I do not want to
> separate/split PCI driver from the NIC driver for bnxt-based devices.

It is just an idea and there is no need to worry yet. There is no
evidence that netdev community will allow such move. 

> 
> We can look at doing that for future generations of hardware, but
> splitting/switching drivers for existing hardware creates a poor
> user-experience for distro users.

It is already solved with module autoload, dependencies and aliases.

Thanks