ice: Add DCBNL ops required to configure ETS in CEE for SW DCB
authorAvinash JD <avinash.dayanand@intel.com>
Thu, 13 Feb 2020 21:31:19 +0000 (13:31 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 19 Feb 2020 21:04:41 +0000 (13:04 -0800)
Couple of DCBNL ops are required for configuring ETS in SW DCB CEE mode. If
these functions are not added, it'll break the CEE functionality.

Signed-off-by: Avinash JD <avinash.dayanand@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_dcb_nl.c

index c572aa5..589b820 100644 (file)
@@ -541,6 +541,30 @@ ice_dcbnl_get_pg_tc_cfg_rx(struct net_device *netdev, int prio,
 }
 
 /**
+ * ice_dcbnl_set_pg_tc_cfg_rx
+ * @netdev: relevant netdev struct
+ * @prio: corresponding user priority
+ * @prio_type: the traffic priority type
+ * @pgid: the PG ID
+ * @bw_pct: BW percentage for corresponding BWG
+ * @up_map: prio mapped to corresponding TC
+ *
+ * lldpad requires this function pointer to be non-NULL to complete CEE config.
+ */
+static void
+ice_dcbnl_set_pg_tc_cfg_rx(struct net_device *netdev,
+                          int __always_unused prio,
+                          u8 __always_unused prio_type,
+                          u8 __always_unused pgid,
+                          u8 __always_unused bw_pct,
+                          u8 __always_unused up_map)
+{
+       struct ice_pf *pf = ice_netdev_to_pf(netdev);
+
+       dev_dbg(ice_pf_to_dev(pf), "Rx TC PG Config Not Supported.\n");
+}
+
+/**
  * ice_dcbnl_get_pg_bwg_cfg_rx - Get CEE PG BW Rx config
  * @netdev: pointer to netdev struct
  * @pgid: the corresponding traffic class
@@ -560,6 +584,23 @@ ice_dcbnl_get_pg_bwg_cfg_rx(struct net_device *netdev, int __always_unused pgid,
 }
 
 /**
+ * ice_dcbnl_set_pg_bwg_cfg_rx
+ * @netdev: the corresponding netdev
+ * @pgid: corresponding TC
+ * @bw_pct: BW percentage for given TC
+ *
+ * lldpad requires this function pointer to be non-NULL to complete CEE config.
+ */
+static void
+ice_dcbnl_set_pg_bwg_cfg_rx(struct net_device *netdev, int __always_unused pgid,
+                           u8 __always_unused bw_pct)
+{
+       struct ice_pf *pf = ice_netdev_to_pf(netdev);
+
+       dev_dbg(ice_pf_to_dev(pf), "Rx BWG PG Config Not Supported.\n");
+}
+
+/**
  * ice_dcbnl_get_cap - Get DCBX capabilities of adapter
  * @netdev: pointer to netdev struct
  * @capid: the capability type
@@ -805,6 +846,8 @@ static const struct dcbnl_rtnl_ops dcbnl_ops = {
        .getpermhwaddr = ice_dcbnl_get_perm_hw_addr,
        .setpgtccfgtx = ice_dcbnl_set_pg_tc_cfg_tx,
        .setpgbwgcfgtx = ice_dcbnl_set_pg_bwg_cfg_tx,
+       .setpgtccfgrx = ice_dcbnl_set_pg_tc_cfg_rx,
+       .setpgbwgcfgrx = ice_dcbnl_set_pg_bwg_cfg_rx,
        .getpgtccfgtx = ice_dcbnl_get_pg_tc_cfg_tx,
        .getpgbwgcfgtx = ice_dcbnl_get_pg_bwg_cfg_tx,
        .getpgtccfgrx = ice_dcbnl_get_pg_tc_cfg_rx,