[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220416144752.GA301222@yilunxu-OptiPlex-7050>
Date: Sat, 16 Apr 2022 22:47:52 +0800
From: Xu Yilun <yilun.xu@...el.com>
To: Tianfei Zhang <tianfei.zhang@...el.com>
Cc: hao.wu@...el.com, trix@...hat.com, mdf@...nel.org,
linux-fpga@...r.kernel.org, gregkh@...uxfoundation.org,
linux-kernel@...r.kernel.org,
Matthew Gerlach <matthew.gerlach@...ux.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@...ux.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@...ux.intel.com>
> Signed-off-by: Tianfei Zhang <tianfei.zhang@...el.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
Powered by blists - more mailing lists