It is needed to track correct Tx topology. Update it every time new representor is created or remove node in case of removing corresponding representor. Still clear all node when removing switchdev mode as part of Tx topology isn't related only to representors. Also clear ::rate_note value to prevent skipping this node next time Tx topology is created. Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
25 lines
935 B
C
25 lines
935 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (c) 2019, Intel Corporation. */
|
|
|
|
#ifndef _ICE_DEVLINK_H_
|
|
#define _ICE_DEVLINK_H_
|
|
|
|
struct ice_pf *ice_allocate_pf(struct device *dev);
|
|
|
|
void ice_devlink_register(struct ice_pf *pf);
|
|
void ice_devlink_unregister(struct ice_pf *pf);
|
|
int ice_devlink_register_params(struct ice_pf *pf);
|
|
void ice_devlink_unregister_params(struct ice_pf *pf);
|
|
int ice_devlink_create_pf_port(struct ice_pf *pf);
|
|
void ice_devlink_destroy_pf_port(struct ice_pf *pf);
|
|
int ice_devlink_create_vf_port(struct ice_vf *vf);
|
|
void ice_devlink_destroy_vf_port(struct ice_vf *vf);
|
|
|
|
void ice_devlink_init_regions(struct ice_pf *pf);
|
|
void ice_devlink_destroy_regions(struct ice_pf *pf);
|
|
|
|
int ice_devlink_rate_init_tx_topology(struct devlink *devlink, struct ice_vsi *vsi);
|
|
void ice_tear_down_devlink_rate_tree(struct ice_pf *pf);
|
|
void ice_devlink_rate_clear_tx_topology(struct ice_vsi *vsi);
|
|
|
|
#endif /* _ICE_DEVLINK_H_ */
|