Re: [RFC PATCH fwctl 2/5] pds_core: add new fwctl auxilary_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 20, 2025 at 03:20:14PM -0800, Nelson, Shannon wrote:
> On 2/19/2025 12:24 AM, Leon Romanovsky wrote:
> > 
> > On Tue, Feb 18, 2025 at 12:00:52PM -0800, Nelson, Shannon wrote:
> > > On 2/18/2025 11:28 AM, Leon Romanovsky wrote:
> > > > 
> > > > On Tue, Feb 11, 2025 at 03:48:51PM -0800, Shannon Nelson wrote:
> > > > > Add support for a new fwctl-based auxiliary_device for creating a
> > > > > channel for fwctl support into the AMD/Pensando DSC.
> > > > > 
> > > > > Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxx>
> > > > > ---
> > > > >    drivers/net/ethernet/amd/pds_core/auxbus.c |  3 +--
> > > > >    drivers/net/ethernet/amd/pds_core/core.c   |  7 +++++++
> > > > >    drivers/net/ethernet/amd/pds_core/core.h   |  1 +
> > > > >    drivers/net/ethernet/amd/pds_core/main.c   | 10 ++++++++++
> > > > >    include/linux/pds/pds_common.h             |  2 ++
> > > > >    5 files changed, 21 insertions(+), 2 deletions(-)
> > > > 
> > > > <...>
> > > > 
> > > > My comment is only slightly related to the patch itself, but worth to
> > > > write it anyway.
> > > > 
> > > > > diff --git a/include/linux/pds/pds_common.h b/include/linux/pds/pds_common.h
> > > > > index 5802e1deef24..b193adbe7cc3 100644
> > > > > --- a/include/linux/pds/pds_common.h
> > > > > +++ b/include/linux/pds/pds_common.h
> > > > > @@ -29,6 +29,7 @@ enum pds_core_vif_types {
> > > > >         PDS_DEV_TYPE_ETH        = 3,
> > > > >         PDS_DEV_TYPE_RDMA       = 4,
> > > > >         PDS_DEV_TYPE_LM         = 5,
> > > > > +     PDS_DEV_TYPE_FWCTL      = 6,
> > > > 
> > > > This enum and defines below should be cleaned from unsupported types.
> > > > I don't see any code for RDMA, LM and ETH.
> > > > 
> > > > Thanks
> > > 
> > > I've looked at those a few times over the life of this code, but I continue
> > > to leave them there because they are part of the firmware interface
> > > definition, whether we use them or not.
> > 
> > How? You are passing some number which FW is not aware of it. You can
> > pass any number you want there. Even it is not true, you can
> > PDS_DEV_TYPE_FWCTL = 6 here, but remove rest of enums and *_STR defines.
> 
> When pds_core starts up it gets ident/config information from the firmware
> in a struct pds_core_dev_identity, which includes the vif_types[] array
> which tells us how many of each PDS_DEV_TYPE_xx are supported in the FW.
> This is indexed by enum pds_core_vif_types.

So just leave in the kernel, the PDS_DEV_TYPE_XXX which you support.

> 
> > 
> > > 
> > > You're right, there is no ETH or RDMA type code, they exist as historical
> > > artifacts of the early interface design.
> > 
> > This make me wonder why netdev merged this code which has nothing to do
> > with netdev subsystem at all.
> 
> The pds_core was originally brought in for supporting pds_vdpa and
> pds_vfio_pci.  At the time, it was essentially following the example of the
> mlx core module; at the time there wasn't any push back or suggestions of a
> different place to land.  Maybe further fwctl and "core" related discussions
> will suggest another approach.

The understanding of that "core" drivers don't belong to netdev was
always there.

Thanks

> 
> sln
> 
> > 
> > Thanks
> 
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux