1*317ab5b8SVladimir Oltean /* SPDX-License-Identifier: GPL-2.0 2*317ab5b8SVladimir Oltean * Copyright (c) 2019, Vladimir Oltean <olteanv@gmail.com> 3*317ab5b8SVladimir Oltean */ 4*317ab5b8SVladimir Oltean #ifndef _SJA1105_TAS_H 5*317ab5b8SVladimir Oltean #define _SJA1105_TAS_H 6*317ab5b8SVladimir Oltean 7*317ab5b8SVladimir Oltean #include <net/pkt_sched.h> 8*317ab5b8SVladimir Oltean 9*317ab5b8SVladimir Oltean #if IS_ENABLED(CONFIG_NET_DSA_SJA1105_TAS) 10*317ab5b8SVladimir Oltean 11*317ab5b8SVladimir Oltean struct sja1105_tas_data { 12*317ab5b8SVladimir Oltean struct tc_taprio_qopt_offload *offload[SJA1105_NUM_PORTS]; 13*317ab5b8SVladimir Oltean }; 14*317ab5b8SVladimir Oltean 15*317ab5b8SVladimir Oltean int sja1105_setup_tc_taprio(struct dsa_switch *ds, int port, 16*317ab5b8SVladimir Oltean struct tc_taprio_qopt_offload *admin); 17*317ab5b8SVladimir Oltean 18*317ab5b8SVladimir Oltean void sja1105_tas_setup(struct dsa_switch *ds); 19*317ab5b8SVladimir Oltean 20*317ab5b8SVladimir Oltean void sja1105_tas_teardown(struct dsa_switch *ds); 21*317ab5b8SVladimir Oltean 22*317ab5b8SVladimir Oltean #else 23*317ab5b8SVladimir Oltean 24*317ab5b8SVladimir Oltean /* C doesn't allow empty structures, bah! */ 25*317ab5b8SVladimir Oltean struct sja1105_tas_data { 26*317ab5b8SVladimir Oltean u8 dummy; 27*317ab5b8SVladimir Oltean }; 28*317ab5b8SVladimir Oltean 29*317ab5b8SVladimir Oltean static inline int sja1105_setup_tc_taprio(struct dsa_switch *ds, int port, 30*317ab5b8SVladimir Oltean struct tc_taprio_qopt_offload *admin) 31*317ab5b8SVladimir Oltean { 32*317ab5b8SVladimir Oltean return -EOPNOTSUPP; 33*317ab5b8SVladimir Oltean } 34*317ab5b8SVladimir Oltean 35*317ab5b8SVladimir Oltean static inline void sja1105_tas_setup(struct dsa_switch *ds) { } 36*317ab5b8SVladimir Oltean 37*317ab5b8SVladimir Oltean static inline void sja1105_tas_teardown(struct dsa_switch *ds) { } 38*317ab5b8SVladimir Oltean 39*317ab5b8SVladimir Oltean #endif /* IS_ENABLED(CONFIG_NET_DSA_SJA1105_TAS) */ 40*317ab5b8SVladimir Oltean 41*317ab5b8SVladimir Oltean #endif /* _SJA1105_TAS_H */ 42