Message ID | 20240527185810.3077299-2-ahmed.zaki@intel.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ice: iavf: add support for TC U32 filters on VFs | expand |
On Mon, May 27, 2024 at 12:57:58PM -0600, Ahmed Zaki wrote: > From: Junfeng Guo <junfeng.guo@intel.com> > > Add new parser module which can parse a packet in binary and generate > information like ptype, protocol/offset pairs and flags which can be later > used to feed the FXP profile creation directly. > > Add skeleton of the create and destroy APIs: > ice_parser_create() > ice_parser_destroy() > > Reviewed-by: Marcin Szycik <marcin.szycik@linux.intel.com> > Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> > Signed-off-by: Junfeng Guo <junfeng.guo@intel.com> > Co-developed-by: Ahmed Zaki <ahmed.zaki@intel.com> > Signed-off-by: Ahmed Zaki <ahmed.zaki@intel.com> ... > diff --git a/drivers/net/ethernet/intel/ice/ice_parser.c b/drivers/net/ethernet/intel/ice/ice_parser.c > new file mode 100644 > index 000000000000..b7865b6a0a9b > --- /dev/null > +++ b/drivers/net/ethernet/intel/ice/ice_parser.c > @@ -0,0 +1,31 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* Copyright (C) 2024 Intel Corporation */ > + > +#include "ice_common.h" > + > +/** > + * ice_parser_create - create a parser instance > + * @hw: pointer to the hardware structure > + * > + * Return a pointer to the allocated parser instance Hi Ahmed, A minor nit from my side. I think that in order to keep ./scripts/kernel-doc -none -Wall happy this should be: * Return: pointer to the allocated parser instance And perhaps it would be best to mention the error case too * Return: pointer to the allocated parser instance, or an error pointer > + */ > +struct ice_parser *ice_parser_create(struct ice_hw *hw) > +{ > + struct ice_parser *p; > + > + p = kzalloc(sizeof(*p), GFP_KERNEL); > + if (!p) > + return ERR_PTR(-ENOMEM); > + > + p->hw = hw; > + return p; > +} ...
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Simon > Horman > Sent: Friday, May 31, 2024 3:12 PM > To: Zaki, Ahmed <ahmed.zaki@intel.com> > Cc: Drewek, Wojciech <wojciech.drewek@intel.com>; Guo, Junfeng > <junfeng.guo@intel.com>; netdev@vger.kernel.org; Marcin Szycik > <marcin.szycik@linux.intel.com>; Nguyen, Anthony L > <anthony.l.nguyen@intel.com>; Keller, Jacob E <jacob.e.keller@intel.com>; intel- > wired-lan@lists.osuosl.org > Subject: Re: [Intel-wired-lan] [PATCH iwl-next v2 01/13] ice: add parser create > and destroy skeleton > > On Mon, May 27, 2024 at 12:57:58PM -0600, Ahmed Zaki wrote: > > From: Junfeng Guo <junfeng.guo@intel.com> > > > > Add new parser module which can parse a packet in binary and generate > > information like ptype, protocol/offset pairs and flags which can be > > later used to feed the FXP profile creation directly. > > > > Add skeleton of the create and destroy APIs: > > ice_parser_create() > > ice_parser_destroy() > > > > Reviewed-by: Marcin Szycik <marcin.szycik@linux.intel.com> > > Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> > > Signed-off-by: Junfeng Guo <junfeng.guo@intel.com> > > Co-developed-by: Ahmed Zaki <ahmed.zaki@intel.com> > > Signed-off-by: Ahmed Zaki <ahmed.zaki@intel.com> > > ... > > > diff --git a/drivers/net/ethernet/intel/ice/ice_parser.c > > b/drivers/net/ethernet/intel/ice/ice_parser.c > > new file mode 100644 > > index 000000000000..b7865b6a0a9b > > --- /dev/null > > +++ b/drivers/net/ethernet/intel/ice/ice_parser.c > > @@ -0,0 +1,31 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* Copyright (C) 2024 Intel Corporation */ > > + > > +#include "ice_common.h" > > + > > +/** > > + * ice_parser_create - create a parser instance > > + * @hw: pointer to the hardware structure > > + * > > + * Return a pointer to the allocated parser instance > > Hi Ahmed, > > A minor nit from my side. > > I think that in order to keep ./scripts/kernel-doc -none -Wall happy this should be: > > * Return: pointer to the allocated parser instance > > And perhaps it would be best to mention the error case too > > * Return: pointer to the allocated parser instance, or an error pointer > > > > + */ > > +struct ice_parser *ice_parser_create(struct ice_hw *hw) { > > + struct ice_parser *p; > > + > > + p = kzalloc(sizeof(*p), GFP_KERNEL); > > + if (!p) > > + return ERR_PTR(-ENOMEM); > > + > > + p->hw = hw; > > + return p; > > +} > > ... Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
diff --git a/drivers/net/ethernet/intel/ice/Makefile b/drivers/net/ethernet/intel/ice/Makefile index 03500e28ac99..23fa3f7f36ef 100644 --- a/drivers/net/ethernet/intel/ice/Makefile +++ b/drivers/net/ethernet/intel/ice/Makefile @@ -28,6 +28,7 @@ ice-y := ice_main.o \ ice_vlan_mode.o \ ice_flex_pipe.o \ ice_flow.o \ + ice_parser.o \ ice_idc.o \ devlink/devlink.o \ devlink/devlink_port.o \ diff --git a/drivers/net/ethernet/intel/ice/ice_common.h b/drivers/net/ethernet/intel/ice/ice_common.h index 86cc1df469dd..9a91f71ab727 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.h +++ b/drivers/net/ethernet/intel/ice/ice_common.h @@ -10,6 +10,7 @@ #include "ice_type.h" #include "ice_nvm.h" #include "ice_flex_pipe.h" +#include "ice_parser.h" #include <linux/avf/virtchnl.h> #include "ice_switch.h" #include "ice_fdir.h" diff --git a/drivers/net/ethernet/intel/ice/ice_parser.c b/drivers/net/ethernet/intel/ice/ice_parser.c new file mode 100644 index 000000000000..b7865b6a0a9b --- /dev/null +++ b/drivers/net/ethernet/intel/ice/ice_parser.c @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (C) 2024 Intel Corporation */ + +#include "ice_common.h" + +/** + * ice_parser_create - create a parser instance + * @hw: pointer to the hardware structure + * + * Return a pointer to the allocated parser instance + */ +struct ice_parser *ice_parser_create(struct ice_hw *hw) +{ + struct ice_parser *p; + + p = kzalloc(sizeof(*p), GFP_KERNEL); + if (!p) + return ERR_PTR(-ENOMEM); + + p->hw = hw; + return p; +} + +/** + * ice_parser_destroy - destroy a parser instance + * @psr: pointer to a parser instance + */ +void ice_parser_destroy(struct ice_parser *psr) +{ + kfree(psr); +} diff --git a/drivers/net/ethernet/intel/ice/ice_parser.h b/drivers/net/ethernet/intel/ice/ice_parser.h new file mode 100644 index 000000000000..09ed380eee32 --- /dev/null +++ b/drivers/net/ethernet/intel/ice/ice_parser.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright (C) 2024 Intel Corporation */ + +#ifndef _ICE_PARSER_H_ +#define _ICE_PARSER_H_ + +struct ice_parser { + struct ice_hw *hw; /* pointer to the hardware structure */ +}; + +struct ice_parser *ice_parser_create(struct ice_hw *hw); +void ice_parser_destroy(struct ice_parser *psr); +#endif /* _ICE_PARSER_H_ */