diff options
author | Xiaoliang Yang <xiaoliang.yang_1@nxp.com> | 2020-05-13 10:25:09 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-05-13 11:54:46 -0700 |
commit | de143c0e274b95ba0513acf8e60b3b87d24335fa (patch) | |
tree | 21fea298543e0eba29eaf81c56d87a30c5161f61 /drivers/net/dsa/ocelot/felix.h | |
parent | net: dsa: felix: qos classified based on pcp (diff) | |
download | linux-de143c0e274b95ba0513acf8e60b3b87d24335fa.tar.xz linux-de143c0e274b95ba0513acf8e60b3b87d24335fa.zip |
net: dsa: felix: Configure Time-Aware Scheduler via taprio offload
Ocelot VSC9959 switch supports time-based egress shaping in hardware
according to IEEE 802.1Qbv. This patch add support for TAS configuration
on egress port of VSC9959 switch.
Felix driver is an instance of Ocelot family, with a DSA front-end. The
patch uses tc taprio hardware offload to setup TAS set function on felix
driver.
Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/ocelot/felix.h')
-rw-r--r-- | drivers/net/dsa/ocelot/felix.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/dsa/ocelot/felix.h b/drivers/net/dsa/ocelot/felix.h index b94386fa8d63..352f7b940af7 100644 --- a/drivers/net/dsa/ocelot/felix.h +++ b/drivers/net/dsa/ocelot/felix.h @@ -20,6 +20,7 @@ struct felix_info { const struct ocelot_stat_layout *stats_layout; unsigned int num_stats; int num_ports; + int num_tx_queues; struct vcap_field *vcap_is2_keys; struct vcap_field *vcap_is2_actions; const struct vcap_props *vcap; @@ -35,6 +36,10 @@ struct felix_info { struct phylink_link_state *state); int (*prevalidate_phy_mode)(struct ocelot *ocelot, int port, phy_interface_t phy_mode); + int (*port_setup_tc)(struct dsa_switch *ds, int port, + enum tc_setup_type type, void *type_data); + void (*port_sched_speed_set)(struct ocelot *ocelot, int port, + u32 speed); }; extern struct felix_info felix_info_vsc9959; |