diff options
Diffstat (limited to 'include/net/devlink.h')
| -rw-r--r-- | include/net/devlink.h | 33 | 
1 files changed, 28 insertions, 5 deletions
diff --git a/include/net/devlink.h b/include/net/devlink.h index b9b89d6604d4..45db0c79462d 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -298,7 +298,7 @@ struct devlink_resource {  #define DEVLINK_RESOURCE_ID_PARENT_TOP 0 -#define DEVLINK_PARAM_MAX_STRING_VALUE 32 +#define __DEVLINK_PARAM_MAX_STRING_VALUE 32  enum devlink_param_type {  	DEVLINK_PARAM_TYPE_U8,  	DEVLINK_PARAM_TYPE_U16, @@ -311,7 +311,7 @@ union devlink_param_value {  	u8 vu8;  	u16 vu16;  	u32 vu32; -	const char *vstr; +	char vstr[__DEVLINK_PARAM_MAX_STRING_VALUE];  	bool vbool;  }; @@ -362,6 +362,9 @@ enum devlink_param_generic_id {  	DEVLINK_PARAM_GENERIC_ID_MAX_MACS,  	DEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV,  	DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT, +	DEVLINK_PARAM_GENERIC_ID_IGNORE_ARI, +	DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX, +	DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN,  	/* add new param generic ids above here*/  	__DEVLINK_PARAM_GENERIC_ID_MAX, @@ -380,6 +383,15 @@ enum devlink_param_generic_id {  #define DEVLINK_PARAM_GENERIC_REGION_SNAPSHOT_NAME "region_snapshot_enable"  #define DEVLINK_PARAM_GENERIC_REGION_SNAPSHOT_TYPE DEVLINK_PARAM_TYPE_BOOL +#define DEVLINK_PARAM_GENERIC_IGNORE_ARI_NAME "ignore_ari" +#define DEVLINK_PARAM_GENERIC_IGNORE_ARI_TYPE DEVLINK_PARAM_TYPE_BOOL + +#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MAX_NAME "msix_vec_per_pf_max" +#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MAX_TYPE DEVLINK_PARAM_TYPE_U32 + +#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MIN_NAME "msix_vec_per_pf_min" +#define DEVLINK_PARAM_GENERIC_MSIX_VEC_PER_PF_MIN_TYPE DEVLINK_PARAM_TYPE_U32 +  #define DEVLINK_PARAM_GENERIC(_id, _cmodes, _get, _set, _validate)	\  {									\  	.id = DEVLINK_PARAM_GENERIC_ID_##_id,				\ @@ -451,11 +463,14 @@ struct devlink_ops {  				       u32 *p_cur, u32 *p_max);  	int (*eswitch_mode_get)(struct devlink *devlink, u16 *p_mode); -	int (*eswitch_mode_set)(struct devlink *devlink, u16 mode); +	int (*eswitch_mode_set)(struct devlink *devlink, u16 mode, +				struct netlink_ext_ack *extack);  	int (*eswitch_inline_mode_get)(struct devlink *devlink, u8 *p_inline_mode); -	int (*eswitch_inline_mode_set)(struct devlink *devlink, u8 inline_mode); +	int (*eswitch_inline_mode_set)(struct devlink *devlink, u8 inline_mode, +				       struct netlink_ext_ack *extack);  	int (*eswitch_encap_mode_get)(struct devlink *devlink, u8 *p_encap_mode); -	int (*eswitch_encap_mode_set)(struct devlink *devlink, u8 encap_mode); +	int (*eswitch_encap_mode_set)(struct devlink *devlink, u8 encap_mode, +				      struct netlink_ext_ack *extack);  };  static inline void *devlink_priv(struct devlink *devlink) @@ -553,6 +568,8 @@ int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,  int devlink_param_driverinit_value_set(struct devlink *devlink, u32 param_id,  				       union devlink_param_value init_val);  void devlink_param_value_changed(struct devlink *devlink, u32 param_id); +void devlink_param_value_str_fill(union devlink_param_value *dst_val, +				  const char *src);  struct devlink_region *devlink_region_create(struct devlink *devlink,  					     const char *region_name,  					     u32 region_max_snapshots, @@ -789,6 +806,12 @@ devlink_param_value_changed(struct devlink *devlink, u32 param_id)  {  } +static inline void +devlink_param_value_str_fill(union devlink_param_value *dst_val, +			     const char *src) +{ +} +  static inline struct devlink_region *  devlink_region_create(struct devlink *devlink,  		      const char *region_name,  | 
