Message ID | 20220412062353.53984-1-tianfei.zhang@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] uio: dfl: add HSSI feature id | expand |
On Tue, Apr 12, 2022 at 02:23:53AM -0400, Tianfei Zhang wrote: > From: Matthew Gerlach <matthew.gerlach@linux.intel.com> > > Add the feature id of the OFS HSSI (High Speed Serial Interface) > subsystem to table of ids supported by the uio_dfl driver. HSSI > subsystem consists of harden/soft Ethernet MAC to support various > ethernet usages and PCS/FEC/PMA direct modes for non-ethernet usages. > > We leverage the uio_dfl driver to access the HSSI subsystem on user space, > because the HSSI subsystem was designed for specific purposes and does Could you explain what's the main difference between this MAC and other MACs, which prevents it from fitting into net kernel subsystem? For FME_FEATURE_ID_ETH_GROUP, it is not designed as the full functional ethernet controller. It is specially developed for the Intel N3000 NIC. Since it is an FPGA based card, it is designed for the users to runtime reload part of the MAC layer logic developed by themselves, while the ETH GROUP is another part of the MAC which is not expected to be reloaded by customers, but it provides some configurations for software to work with the user logic. And what's the difference for the FME_FEATURE_ID_OFS_HSSI? Thanks, Yilun > not fit into the standard MAC and net kernel subsystems. > > The Feature ID table of DFL can be found: > https://github.com/OPAE/dfl-feature-id > > Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> > Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> > --- > v2: add HSSI introduction and the git repo of Feature ID table. > --- > drivers/uio/uio_dfl.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c > index 89c0fc7b0cbc..660e1d0bf6b9 100644 > --- a/drivers/uio/uio_dfl.c > +++ b/drivers/uio/uio_dfl.c > @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) > } > > #define FME_FEATURE_ID_ETH_GROUP 0x10 > +#define FME_FEATURE_ID_OFS_HSSI 0x15 > > static const struct dfl_device_id uio_dfl_ids[] = { > { FME_ID, FME_FEATURE_ID_ETH_GROUP }, > + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, > { } > }; > MODULE_DEVICE_TABLE(dfl, uio_dfl_ids); > -- > 2.26.2
> -----Original Message----- > From: Zhang, Tianfei <tianfei.zhang@intel.com> > Sent: Tuesday, April 12, 2022 2:24 PM > To: Wu, Hao <hao.wu@intel.com>; trix@redhat.com; mdf@kernel.org; Xu, Yilun > <yilun.xu@intel.com>; linux-fpga@vger.kernel.org; > gregkh@linuxfoundation.org > Cc: linux-kernel@vger.kernel.org; Matthew Gerlach > <matthew.gerlach@linux.intel.com>; Zhang, Tianfei <tianfei.zhang@intel.com> > Subject: [PATCH v2] uio: dfl: add HSSI feature id > > From: Matthew Gerlach <matthew.gerlach@linux.intel.com> > > Add the feature id of the OFS HSSI (High Speed Serial Interface) We still don't see any description on what OFS is here, or will OFS be added to title as well? we don't expect another submission with the same title but for XXX HSSI again. > subsystem to table of ids supported by the uio_dfl driver. HSSI > subsystem consists of harden/soft Ethernet MAC to support various > ethernet usages and PCS/FEC/PMA direct modes for non-ethernet usages. > > We leverage the uio_dfl driver to access the HSSI subsystem on user space, > because the HSSI subsystem was designed for specific purposes and does > not fit into the standard MAC and net kernel subsystems. > > The Feature ID table of DFL can be found: > https://github.com/OPAE/dfl-feature-id Why you put it here? even this link there is no more descriptions to understand what it is. Or can be removed here. > > Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> > Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> > --- > v2: add HSSI introduction and the git repo of Feature ID table. > --- > drivers/uio/uio_dfl.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c > index 89c0fc7b0cbc..660e1d0bf6b9 100644 > --- a/drivers/uio/uio_dfl.c > +++ b/drivers/uio/uio_dfl.c > @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) > } > > #define FME_FEATURE_ID_ETH_GROUP 0x10 > +#define FME_FEATURE_ID_OFS_HSSI 0x15 > > static const struct dfl_device_id uio_dfl_ids[] = { > { FME_ID, FME_FEATURE_ID_ETH_GROUP }, > + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, > { } > }; > MODULE_DEVICE_TABLE(dfl, uio_dfl_ids); > -- > 2.26.2
> -----Original Message----- > From: Xu, Yilun <yilun.xu@intel.com> > Sent: Saturday, April 16, 2022 10:48 PM > To: Zhang, Tianfei <tianfei.zhang@intel.com> > Cc: Wu, Hao <hao.wu@intel.com>; trix@redhat.com; mdf@kernel.org; linux- > fpga@vger.kernel.org; gregkh@linuxfoundation.org; linux- > kernel@vger.kernel.org; Matthew Gerlach <matthew.gerlach@linux.intel.com> > Subject: Re: [PATCH v2] uio: dfl: add HSSI feature id > > On Tue, Apr 12, 2022 at 02:23:53AM -0400, Tianfei Zhang wrote: > > From: Matthew Gerlach <matthew.gerlach@linux.intel.com> > > > > Add the feature id of the OFS HSSI (High Speed Serial Interface) > > subsystem to table of ids supported by the uio_dfl driver. HSSI > > subsystem consists of harden/soft Ethernet MAC to support various > > ethernet usages and PCS/FEC/PMA direct modes for non-ethernet usages. > > > > We leverage the uio_dfl driver to access the HSSI subsystem on user > > space, because the HSSI subsystem was designed for specific purposes > > and does > > Could you explain what's the main difference between this MAC and other > MACs, which prevents it from fitting into net kernel subsystem? This MAC in FPGA has not implemented the full functional for PHY driver, we use uio_dfl driver for faster verification and product prototype when we reload a new fpga image. The major work for driver include setting the loopback mode for MAC and getting the MAC statics. > > For FME_FEATURE_ID_ETH_GROUP, it is not designed as the full functional > ethernet controller. It is specially developed for the Intel N3000 NIC. > Since it is an FPGA based card, it is designed for the users to runtime reload part > of the MAC layer logic developed by themselves, while the ETH GROUP is > another part of the MAC which is not expected to be reloaded by customers, but > it provides some configurations for software to work with the user logic. > > And what's the difference for the FME_FEATURE_ID_OFS_HSSI? I think ETH_GROUP is designed for N3000 NIC card, and the HSSI is a new design for N6000 NIC card. > > Thanks, > Yilun > > > not fit into the standard MAC and net kernel subsystems. > > > > The Feature ID table of DFL can be found: > > https://github.com/OPAE/dfl-feature-id > > > > Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> > > Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> > > --- > > v2: add HSSI introduction and the git repo of Feature ID table. > > --- > > drivers/uio/uio_dfl.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c index > > 89c0fc7b0cbc..660e1d0bf6b9 100644 > > --- a/drivers/uio/uio_dfl.c > > +++ b/drivers/uio/uio_dfl.c > > @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) > > } > > > > #define FME_FEATURE_ID_ETH_GROUP 0x10 > > +#define FME_FEATURE_ID_OFS_HSSI 0x15 > > > > static const struct dfl_device_id uio_dfl_ids[] = { > > { FME_ID, FME_FEATURE_ID_ETH_GROUP }, > > + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, > > { } > > }; > > MODULE_DEVICE_TABLE(dfl, uio_dfl_ids); > > -- > > 2.26.2
> > -----Original Message----- > > From: Zhang, Tianfei <tianfei.zhang@intel.com> > > Sent: Tuesday, April 12, 2022 2:24 PM > > To: Wu, Hao <hao.wu@intel.com>; trix@redhat.com; mdf@kernel.org; Xu, > > Yilun <yilun.xu@intel.com>; linux-fpga@vger.kernel.org; > > gregkh@linuxfoundation.org > > Cc: linux-kernel@vger.kernel.org; Matthew Gerlach > > <matthew.gerlach@linux.intel.com>; Zhang, Tianfei > > <tianfei.zhang@intel.com> > > Subject: [PATCH v2] uio: dfl: add HSSI feature id > > > > From: Matthew Gerlach <matthew.gerlach@linux.intel.com> > > > > Add the feature id of the OFS HSSI (High Speed Serial Interface) > > We still don't see any description on what OFS is here, or will OFS be added to > title as well? we don't expect another submission with the same title but for XXX > HSSI again. This name of HSSI module in dfl feature id table is : OFS HSSI subsystem. How about this tile: uio: dfl: add OFS HSSI device id Add OFS HSSI (Open FPGA Stack High Speed Serial Interface) device ID in uio_dfl driver for Intel PAC N6000 Card. > > > subsystem to table of ids supported by the uio_dfl driver. HSSI > > subsystem consists of harden/soft Ethernet MAC to support various > > ethernet usages and PCS/FEC/PMA direct modes for non-ethernet usages. > > > > We leverage the uio_dfl driver to access the HSSI subsystem on user > > space, because the HSSI subsystem was designed for specific purposes > > and does not fit into the standard MAC and net kernel subsystems. > > > > The Feature ID table of DFL can be found: > > https://github.com/OPAE/dfl-feature-id > > Why you put it here? even this link there is no more descriptions to understand > what it is. Or can be removed here. Yes, I agree, I will remove it. > > > > > Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> > > Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> > > --- > > v2: add HSSI introduction and the git repo of Feature ID table. > > --- > > drivers/uio/uio_dfl.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c index > > 89c0fc7b0cbc..660e1d0bf6b9 100644 > > --- a/drivers/uio/uio_dfl.c > > +++ b/drivers/uio/uio_dfl.c > > @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) > > } > > > > #define FME_FEATURE_ID_ETH_GROUP 0x10 > > +#define FME_FEATURE_ID_OFS_HSSI 0x15 > > > > static const struct dfl_device_id uio_dfl_ids[] = { > > { FME_ID, FME_FEATURE_ID_ETH_GROUP }, > > + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, > > { } > > }; > > MODULE_DEVICE_TABLE(dfl, uio_dfl_ids); > > -- > > 2.26.2
On Tue, 19 Apr 2022, Zhang, Tianfei wrote: > > >>> -----Original Message----- >>> From: Zhang, Tianfei <tianfei.zhang@intel.com> >>> Sent: Tuesday, April 12, 2022 2:24 PM >>> To: Wu, Hao <hao.wu@intel.com>; trix@redhat.com; mdf@kernel.org; Xu, >>> Yilun <yilun.xu@intel.com>; linux-fpga@vger.kernel.org; >>> gregkh@linuxfoundation.org >>> Cc: linux-kernel@vger.kernel.org; Matthew Gerlach >>> <matthew.gerlach@linux.intel.com>; Zhang, Tianfei >>> <tianfei.zhang@intel.com> >>> Subject: [PATCH v2] uio: dfl: add HSSI feature id >>> >>> From: Matthew Gerlach <matthew.gerlach@linux.intel.com> >>> >>> Add the feature id of the OFS HSSI (High Speed Serial Interface) >> >> We still don't see any description on what OFS is here, or will OFS be added to >> title as well? we don't expect another submission with the same title but for XXX >> HSSI again. > > This name of HSSI module in dfl feature id table is : OFS HSSI subsystem. > > How about this tile: > uio: dfl: add OFS HSSI device id > > Add OFS HSSI (Open FPGA Stack High Speed Serial Interface) device ID in uio_dfl driver for Intel PAC N6000 Card. Hi Tianfei, In the Platform Designer tool, this IP block is referred to as the HSSI Subsystem. I think we should use the same name here. Additionally, this subsystem is already in use in multiple cards; so I suggest dropping any reference to a particular card. Matthew > >> >>> subsystem to table of ids supported by the uio_dfl driver. HSSI >>> subsystem consists of harden/soft Ethernet MAC to support various >>> ethernet usages and PCS/FEC/PMA direct modes for non-ethernet usages. >>> >>> We leverage the uio_dfl driver to access the HSSI subsystem on user >>> space, because the HSSI subsystem was designed for specific purposes >>> and does not fit into the standard MAC and net kernel subsystems. >>> >>> The Feature ID table of DFL can be found: >>> https://github.com/OPAE/dfl-feature-id >> >> Why you put it here? even this link there is no more descriptions to understand >> what it is. Or can be removed here. > > Yes, I agree, I will remove it. >> >>> >>> Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> >>> Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> >>> --- >>> v2: add HSSI introduction and the git repo of Feature ID table. >>> --- >>> drivers/uio/uio_dfl.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c index >>> 89c0fc7b0cbc..660e1d0bf6b9 100644 >>> --- a/drivers/uio/uio_dfl.c >>> +++ b/drivers/uio/uio_dfl.c >>> @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) >>> } >>> >>> #define FME_FEATURE_ID_ETH_GROUP 0x10 >>> +#define FME_FEATURE_ID_OFS_HSSI 0x15 >>> >>> static const struct dfl_device_id uio_dfl_ids[] = { >>> { FME_ID, FME_FEATURE_ID_ETH_GROUP }, >>> + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, >>> { } >>> }; >>> MODULE_DEVICE_TABLE(dfl, uio_dfl_ids); >>> -- >>> 2.26.2 > >
> >>> -----Original Message----- > >>> From: Zhang, Tianfei <tianfei.zhang@intel.com> > >>> Sent: Tuesday, April 12, 2022 2:24 PM > >>> To: Wu, Hao <hao.wu@intel.com>; trix@redhat.com; mdf@kernel.org; Xu, > >>> Yilun <yilun.xu@intel.com>; linux-fpga@vger.kernel.org; > >>> gregkh@linuxfoundation.org > >>> Cc: linux-kernel@vger.kernel.org; Matthew Gerlach > >>> <matthew.gerlach@linux.intel.com>; Zhang, Tianfei > >>> <tianfei.zhang@intel.com> > >>> Subject: [PATCH v2] uio: dfl: add HSSI feature id > >>> > >>> From: Matthew Gerlach <matthew.gerlach@linux.intel.com> > >>> > >>> Add the feature id of the OFS HSSI (High Speed Serial Interface) > >> > >> We still don't see any description on what OFS is here, or will OFS be added to > >> title as well? we don't expect another submission with the same title but for > XXX > >> HSSI again. > > > > This name of HSSI module in dfl feature id table is : OFS HSSI subsystem. > > > > How about this tile: > > uio: dfl: add OFS HSSI device id > > > > Add OFS HSSI (Open FPGA Stack High Speed Serial Interface) device ID in > uio_dfl driver for Intel PAC N6000 Card. > > Hi Tianfei, > > In the Platform Designer tool, this IP block is referred to as the HSSI > Subsystem. I think we should use the same name here. Additionally, this > subsystem is already in use in multiple cards; so I suggest dropping > any reference to a particular card. The only concern is that there are 4 HSSI in the feature id table. Without any prefix, it may confuse people. https://github.com/OPAE/dfl-feature-id > > Matthew > > > > >> > >>> subsystem to table of ids supported by the uio_dfl driver. HSSI > >>> subsystem consists of harden/soft Ethernet MAC to support various > >>> ethernet usages and PCS/FEC/PMA direct modes for non-ethernet usages. > >>> > >>> We leverage the uio_dfl driver to access the HSSI subsystem on user > >>> space, because the HSSI subsystem was designed for specific purposes > >>> and does not fit into the standard MAC and net kernel subsystems. > >>> > >>> The Feature ID table of DFL can be found: > >>> https://github.com/OPAE/dfl-feature-id > >> > >> Why you put it here? even this link there is no more descriptions to > understand > >> what it is. Or can be removed here. > > > > Yes, I agree, I will remove it. > >> > >>> > >>> Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> > >>> Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> > >>> --- > >>> v2: add HSSI introduction and the git repo of Feature ID table. > >>> --- > >>> drivers/uio/uio_dfl.c | 2 ++ > >>> 1 file changed, 2 insertions(+) > >>> > >>> diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c index > >>> 89c0fc7b0cbc..660e1d0bf6b9 100644 > >>> --- a/drivers/uio/uio_dfl.c > >>> +++ b/drivers/uio/uio_dfl.c > >>> @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) > >>> } > >>> > >>> #define FME_FEATURE_ID_ETH_GROUP 0x10 > >>> +#define FME_FEATURE_ID_OFS_HSSI 0x15 > >>> > >>> static const struct dfl_device_id uio_dfl_ids[] = { > >>> { FME_ID, FME_FEATURE_ID_ETH_GROUP }, > >>> + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, > >>> { } > >>> }; > >>> MODULE_DEVICE_TABLE(dfl, uio_dfl_ids); > >>> -- > >>> 2.26.2 > > > >
On Tue, 26 Apr 2022, Wu, Hao wrote: >>>>> -----Original Message----- >>>>> From: Zhang, Tianfei <tianfei.zhang@intel.com> >>>>> Sent: Tuesday, April 12, 2022 2:24 PM >>>>> To: Wu, Hao <hao.wu@intel.com>; trix@redhat.com; mdf@kernel.org; Xu, >>>>> Yilun <yilun.xu@intel.com>; linux-fpga@vger.kernel.org; >>>>> gregkh@linuxfoundation.org >>>>> Cc: linux-kernel@vger.kernel.org; Matthew Gerlach >>>>> <matthew.gerlach@linux.intel.com>; Zhang, Tianfei >>>>> <tianfei.zhang@intel.com> >>>>> Subject: [PATCH v2] uio: dfl: add HSSI feature id >>>>> >>>>> From: Matthew Gerlach <matthew.gerlach@linux.intel.com> >>>>> >>>>> Add the feature id of the OFS HSSI (High Speed Serial Interface) >>>> >>>> We still don't see any description on what OFS is here, or will OFS be added to >>>> title as well? we don't expect another submission with the same title but for >> XXX >>>> HSSI again. >>> >>> This name of HSSI module in dfl feature id table is : OFS HSSI subsystem. >>> >>> How about this tile: >>> uio: dfl: add OFS HSSI device id >>> >>> Add OFS HSSI (Open FPGA Stack High Speed Serial Interface) device ID in >> uio_dfl driver for Intel PAC N6000 Card. >> >> Hi Tianfei, >> >> In the Platform Designer tool, this IP block is referred to as the HSSI >> Subsystem. I think we should use the same name here. Additionally, this >> subsystem is already in use in multiple cards; so I suggest dropping >> any reference to a particular card. > > The only concern is that there are 4 HSSI in the feature id table. > Without any prefix, it may confuse people. > https://github.com/OPAE/dfl-feature-id Hi Hao, Good point about the possible confusion of 4 HSSI implementations mentioned in the table. I have submitted a pull request adding clarity to the table: https://github.com/OPAE/dfl-feature-id/pull/1 Matthew > >> >> Matthew >> >>> >>>> >>>>> subsystem to table of ids supported by the uio_dfl driver. HSSI >>>>> subsystem consists of harden/soft Ethernet MAC to support various >>>>> ethernet usages and PCS/FEC/PMA direct modes for non-ethernet usages. >>>>> >>>>> We leverage the uio_dfl driver to access the HSSI subsystem on user >>>>> space, because the HSSI subsystem was designed for specific purposes >>>>> and does not fit into the standard MAC and net kernel subsystems. >>>>> >>>>> The Feature ID table of DFL can be found: >>>>> https://github.com/OPAE/dfl-feature-id >>>> >>>> Why you put it here? even this link there is no more descriptions to >> understand >>>> what it is. Or can be removed here. >>> >>> Yes, I agree, I will remove it. >>>> >>>>> >>>>> Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> >>>>> Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> >>>>> --- >>>>> v2: add HSSI introduction and the git repo of Feature ID table. >>>>> --- >>>>> drivers/uio/uio_dfl.c | 2 ++ >>>>> 1 file changed, 2 insertions(+) >>>>> >>>>> diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c index >>>>> 89c0fc7b0cbc..660e1d0bf6b9 100644 >>>>> --- a/drivers/uio/uio_dfl.c >>>>> +++ b/drivers/uio/uio_dfl.c >>>>> @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) >>>>> } >>>>> >>>>> #define FME_FEATURE_ID_ETH_GROUP 0x10 >>>>> +#define FME_FEATURE_ID_OFS_HSSI 0x15 >>>>> >>>>> static const struct dfl_device_id uio_dfl_ids[] = { >>>>> { FME_ID, FME_FEATURE_ID_ETH_GROUP }, >>>>> + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, >>>>> { } >>>>> }; >>>>> MODULE_DEVICE_TABLE(dfl, uio_dfl_ids); >>>>> -- >>>>> 2.26.2 >>> >>> >
diff --git a/drivers/uio/uio_dfl.c b/drivers/uio/uio_dfl.c index 89c0fc7b0cbc..660e1d0bf6b9 100644 --- a/drivers/uio/uio_dfl.c +++ b/drivers/uio/uio_dfl.c @@ -45,9 +45,11 @@ static int uio_dfl_probe(struct dfl_device *ddev) } #define FME_FEATURE_ID_ETH_GROUP 0x10 +#define FME_FEATURE_ID_OFS_HSSI 0x15 static const struct dfl_device_id uio_dfl_ids[] = { { FME_ID, FME_FEATURE_ID_ETH_GROUP }, + { FME_ID, FME_FEATURE_ID_OFS_HSSI }, { } }; MODULE_DEVICE_TABLE(dfl, uio_dfl_ids);