[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200305140322.2dc86db0@kicinski-fedora-PC1C0HJN>
Date: Thu, 5 Mar 2020 14:03:22 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Shannon Nelson <snelson@...sando.io>
Cc: netdev@...r.kernel.org, davem@...emloft.net
Subject: Re: [PATCH v3 net-next 7/8] ionic: add support for device id 0x1004
On Wed, 4 Mar 2020 21:23:18 -0800 Shannon Nelson wrote:
> Add support for an additional device id.
>
> Signed-off-by: Shannon Nelson <snelson@...sando.io>
I have thought about this for a while and I wanted to ask you to say
a bit more about the use of the management device.
Obviously this is not just "additional device id" in the traditional
sense where device IDs differentiate HW SKUs or revisions. This is the
same exact hardware, just a different local feature (as proven by the
fact that you make 0 functional changes).
In the past we (I?) rejected such extensions upstream from Netronome and
Cavium, because there were no clear use cases which can't be solved by
extending standard kernel APIs. Do you have any?
> diff --git a/drivers/net/ethernet/pensando/ionic/ionic.h b/drivers/net/ethernet/pensando/ionic/ionic.h
> index bb106a32f416..c8ff33da243a 100644
> --- a/drivers/net/ethernet/pensando/ionic/ionic.h
> +++ b/drivers/net/ethernet/pensando/ionic/ionic.h
> @@ -18,6 +18,7 @@ struct ionic_lif;
>
> #define PCI_DEVICE_ID_PENSANDO_IONIC_ETH_PF 0x1002
> #define PCI_DEVICE_ID_PENSANDO_IONIC_ETH_VF 0x1003
> +#define PCI_DEVICE_ID_PENSANDO_IONIC_ETH_MGMT 0x1004
>
> #define DEVCMD_TIMEOUT 10
>
> diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
> index 59b0091146e6..3dc985cae391 100644
> --- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
> +++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
> @@ -15,6 +15,7 @@
> static const struct pci_device_id ionic_id_table[] = {
> { PCI_VDEVICE(PENSANDO, PCI_DEVICE_ID_PENSANDO_IONIC_ETH_PF) },
> { PCI_VDEVICE(PENSANDO, PCI_DEVICE_ID_PENSANDO_IONIC_ETH_VF) },
> + { PCI_VDEVICE(PENSANDO, PCI_DEVICE_ID_PENSANDO_IONIC_ETH_MGMT) },
> { 0, } /* end of table */
> };
> MODULE_DEVICE_TABLE(pci, ionic_id_table);
Powered by blists - more mailing lists