/linux/drivers/net/ethernet/mscc/ |
H A D | ocelot.c | 3 * Microsemi Ocelot Switch driver 7 #include <linux/dsa/ocelot.h> 14 #include "ocelot.h" 30 /* Caller must hold &ocelot->mact_lock */ 31 static inline u32 ocelot_mact_read_macaccess(struct ocelot *ocelot) in ocelot_mact_read_macaccess() argument 33 return ocelot_read(ocelot, ANA_TABLES_MACACCESS); in ocelot_mact_read_macaccess() 36 /* Caller must hold &ocelot->mact_lock */ 37 static inline int ocelot_mact_wait_for_completion(struct ocelot *ocelot) in ocelot_mact_wait_for_completion() argument 49 ocelot_mact_select(struct ocelot * ocelot,const unsigned char mac[ETH_ALEN],unsigned int vid) ocelot_mact_select() argument 71 __ocelot_mact_learn(struct ocelot * ocelot,int port,const unsigned char mac[ETH_ALEN],unsigned int vid,enum macaccess_entry_type type) __ocelot_mact_learn() argument 103 ocelot_mact_learn(struct ocelot * ocelot,int port,const unsigned char mac[ETH_ALEN],unsigned int vid,enum macaccess_entry_type type) ocelot_mact_learn() argument 117 ocelot_mact_forget(struct ocelot * ocelot,const unsigned char mac[ETH_ALEN],unsigned int vid) ocelot_mact_forget() argument 139 ocelot_mact_lookup(struct ocelot * ocelot,int * dst_idx,const unsigned char mac[ETH_ALEN],unsigned int vid,enum macaccess_entry_type * type) ocelot_mact_lookup() argument 174 ocelot_mact_learn_streamdata(struct ocelot * ocelot,int dst_idx,const unsigned char mac[ETH_ALEN],unsigned int vid,enum macaccess_entry_type type,int sfid,int ssid) ocelot_mact_learn_streamdata() argument 199 ocelot_mact_init(struct ocelot * ocelot) ocelot_mact_init() argument 217 ocelot_pll5_init(struct ocelot * ocelot) ocelot_pll5_init() argument 247 ocelot_vcap_enable(struct ocelot * ocelot,int port) ocelot_vcap_enable() argument 261 ocelot_single_vlan_aware_bridge(struct ocelot * ocelot,struct netlink_ext_ack * extack) ocelot_single_vlan_aware_bridge() argument 290 ocelot_vlant_read_vlanaccess(struct ocelot * ocelot) ocelot_vlant_read_vlanaccess() argument 295 ocelot_vlant_wait_for_completion(struct ocelot * ocelot) ocelot_vlant_wait_for_completion() argument 307 ocelot_vlant_set_mask(struct ocelot * ocelot,u16 vid,u32 mask) ocelot_vlant_set_mask() argument 320 ocelot_port_num_untagged_vlans(struct ocelot * ocelot,int port) ocelot_port_num_untagged_vlans() argument 343 ocelot_port_num_tagged_vlans(struct ocelot * ocelot,int port) ocelot_port_num_tagged_vlans() argument 362 ocelot_port_uses_native_vlan(struct ocelot * ocelot,int port) ocelot_port_uses_native_vlan() argument 369 ocelot_port_find_native_vlan(struct ocelot * ocelot,int port) ocelot_port_find_native_vlan() argument 384 ocelot_port_manage_port_tag(struct ocelot * ocelot,int port) ocelot_port_manage_port_tag() argument 423 ocelot_bridge_num_find(struct ocelot * ocelot,const struct net_device * bridge) ocelot_bridge_num_find() argument 439 ocelot_vlan_unaware_pvid(struct ocelot * ocelot,const struct net_device * bridge) ocelot_vlan_unaware_pvid() argument 516 ocelot_update_vlan_reclassify_rule(struct ocelot * ocelot,int port) ocelot_update_vlan_reclassify_rule() argument 606 ocelot_port_set_pvid(struct ocelot * ocelot,int port,const struct ocelot_bridge_vlan * pvid_vlan) ocelot_port_set_pvid() argument 646 ocelot_bridge_vlan_find(struct ocelot * ocelot,u16 vid) ocelot_bridge_vlan_find() argument 658 ocelot_vlan_member_add(struct ocelot * ocelot,int port,u16 vid,bool untagged) ocelot_vlan_member_add() argument 707 ocelot_vlan_member_del(struct ocelot * ocelot,int port,u16 vid) ocelot_vlan_member_del() argument 732 ocelot_add_vlan_unaware_pvid(struct ocelot * ocelot,int port,const struct net_device * bridge) ocelot_add_vlan_unaware_pvid() argument 740 ocelot_del_vlan_unaware_pvid(struct ocelot * ocelot,int port,const struct net_device * bridge) ocelot_del_vlan_unaware_pvid() argument 748 ocelot_port_vlan_filtering(struct ocelot * ocelot,int port,bool vlan_aware,struct netlink_ext_ack * extack) ocelot_port_vlan_filtering() argument 801 ocelot_vlan_prepare(struct ocelot * ocelot,int port,u16 vid,bool pvid,bool untagged,struct netlink_ext_ack * extack) ocelot_vlan_prepare() argument 830 ocelot_vlan_add(struct ocelot * ocelot,int port,u16 vid,bool pvid,bool untagged) ocelot_vlan_add() argument 867 ocelot_vlan_del(struct ocelot * ocelot,int port,u16 vid) ocelot_vlan_del() argument 897 ocelot_vlan_init(struct ocelot * ocelot) ocelot_vlan_init() argument 928 ocelot_read_eq_avail(struct ocelot * ocelot,int port) ocelot_read_eq_avail() argument 933 ocelot_port_flush(struct ocelot * ocelot,int port) ocelot_port_flush() argument 986 ocelot_port_configure_serdes(struct ocelot * ocelot,int port,struct device_node * portnp) ocelot_port_configure_serdes() argument 1025 ocelot_phylink_mac_config(struct ocelot * ocelot,int port,unsigned int link_an_mode,const struct phylink_link_state * state) ocelot_phylink_mac_config() argument 1051 ocelot_phylink_mac_link_down(struct ocelot * ocelot,int port,unsigned int link_an_mode,phy_interface_t interface,unsigned long quirks) ocelot_phylink_mac_link_down() argument 1089 ocelot_phylink_mac_link_up(struct ocelot * ocelot,int port,struct phy_device * phydev,unsigned int link_an_mode,phy_interface_t interface,int speed,int duplex,bool tx_pause,bool rx_pause,unsigned long quirks) ocelot_phylink_mac_link_up() argument 1196 ocelot_rx_frame_word(struct ocelot * ocelot,u8 grp,bool ifh,u32 * rval) ocelot_rx_frame_word() argument 1238 ocelot_xtr_poll_xfh(struct ocelot * ocelot,int grp,u32 * xfh) ocelot_xtr_poll_xfh() argument 1251 ocelot_ptp_rx_timestamp(struct ocelot * ocelot,struct sk_buff * skb,u64 timestamp) ocelot_ptp_rx_timestamp() argument 1274 ocelot_lock_inj_grp(struct ocelot * ocelot,int grp) ocelot_lock_inj_grp() argument 1281 ocelot_unlock_inj_grp(struct ocelot * ocelot,int grp) ocelot_unlock_inj_grp() argument 1288 ocelot_lock_xtr_grp(struct ocelot * ocelot,int grp) ocelot_lock_xtr_grp() argument 1295 ocelot_unlock_xtr_grp(struct ocelot * ocelot,int grp) ocelot_unlock_xtr_grp() argument 1302 ocelot_lock_xtr_grp_bh(struct ocelot * ocelot,int grp) ocelot_lock_xtr_grp_bh() argument 1309 ocelot_unlock_xtr_grp_bh(struct ocelot * ocelot,int grp) ocelot_unlock_xtr_grp_bh() argument 1316 ocelot_xtr_poll_frame(struct ocelot * ocelot,int grp,struct sk_buff ** nskb) ocelot_xtr_poll_frame() argument 1399 ocelot_can_inject(struct ocelot * ocelot,int grp) ocelot_can_inject() argument 1425 ocelot_ifh_set_basic(void * ifh,struct ocelot * ocelot,int port,u32 rew_op,struct sk_buff * skb) ocelot_ifh_set_basic() argument 1451 ocelot_port_inject_frame(struct ocelot * ocelot,int port,int grp,u32 rew_op,struct sk_buff * skb) ocelot_port_inject_frame() argument 1493 ocelot_drain_cpu_queue(struct ocelot * ocelot,int grp) ocelot_drain_cpu_queue() argument 1502 ocelot_fdb_add(struct ocelot * ocelot,int port,const unsigned char * addr,u16 vid,const struct net_device * bridge) ocelot_fdb_add() argument 1512 ocelot_fdb_del(struct ocelot * ocelot,int port,const unsigned char * addr,u16 vid,const struct net_device * bridge) ocelot_fdb_del() argument 1523 ocelot_mact_read(struct ocelot * ocelot,int port,int row,int col,struct ocelot_mact_entry * entry) ocelot_mact_read() argument 1570 ocelot_mact_flush(struct ocelot * ocelot,int port) ocelot_mact_flush() argument 1607 ocelot_fdb_dump(struct ocelot * ocelot,int port,dsa_fdb_dump_cb_t * cb,void * data) ocelot_fdb_dump() argument 1653 ocelot_trap_add(struct ocelot * ocelot,int port,unsigned long cookie,bool take_ts,void (* populate)(struct ocelot_vcap_filter * f)) ocelot_trap_add() argument 1702 ocelot_trap_del(struct ocelot * ocelot,int port,unsigned long cookie) ocelot_trap_del() argument 1721 ocelot_get_bond_mask(struct ocelot * ocelot,struct net_device * bond) ocelot_get_bond_mask() argument 1744 ocelot_bond_get_id(struct ocelot * ocelot,struct net_device * bond) ocelot_bond_get_id() argument 1765 ocelot_dsa_8021q_cpu_assigned_ports(struct ocelot * ocelot,struct ocelot_port * cpu) ocelot_dsa_8021q_cpu_assigned_ports() argument 1790 ocelot_port_assigned_dsa_8021q_cpu_mask(struct ocelot * ocelot,int port) ocelot_port_assigned_dsa_8021q_cpu_mask() argument 1805 ocelot_get_bridge_fwd_mask(struct ocelot * ocelot,int src_port) ocelot_get_bridge_fwd_mask() argument 1834 ocelot_apply_bridge_fwd_mask(struct ocelot * ocelot,bool joining) ocelot_apply_bridge_fwd_mask() argument 1904 ocelot_update_pgid_cpu(struct ocelot * ocelot) ocelot_update_pgid_cpu() argument 1924 ocelot_port_setup_dsa_8021q_cpu(struct ocelot * ocelot,int cpu) ocelot_port_setup_dsa_8021q_cpu() argument 1942 ocelot_port_teardown_dsa_8021q_cpu(struct ocelot * ocelot,int cpu) ocelot_port_teardown_dsa_8021q_cpu() argument 1960 ocelot_port_assign_dsa_8021q_cpu(struct ocelot * ocelot,int port,int cpu) ocelot_port_assign_dsa_8021q_cpu() argument 1974 ocelot_port_unassign_dsa_8021q_cpu(struct ocelot * ocelot,int port) ocelot_port_unassign_dsa_8021q_cpu() argument 1985 ocelot_bridge_stp_state_set(struct ocelot * ocelot,int port,u8 state) ocelot_bridge_stp_state_set() argument 2007 ocelot_set_ageing_time(struct ocelot * ocelot,unsigned int msecs) ocelot_set_ageing_time() argument 2021 ocelot_multicast_get(struct ocelot * ocelot,const unsigned char * addr,u16 vid) ocelot_multicast_get() argument 2044 ocelot_pgid_alloc(struct ocelot * ocelot,int index,unsigned long ports) ocelot_pgid_alloc() argument 2061 ocelot_pgid_free(struct ocelot * ocelot,struct ocelot_pgid * pgid) ocelot_pgid_free() argument 2070 ocelot_mdb_get_pgid(struct ocelot * ocelot,const struct ocelot_multicast * mc) ocelot_mdb_get_pgid() argument 2128 ocelot_port_mdb_add(struct ocelot * ocelot,int port,const struct switchdev_obj_port_mdb * mdb,const struct net_device * bridge) ocelot_port_mdb_add() argument 2185 ocelot_port_mdb_del(struct ocelot * ocelot,int port,const struct switchdev_obj_port_mdb * mdb,const struct net_device * bridge) ocelot_port_mdb_del() argument 2230 ocelot_port_bridge_join(struct ocelot * ocelot,int port,struct net_device * bridge,int bridge_num,struct netlink_ext_ack * extack) ocelot_port_bridge_join() argument 2257 ocelot_port_bridge_leave(struct ocelot * ocelot,int port,struct net_device * bridge) ocelot_port_bridge_leave() argument 2278 ocelot_set_aggr_pgids(struct ocelot * ocelot) ocelot_set_aggr_pgids() argument 2364 ocelot_setup_logical_port_ids(struct ocelot * ocelot) ocelot_setup_logical_port_ids() argument 2392 ocelot_migrate_mc(struct ocelot * ocelot,struct ocelot_multicast * mc,unsigned long from_mask,unsigned long to_mask) ocelot_migrate_mc() argument 2434 ocelot_migrate_mdbs(struct ocelot * ocelot,unsigned long from_mask,unsigned long to_mask) ocelot_migrate_mdbs() argument 2463 ocelot_migrate_lag_fdbs(struct ocelot * ocelot,struct net_device * bond,int lag) ocelot_migrate_lag_fdbs() argument 2493 ocelot_port_lag_join(struct ocelot * ocelot,int port,struct net_device * bond,struct netdev_lag_upper_info * info,struct netlink_ext_ack * extack) ocelot_port_lag_join() argument 2518 ocelot_port_lag_leave(struct ocelot * ocelot,int port,struct net_device * bond) ocelot_port_lag_leave() argument 2542 ocelot_port_lag_change(struct ocelot * ocelot,int port,bool lag_tx_active) ocelot_port_lag_change() argument 2557 ocelot_lag_fdb_add(struct ocelot * ocelot,struct net_device * bond,const unsigned char * addr,u16 vid,const struct net_device * bridge) ocelot_lag_fdb_add() argument 2593 ocelot_lag_fdb_del(struct ocelot * ocelot,struct net_device * bond,const unsigned char * addr,u16 vid,const struct net_device * bridge) ocelot_lag_fdb_del() argument 2629 ocelot_port_set_maxlen(struct ocelot * ocelot,int port,size_t sdu) ocelot_port_set_maxlen() argument 2664 ocelot_get_max_mtu(struct ocelot * ocelot,int port) ocelot_get_max_mtu() argument 2681 ocelot_port_set_learning(struct ocelot * ocelot,int port,bool enabled) ocelot_port_set_learning() argument 2696 ocelot_port_set_ucast_flood(struct ocelot * ocelot,int port,bool enabled) ocelot_port_set_ucast_flood() argument 2707 ocelot_port_set_mcast_flood(struct ocelot * ocelot,int port,bool enabled) ocelot_port_set_mcast_flood() argument 2720 ocelot_port_set_bcast_flood(struct ocelot * ocelot,int port,bool enabled) ocelot_port_set_bcast_flood() argument 2731 ocelot_port_pre_bridge_flags(struct ocelot * ocelot,int port,struct switchdev_brport_flags flags) ocelot_port_pre_bridge_flags() argument 2742 ocelot_port_bridge_flags(struct ocelot * ocelot,int port,struct switchdev_brport_flags flags) ocelot_port_bridge_flags() argument 2763 ocelot_port_get_default_prio(struct ocelot * ocelot,int port) ocelot_port_get_default_prio() argument 2771 ocelot_port_set_default_prio(struct ocelot * ocelot,int port,u8 prio) ocelot_port_set_default_prio() argument 2786 ocelot_port_get_dscp_prio(struct ocelot * ocelot,int port,u8 dscp) ocelot_port_get_dscp_prio() argument 2811 ocelot_port_add_dscp_prio(struct ocelot * ocelot,int port,u8 dscp,u8 prio) ocelot_port_add_dscp_prio() argument 2838 ocelot_port_del_dscp_prio(struct ocelot * ocelot,int port,u8 dscp,u8 prio) ocelot_port_del_dscp_prio() argument 2879 ocelot_mirror_get(struct ocelot * ocelot,int to,struct netlink_ext_ack * extack) ocelot_mirror_get() argument 2909 ocelot_mirror_put(struct ocelot * ocelot) ocelot_mirror_put() argument 2921 ocelot_port_mirror_add(struct ocelot * ocelot,int from,int to,bool ingress,struct netlink_ext_ack * extack) ocelot_port_mirror_add() argument 2942 ocelot_port_mirror_del(struct ocelot * ocelot,int from,bool ingress) ocelot_port_mirror_del() argument 2955 ocelot_port_reset_mqprio(struct ocelot * ocelot,int port) ocelot_port_reset_mqprio() argument 2963 ocelot_port_mqprio(struct ocelot * ocelot,int port,struct tc_mqprio_qopt_offload * mqprio) ocelot_port_mqprio() argument 3007 ocelot_init_port(struct ocelot * ocelot,int port) ocelot_init_port() argument 3076 ocelot_cpu_port_init(struct ocelot * ocelot) ocelot_cpu_port_init() argument 3107 ocelot_detect_features(struct ocelot * ocelot) ocelot_detect_features() argument 3122 ocelot_mem_init_status(struct ocelot * ocelot) ocelot_mem_init_status() argument 3133 ocelot_reset(struct ocelot * ocelot) ocelot_reset() argument 3162 ocelot_init(struct ocelot * ocelot) ocelot_init() argument 3315 ocelot_deinit(struct ocelot * ocelot) ocelot_deinit() argument 3322 ocelot_deinit_port(struct ocelot * ocelot,int port) ocelot_deinit_port() argument [all...] |
H A D | ocelot_ptp.c | 2 /* Microsemi Ocelot PTP clock driver 9 #include <linux/dsa/ocelot.h> 14 #include <soc/mscc/ocelot.h> 15 #include "ocelot.h" 21 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); in ocelot_ptp_gettime64() local 27 spin_lock_irqsave(&ocelot->ptp_clock_lock, flags); in ocelot_ptp_gettime64() 29 val = ocelot_read_rix(ocelot, PTP_PIN_CFG, TOD_ACC_PIN); in ocelot_ptp_gettime64() 32 ocelot_write_rix(ocelot, va in ocelot_ptp_gettime64() 56 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); ocelot_ptp_settime64() local 92 struct ocelot *ocelot = container_of(ptp, struct ocelot, ocelot_ptp_adjtime() local 140 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); ocelot_ptp_adjfine() local 202 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); ocelot_ptp_enable() local 361 ocelot_l2_ptp_trap_add(struct ocelot * ocelot,int port) ocelot_l2_ptp_trap_add() argument 369 ocelot_l2_ptp_trap_del(struct ocelot * ocelot,int port) ocelot_l2_ptp_trap_del() argument 376 ocelot_ipv4_ptp_trap_add(struct ocelot * ocelot,int port) ocelot_ipv4_ptp_trap_add() argument 395 ocelot_ipv4_ptp_trap_del(struct ocelot * ocelot,int port) ocelot_ipv4_ptp_trap_del() argument 406 ocelot_ipv6_ptp_trap_add(struct ocelot * ocelot,int port) ocelot_ipv6_ptp_trap_add() argument 425 ocelot_ipv6_ptp_trap_del(struct ocelot * ocelot,int port) ocelot_ipv6_ptp_trap_del() argument 436 ocelot_setup_ptp_traps(struct ocelot * ocelot,int port,bool l2,bool l4) ocelot_setup_ptp_traps() argument 517 ocelot_hwstamp_get(struct ocelot * ocelot,int port,struct kernel_hwtstamp_config * cfg) ocelot_hwstamp_get() argument 538 ocelot_hwstamp_set(struct ocelot * ocelot,int port,struct kernel_hwtstamp_config * cfg,struct netlink_ext_ack * extack) ocelot_hwstamp_set() argument 587 ocelot_get_ts_info(struct ocelot * ocelot,int port,struct kernel_ethtool_ts_info * info) ocelot_get_ts_info() argument 611 ocelot_port_dequeue_ptp_tx_skb(struct ocelot * ocelot,int port,u8 ts_id,u32 seqid) ocelot_port_dequeue_ptp_tx_skb() argument 644 ocelot_port_queue_ptp_tx_skb(struct ocelot * ocelot,int port,struct sk_buff * clone) ocelot_port_queue_ptp_tx_skb() argument 720 ocelot_port_txtstamp_request(struct ocelot * ocelot,int port,struct sk_buff * skb,struct sk_buff ** clone) ocelot_port_txtstamp_request() argument 784 ocelot_get_hwtimestamp(struct ocelot * ocelot,struct timespec64 * ts) ocelot_get_hwtimestamp() argument 811 ocelot_get_txtstamp(struct ocelot * ocelot) ocelot_get_txtstamp() argument 869 ocelot_init_timestamp(struct ocelot * ocelot,const struct ptp_clock_info * info) ocelot_init_timestamp() argument 906 ocelot_deinit_timestamp(struct ocelot * ocelot) ocelot_deinit_timestamp() argument [all...] |
H A D | ocelot_net.c | 2 /* Microsemi Ocelot Switch driver 11 #include <linux/dsa/ocelot.h> 16 #include "ocelot.h" 32 static struct ocelot *devlink_port_to_ocelot(struct devlink_port *dlp) in devlink_port_to_ocelot() 39 struct ocelot *ocelot = devlink_port_to_ocelot(dlp); in devlink_port_to_port() local 41 return dlp - ocelot->devlink_ports; in devlink_port_to_port() 48 struct ocelot *ocelot = devlink_priv(dl); in ocelot_devlink_sb_pool_get() local 50 return ocelot_sb_pool_get(ocelot, sb_inde in ocelot_devlink_sb_pool_get() 58 struct ocelot *ocelot = devlink_priv(dl); ocelot_devlink_sb_pool_set() local 68 struct ocelot *ocelot = devlink_port_to_ocelot(dlp); ocelot_devlink_sb_port_pool_get() local 80 struct ocelot *ocelot = devlink_port_to_ocelot(dlp); ocelot_devlink_sb_port_pool_set() local 93 struct ocelot *ocelot = devlink_port_to_ocelot(dlp); ocelot_devlink_sb_tc_pool_bind_get() local 108 struct ocelot *ocelot = devlink_port_to_ocelot(dlp); ocelot_devlink_sb_tc_pool_bind_set() local 119 struct ocelot *ocelot = devlink_priv(dl); ocelot_devlink_sb_occ_snapshot() local 127 struct ocelot *ocelot = devlink_priv(dl); ocelot_devlink_sb_occ_max_clear() local 137 struct ocelot *ocelot = devlink_port_to_ocelot(dlp); ocelot_devlink_sb_occ_port_pool_get() local 150 struct ocelot *ocelot = devlink_port_to_ocelot(dlp); ocelot_devlink_sb_occ_tc_port_bind_get() local 171 ocelot_port_devlink_init(struct ocelot * ocelot,int port,enum devlink_port_flavour flavour) ocelot_port_devlink_init() argument 190 ocelot_port_devlink_teardown(struct ocelot * ocelot,int port) ocelot_port_devlink_teardown() argument 201 struct ocelot *ocelot = priv->port.ocelot; ocelot_setup_tc_cls_flower() local 225 struct ocelot *ocelot = priv->port.ocelot; ocelot_setup_tc_cls_matchall_police() local 266 struct ocelot *ocelot = priv->port.ocelot; ocelot_setup_tc_cls_matchall_mirred() local 306 struct ocelot *ocelot = priv->port.ocelot; ocelot_del_tc_cls_matchall_police() local 327 struct ocelot *ocelot = priv->port.ocelot; ocelot_del_tc_cls_matchall_mirred() local 497 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_vlan_vid_add() local 515 struct ocelot *ocelot = priv->port.ocelot; ocelot_vlan_vid_del() local 558 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_xmit() local 599 struct ocelot *ocelot; global() member 623 struct ocelot *ocelot = w->ocelot; ocelot_mact_work() local 640 ocelot_enqueue_mact_action(struct ocelot * ocelot,const struct ocelot_mact_work_ctx * ctx) ocelot_enqueue_mact_action() argument 659 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_mc_unsync() local 673 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_mc_sync() local 688 struct ocelot *ocelot = priv->port.ocelot; ocelot_set_rx_mode() local 707 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_set_mac_address() local 724 struct ocelot *ocelot = priv->port.ocelot; ocelot_get_stats64() local 738 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_fdb_add() local 751 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_fdb_del() local 807 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_fdb_dump() local 836 ocelot_vlan_mode(struct ocelot * ocelot,int port,netdev_features_t features) ocelot_vlan_mode() argument 855 struct ocelot *ocelot = priv->port.ocelot; ocelot_set_features() local 880 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_hwtstamp_get() local 893 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_hwtstamp_set() local 903 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_change_mtu() local 931 ocelot_port_to_netdev(struct ocelot * ocelot,int port) ocelot_port_to_netdev() argument 966 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_get_strings() local 977 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_get_ethtool_stats() local 986 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_get_sset_count() local 996 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_get_ts_info() local 1009 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_ts_stats() local 1025 ocelot_port_attr_stp_state_set(struct ocelot * ocelot,int port,u8 state) ocelot_port_attr_stp_state_set() argument 1031 ocelot_port_attr_ageing_set(struct ocelot * ocelot,int port,unsigned long ageing_clock_t) ocelot_port_attr_ageing_set() argument 1040 ocelot_port_attr_mc_set(struct ocelot * ocelot,int port,bool mc) ocelot_port_attr_mc_set() argument 1059 struct ocelot *ocelot = priv->port.ocelot; ocelot_port_attr_set() local 1100 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_vlan_vid_prepare() local 1126 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_obj_add_mdb() local 1137 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_obj_del_mdb() local 1148 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_obj_mrp_add() local 1159 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_obj_mrp_del() local 1171 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_obj_mrp_add_ring_role() local 1183 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_port_obj_mrp_del_ring_role() local 1253 ocelot_inherit_brport_flags(struct ocelot * ocelot,int port,struct net_device * brport_dev) ocelot_inherit_brport_flags() argument 1268 ocelot_clear_brport_flags(struct ocelot * ocelot,int port) ocelot_clear_brport_flags() argument 1278 ocelot_switchdev_sync(struct ocelot * ocelot,int port,struct net_device * brport_dev,struct net_device * bridge_dev,struct netlink_ext_ack * extack) ocelot_switchdev_sync() argument 1299 ocelot_switchdev_unsync(struct ocelot * ocelot,int port) ocelot_switchdev_unsync() argument 1314 ocelot_bridge_num_get(struct ocelot * ocelot,const struct net_device * bridge_dev) ocelot_bridge_num_get() argument 1330 ocelot_bridge_num_put(struct ocelot * ocelot,const struct net_device * bridge_dev,int bridge_num) ocelot_bridge_num_put() argument 1348 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_netdevice_bridge_join() local 1399 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_netdevice_bridge_leave() local 1421 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_netdevice_lag_join() local 1463 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_netdevice_lag_leave() local 1578 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_netdevice_changelowerstate() local 1699 struct ocelot *ocelot = priv->port.ocelot; vsc7514_phylink_mac_config() local 1711 struct ocelot *ocelot = priv->port.ocelot; vsc7514_phylink_mac_link_down() local 1727 struct ocelot *ocelot = priv->port.ocelot; vsc7514_phylink_mac_link_up() local 1741 ocelot_port_phylink_create(struct ocelot * ocelot,int port,struct device_node * portnp) ocelot_port_phylink_create() argument 1804 ocelot_probe_port(struct ocelot * ocelot,int port,struct regmap * target,struct device_node * portnp) ocelot_probe_port() argument 1872 struct ocelot *ocelot = ocelot_port->ocelot; ocelot_release_port() local [all...] |
H A D | ocelot_fdma.c | 13 #include <linux/dsa/ocelot.h> 22 static void ocelot_fdma_writel(struct ocelot *ocelot, u32 reg, u32 data) in ocelot_fdma_writel() argument 24 regmap_write(ocelot->targets[FDMA], reg, data); in ocelot_fdma_writel() 27 static u32 ocelot_fdma_readl(struct ocelot *ocelot, u32 reg) in ocelot_fdma_readl() argument 31 regmap_read(ocelot->targets[FDMA], reg, &retval); in ocelot_fdma_readl() 85 static void ocelot_fdma_activate_chan(struct ocelot *ocelot, dma_addr_t dma, in ocelot_fdma_activate_chan() argument 88 ocelot_fdma_writel(ocelot, MSCC_FDMA_DCB_LL in ocelot_fdma_activate_chan() 96 ocelot_fdma_read_ch_safe(struct ocelot * ocelot) ocelot_fdma_read_ch_safe() argument 101 ocelot_fdma_wait_chan_safe(struct ocelot * ocelot,int chan) ocelot_fdma_wait_chan_safe() argument 122 ocelot_fdma_rx_alloc_page(struct ocelot * ocelot,struct ocelot_fdma_rx_buf * rxb) ocelot_fdma_rx_alloc_page() argument 146 ocelot_fdma_alloc_rx_buffs(struct ocelot * ocelot,u16 alloc_cnt) ocelot_fdma_alloc_rx_buffs() argument 186 ocelot_fdma_tx_dcb_set_skb(struct ocelot * ocelot,struct ocelot_fdma_tx_buf * tx_buf,struct ocelot_fdma_dcb * dcb,struct sk_buff * skb) ocelot_fdma_tx_dcb_set_skb() argument 208 ocelot_fdma_check_stop_rx(struct ocelot * ocelot) ocelot_fdma_check_stop_rx() argument 234 ocelot_fdma_rx_restart(struct ocelot * ocelot) ocelot_fdma_rx_restart() argument 295 ocelot_fdma_reuse_rx_page(struct ocelot * ocelot,struct ocelot_fdma_rx_buf * old_rxb) ocelot_fdma_reuse_rx_page() argument 314 ocelot_fdma_get_skb(struct ocelot * ocelot,u32 stat,struct ocelot_fdma_rx_buf * rxb,struct sk_buff * skb) ocelot_fdma_get_skb() argument 353 ocelot_fdma_receive_skb(struct ocelot * ocelot,struct sk_buff * skb) ocelot_fdma_receive_skb() argument 389 ocelot_fdma_rx_get(struct ocelot * ocelot,int budget) ocelot_fdma_rx_get() argument 461 ocelot_fdma_wakeup_netdev(struct ocelot * ocelot) ocelot_fdma_wakeup_netdev() argument 481 ocelot_fdma_tx_cleanup(struct ocelot * ocelot,int budget) ocelot_fdma_tx_cleanup() argument 554 struct ocelot *ocelot = fdma->ocelot; ocelot_fdma_napi_poll() local 580 struct ocelot *ocelot = dev_id; ocelot_fdma_interrupt() local 607 ocelot_fdma_send_skb(struct ocelot * ocelot,struct ocelot_fdma * fdma,struct sk_buff * skb) ocelot_fdma_send_skb() argument 640 ocelot_fdma_prepare_skb(struct ocelot * ocelot,int port,u32 rew_op,struct sk_buff * skb,struct net_device * dev) ocelot_fdma_prepare_skb() argument 673 ocelot_fdma_inject_frame(struct ocelot * ocelot,int port,u32 rew_op,struct sk_buff * skb,struct net_device * dev) ocelot_fdma_inject_frame() argument 698 ocelot_fdma_free_rx_ring(struct ocelot * ocelot) ocelot_fdma_free_rx_ring() argument 721 ocelot_fdma_free_tx_ring(struct ocelot * ocelot) ocelot_fdma_free_tx_ring() argument 742 ocelot_fdma_rings_alloc(struct ocelot * ocelot) ocelot_fdma_rings_alloc() argument 789 ocelot_fdma_netdev_init(struct ocelot * ocelot,struct net_device * dev) ocelot_fdma_netdev_init() argument 804 ocelot_fdma_netdev_deinit(struct ocelot * ocelot,struct net_device * dev) ocelot_fdma_netdev_deinit() argument 814 ocelot_fdma_init(struct platform_device * pdev,struct ocelot * ocelot) ocelot_fdma_init() argument 852 ocelot_fdma_start(struct ocelot * ocelot) ocelot_fdma_start() argument 878 ocelot_fdma_deinit(struct ocelot * ocelot) ocelot_fdma_deinit() argument [all...] |
H A D | ocelot_stats.c | 2 /* Statistics for Ocelot switch family 11 #include "ocelot.h" 153 * and copied to ocelot->stats. 312 ocelot_get_stats_layout(struct ocelot *ocelot) in ocelot_get_stats_layout() argument 314 if (ocelot->mm_supported) in ocelot_get_stats_layout() 321 * Caller must hold &ocelot->stat_view_lock. 323 static int ocelot_port_update_stats(struct ocelot *ocelot, int port) in ocelot_port_update_stats() argument 329 ocelot_write(ocelot, SYS_STAT_CFG_STAT_VIE in ocelot_port_update_stats() 344 ocelot_port_transfer_stats(struct ocelot * ocelot,int port) ocelot_port_transfer_stats() argument 367 struct ocelot *ocelot = container_of(del_work, struct ocelot, ocelot_check_stats_work() local 395 ocelot_get_strings(struct ocelot * ocelot,int port,u32 sset,u8 * data) ocelot_get_strings() argument 416 ocelot_port_stats_run(struct ocelot * ocelot,int port,void * priv,void (* cb)(struct ocelot * ocelot,int port,void * priv)) ocelot_port_stats_run() argument 417 ocelot_port_stats_run(struct ocelot * ocelot,int port,void * priv,void (* cb)(struct ocelot * ocelot,int port,void * priv)) ocelot_port_stats_run() argument 442 ocelot_get_sset_count(struct ocelot * ocelot,int port,int sset) ocelot_get_sset_count() argument 461 ocelot_port_ethtool_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_ethtool_stats_cb() argument 481 ocelot_get_ethtool_stats(struct ocelot * ocelot,int port,u64 * data) ocelot_get_ethtool_stats() argument 487 ocelot_port_pause_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_pause_stats_cb() argument 496 ocelot_port_pmac_pause_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_pmac_pause_stats_cb() argument 506 ocelot_port_mm_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_mm_stats_cb() argument 520 ocelot_port_get_pause_stats(struct ocelot * ocelot,int port,struct ethtool_pause_stats * pause_stats) ocelot_port_get_pause_stats() argument 543 ocelot_port_get_mm_stats(struct ocelot * ocelot,int port,struct ethtool_mm_stats * stats) ocelot_port_get_mm_stats() argument 564 ocelot_port_rmon_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_rmon_stats_cb() argument 591 ocelot_port_pmac_rmon_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_pmac_rmon_stats_cb() argument 619 ocelot_port_get_rmon_stats(struct ocelot * ocelot,int port,struct ethtool_rmon_stats * rmon_stats,const struct ethtool_rmon_hist_range ** ranges) ocelot_port_get_rmon_stats() argument 645 ocelot_port_ctrl_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_ctrl_stats_cb() argument 653 ocelot_port_pmac_ctrl_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_pmac_ctrl_stats_cb() argument 662 ocelot_port_get_eth_ctrl_stats(struct ocelot * ocelot,int port,struct ethtool_eth_ctrl_stats * ctrl_stats) ocelot_port_get_eth_ctrl_stats() argument 685 ocelot_port_mac_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_mac_stats_cb() argument 727 ocelot_port_pmac_mac_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_pmac_mac_stats_cb() argument 761 ocelot_port_get_eth_mac_stats(struct ocelot * ocelot,int port,struct ethtool_eth_mac_stats * mac_stats) ocelot_port_get_eth_mac_stats() argument 784 ocelot_port_phy_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_phy_stats_cb() argument 792 ocelot_port_pmac_phy_stats_cb(struct ocelot * ocelot,int port,void * priv) ocelot_port_pmac_phy_stats_cb() argument 801 ocelot_port_get_eth_phy_stats(struct ocelot * ocelot,int port,struct ethtool_eth_phy_stats * phy_stats) ocelot_port_get_eth_phy_stats() argument 824 ocelot_port_get_ts_stats(struct ocelot * ocelot,int port,struct ethtool_ts_stats * ts_stats) ocelot_port_get_ts_stats() argument 844 ocelot_port_get_stats64(struct ocelot * ocelot,int port,struct rtnl_link_stats64 * stats) ocelot_port_get_stats64() argument 909 ocelot_prepare_stats_regions(struct ocelot * ocelot) ocelot_prepare_stats_regions() argument 972 ocelot_stats_init(struct ocelot * ocelot) ocelot_stats_init() argument 1022 ocelot_stats_deinit(struct ocelot * ocelot) ocelot_stats_deinit() argument [all...] |
H A D | ocelot_mrp.c | 2 /* Microsemi Ocelot Switch driver 12 #include "ocelot.h" 18 static int ocelot_mrp_find_partner_port(struct ocelot *ocelot, in ocelot_mrp_find_partner_port() argument 23 for (i = 0; i < ocelot->num_phys_ports; ++i) { in ocelot_mrp_find_partner_port() 24 struct ocelot_port *ocelot_port = ocelot->ports[i]; in ocelot_mrp_find_partner_port() 36 static int ocelot_mrp_del_vcap(struct ocelot *ocelot, int id) in ocelot_mrp_del_vcap() argument 41 block_vcap_is2 = &ocelot->block[VCAP_IS2]; in ocelot_mrp_del_vcap() 47 return ocelot_vcap_filter_del(ocelot, filte in ocelot_mrp_del_vcap() 50 ocelot_mrp_redirect_add_vcap(struct ocelot * ocelot,int src_port,int dst_port) ocelot_mrp_redirect_add_vcap() argument 91 ocelot_mrp_trap_add(struct ocelot * ocelot,int port) ocelot_mrp_trap_add() argument 99 ocelot_mrp_trap_del(struct ocelot * ocelot,int port) ocelot_mrp_trap_del() argument 106 ocelot_mrp_save_mac(struct ocelot * ocelot,struct ocelot_port * port) ocelot_mrp_save_mac() argument 115 ocelot_mrp_del_mac(struct ocelot * ocelot,struct ocelot_port * port) ocelot_mrp_del_mac() argument 122 ocelot_mrp_add(struct ocelot * ocelot,int port,const struct switchdev_obj_mrp * mrp) ocelot_mrp_add() argument 144 ocelot_mrp_del(struct ocelot * ocelot,int port,const struct switchdev_obj_mrp * mrp) ocelot_mrp_del() argument 161 ocelot_mrp_add_ring_role(struct ocelot * ocelot,int port,const struct switchdev_obj_ring_role_mrp * mrp) ocelot_mrp_add_ring_role() argument 201 ocelot_mrp_del_ring_role(struct ocelot * ocelot,int port,const struct switchdev_obj_ring_role_mrp * mrp) ocelot_mrp_del_ring_role() argument [all...] |
H A D | ocelot_io.c | 3 * Microsemi Ocelot Switch driver 11 #include "ocelot.h" 13 int __ocelot_bulk_read_ix(struct ocelot *ocelot, enum ocelot_reg reg, in __ocelot_bulk_read_ix() argument 19 ocelot_reg_to_target_addr(ocelot, reg, &target, &addr); in __ocelot_bulk_read_ix() 22 return regmap_bulk_read(ocelot->targets[target], addr + offset, in __ocelot_bulk_read_ix() 27 u32 __ocelot_read_ix(struct ocelot *ocelot, enum ocelot_reg reg, u32 offset) in __ocelot_read_ix() argument 32 ocelot_reg_to_target_addr(ocelot, reg, &target, &addr); in __ocelot_read_ix() 35 regmap_read(ocelot in __ocelot_read_ix() 40 __ocelot_write_ix(struct ocelot * ocelot,u32 val,enum ocelot_reg reg,u32 offset) __ocelot_write_ix() argument 53 __ocelot_rmw_ix(struct ocelot * ocelot,u32 val,u32 mask,enum ocelot_reg reg,u32 offset) __ocelot_rmw_ix() argument 68 struct ocelot *ocelot = port->ocelot; ocelot_port_readl() local 81 struct ocelot *ocelot = port->ocelot; ocelot_port_writel() local 99 __ocelot_target_read_ix(struct ocelot * ocelot,enum ocelot_target target,u32 reg,u32 offset) __ocelot_target_read_ix() argument 109 __ocelot_target_write_ix(struct ocelot * ocelot,enum ocelot_target target,u32 val,u32 reg,u32 offset) __ocelot_target_write_ix() argument 116 ocelot_regfields_init(struct ocelot * ocelot,const struct reg_field * const regfields) ocelot_regfields_init() argument 156 ocelot_regmap_init(struct ocelot * ocelot,struct resource * res) ocelot_regmap_init() argument [all...] |
H A D | ocelot_mm.c | 9 #include <soc/mscc/ocelot.h> 13 #include "ocelot.h" 52 void ocelot_port_update_active_preemptible_tcs(struct ocelot *ocelot, int port) in ocelot_port_update_active_preemptible_tcs() argument 54 struct ocelot_port *ocelot_port = ocelot->ports[port]; in ocelot_port_update_active_preemptible_tcs() 55 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_port_update_active_preemptible_tcs() 58 lockdep_assert_held(&ocelot->fwd_domain_lock); in ocelot_port_update_active_preemptible_tcs() 76 ocelot->ops->tas_guard_bands_update(ocelot, port); in ocelot_port_update_active_preemptible_tcs() 78 dev_dbg(ocelot in ocelot_port_update_active_preemptible_tcs() 90 ocelot_port_change_fp(struct ocelot * ocelot,int port,unsigned long preemptible_tcs) ocelot_port_change_fp() argument 105 ocelot_mm_update_port_status(struct ocelot * ocelot,int port) ocelot_mm_update_port_status() argument 155 ocelot_mm_irq(struct ocelot * ocelot) ocelot_mm_irq() argument 168 ocelot_port_set_mm(struct ocelot * ocelot,int port,struct ethtool_mm_cfg * cfg,struct netlink_ext_ack * extack) ocelot_port_set_mm() argument 234 ocelot_port_get_mm(struct ocelot * ocelot,int port,struct ethtool_mm_state * state) ocelot_port_get_mm() argument 272 ocelot_mm_init(struct ocelot * ocelot) ocelot_mm_init() argument [all...] |
H A D | ocelot.h | 3 * Microsemi Ocelot Switch driver 25 #include <soc/mscc/ocelot.h> 54 /* A (PGID) port mask structure, encoding the 2^ocelot->num_phys_ports 77 static inline void ocelot_reg_to_target_addr(struct ocelot *ocelot, in ocelot_reg_to_target_addr() argument 83 *addr = ocelot->map[*target][reg & REG_MASK]; in ocelot_reg_to_target_addr() 86 int ocelot_bridge_num_find(struct ocelot *ocelot, 89 int ocelot_mact_learn(struct ocelot *ocelot, in [all...] |
H A D | ocelot_devlink.c | 5 #include "ocelot.h" 221 static u32 ocelot_wm_read(struct ocelot *ocelot, int index) in ocelot_wm_read() argument 223 int wm = ocelot_read_gix(ocelot, QSYS_RES_CFG, index); in ocelot_wm_read() 225 return ocelot->ops->wm_dec(wm); in ocelot_wm_read() 228 static void ocelot_wm_write(struct ocelot *ocelot, int index, u32 val) in ocelot_wm_write() argument 230 u32 wm = ocelot->ops->wm_enc(val); in ocelot_wm_write() 232 ocelot_write_gix(ocelot, wm, QSYS_RES_CFG, index); in ocelot_wm_write() 235 static void ocelot_wm_status(struct ocelot *ocelo argument 252 ocelot_disable_reservation_watermarks(struct ocelot * ocelot,int port) ocelot_disable_reservation_watermarks() argument 289 ocelot_disable_tc_sharing_watermarks(struct ocelot * ocelot) ocelot_disable_tc_sharing_watermarks() argument 301 ocelot_get_buf_rsrv(struct ocelot * ocelot,u32 * buf_rsrv_i,u32 * buf_rsrv_e) ocelot_get_buf_rsrv() argument 325 ocelot_get_ref_rsrv(struct ocelot * ocelot,u32 * ref_rsrv_i,u32 * ref_rsrv_e) ocelot_get_ref_rsrv() argument 349 ocelot_setup_sharing_watermarks(struct ocelot * ocelot) ocelot_setup_sharing_watermarks() argument 382 ocelot_watermark_validate(struct ocelot * ocelot,struct netlink_ext_ack * extack) ocelot_watermark_validate() argument 476 ocelot_watermark_init(struct ocelot * ocelot) ocelot_watermark_init() argument 536 ocelot_sb_pool_get(struct ocelot * ocelot,unsigned int sb_index,u16 pool_index,struct devlink_sb_pool_info * pool_info) ocelot_sb_pool_get() argument 561 ocelot_sb_pool_set(struct ocelot * ocelot,unsigned int sb_index,u16 pool_index,u32 size,enum devlink_sb_threshold_type threshold_type,struct netlink_ext_ack * extack) ocelot_sb_pool_set() argument 601 ocelot_sb_port_pool_get(struct ocelot * ocelot,int port,unsigned int sb_index,u16 pool_index,u32 * p_threshold) ocelot_sb_port_pool_get() argument 632 ocelot_sb_port_pool_set(struct ocelot * ocelot,int port,unsigned int sb_index,u16 pool_index,u32 threshold,struct netlink_ext_ack * extack) ocelot_sb_port_pool_set() argument 675 ocelot_sb_tc_pool_bind_get(struct ocelot * ocelot,int port,unsigned int sb_index,u16 tc_index,enum devlink_sb_pool_type pool_type,u16 * p_pool_index,u32 * p_threshold) ocelot_sb_tc_pool_bind_get() argument 712 ocelot_sb_tc_pool_bind_set(struct ocelot * ocelot,int port,unsigned int sb_index,u16 tc_index,enum devlink_sb_pool_type pool_type,u16 pool_index,u32 threshold,struct netlink_ext_ack * extack) ocelot_sb_tc_pool_bind_set() argument 766 ocelot_sb_occ_snapshot(struct ocelot * ocelot,unsigned int sb_index) ocelot_sb_occ_snapshot() argument 775 ocelot_sb_occ_max_clear(struct ocelot * ocelot,unsigned int sb_index) ocelot_sb_occ_max_clear() argument 818 ocelot_sb_occ_port_pool_get(struct ocelot * ocelot,int port,unsigned int sb_index,u16 pool_index,u32 * p_cur,u32 * p_max) ocelot_sb_occ_port_pool_get() argument 850 ocelot_sb_occ_tc_port_bind_get(struct ocelot * ocelot,int port,unsigned int sb_index,u16 tc_index,enum devlink_sb_pool_type pool_type,u32 * p_cur,u32 * p_max) ocelot_sb_occ_tc_port_bind_get() argument 882 ocelot_devlink_sb_register(struct ocelot * ocelot) ocelot_devlink_sb_register() argument 911 ocelot_devlink_sb_unregister(struct ocelot * ocelot) ocelot_devlink_sb_unregister() argument [all...] |
H A D | ocelot_vcap.c | 2 /* Microsemi Ocelot Switch driver 49 static u32 vcap_read_update_ctrl(struct ocelot *ocelot, in vcap_read_update_ctrl() argument 52 return ocelot_target_read(ocelot, vcap->target, VCAP_CORE_UPDATE_CTRL); in vcap_read_update_ctrl() 55 static void vcap_cmd(struct ocelot *ocelot, const struct vcap_props *vcap, in vcap_cmd() argument 74 ocelot_target_write(ocelot, vcap->target, value, VCAP_CORE_UPDATE_CTRL); in vcap_cmd() 78 10, 100000, false, ocelot, vcap); in vcap_cmd() 82 static void vcap_row_cmd(struct ocelot *ocelot, cons argument 88 vcap_entry2cache(struct ocelot * ocelot,const struct vcap_props * vcap,struct vcap_data * data) vcap_entry2cache() argument 105 vcap_cache2entry(struct ocelot * ocelot,const struct vcap_props * vcap,struct vcap_data * data) vcap_cache2entry() argument 123 vcap_action2cache(struct ocelot * ocelot,const struct vcap_props * vcap,struct vcap_data * data) vcap_action2cache() argument 148 vcap_cache2action(struct ocelot * ocelot,const struct vcap_props * vcap,struct vcap_data * data) vcap_cache2action() argument 330 is2_action_set(struct ocelot * ocelot,struct vcap_data * data,struct ocelot_vcap_filter * filter) is2_action_set() argument 345 is2_entry_set(struct ocelot * ocelot,int ix,struct ocelot_vcap_filter * filter) is2_entry_set() argument 646 is1_action_set(struct ocelot * ocelot,struct vcap_data * data,const struct ocelot_vcap_filter * filter) is1_action_set() argument 669 is1_entry_set(struct ocelot * ocelot,int ix,struct ocelot_vcap_filter * filter) is1_entry_set() argument 781 es0_action_set(struct ocelot * ocelot,struct vcap_data * data,const struct ocelot_vcap_filter * filter) es0_action_set() argument 809 es0_entry_set(struct ocelot * ocelot,int ix,struct ocelot_vcap_filter * filter) es0_entry_set() argument 852 vcap_entry_get(struct ocelot * ocelot,int ix,struct ocelot_vcap_filter * filter) vcap_entry_get() argument 876 vcap_entry_set(struct ocelot * ocelot,int ix,struct ocelot_vcap_filter * filter) vcap_entry_set() argument 893 ocelot_vcap_policer_add(struct ocelot * ocelot,u32 pol_ix,struct ocelot_policer * pol) ocelot_vcap_policer_add() argument 931 ocelot_vcap_policer_del(struct ocelot * ocelot,u32 pol_ix) ocelot_vcap_policer_del() argument 956 ocelot_vcap_filter_add_aux_resources(struct ocelot * ocelot,struct ocelot_vcap_filter * filter,struct netlink_ext_ack * extack) ocelot_vcap_filter_add_aux_resources() argument 981 ocelot_vcap_filter_del_aux_resources(struct ocelot * ocelot,struct ocelot_vcap_filter * filter) ocelot_vcap_filter_del_aux_resources() argument 991 ocelot_vcap_filter_add_to_block(struct ocelot * ocelot,struct ocelot_vcap_block * block,struct ocelot_vcap_filter * filter,struct netlink_ext_ack * extack) ocelot_vcap_filter_add_to_block() argument 1079 ocelot_match_all_as_mac_etype(struct ocelot * ocelot,int port,int lookup,bool on) ocelot_match_all_as_mac_etype() argument 1139 ocelot_exclusive_mac_etype_filter_rules(struct ocelot * ocelot,struct ocelot_vcap_filter * filter) ocelot_exclusive_mac_etype_filter_rules() argument 1184 ocelot_vcap_filter_add(struct ocelot * ocelot,struct ocelot_vcap_filter * filter,struct netlink_ext_ack * extack) ocelot_vcap_filter_add() argument 1223 ocelot_vcap_block_remove_filter(struct ocelot * ocelot,struct ocelot_vcap_block * block,struct ocelot_vcap_filter * filter) ocelot_vcap_block_remove_filter() argument 1240 ocelot_vcap_filter_del(struct ocelot * ocelot,struct ocelot_vcap_filter * filter) ocelot_vcap_filter_del() argument 1278 ocelot_vcap_filter_replace(struct ocelot * ocelot,struct ocelot_vcap_filter * filter) ocelot_vcap_filter_replace() argument 1294 ocelot_vcap_filter_stats_update(struct ocelot * ocelot,struct ocelot_vcap_filter * filter) ocelot_vcap_filter_stats_update() argument 1315 ocelot_vcap_init_one(struct ocelot * ocelot,const struct vcap_props * vcap) ocelot_vcap_init_one() argument 1334 ocelot_vcap_detect_constants(struct ocelot * ocelot,struct vcap_props * vcap) ocelot_vcap_detect_constants() argument 1403 ocelot_vcap_init(struct ocelot * ocelot) ocelot_vcap_init() argument [all...] |
H A D | ocelot_flower.c | 2 /* Microsemi Ocelot Switch driver 39 * offload support in Ocelot in ocelot_chain_to_block() 65 * offload support in Ocelot in ocelot_chain_to_lookup() 81 * offload support in Ocelot in ocelot_chain_to_pag() 145 ocelot_find_vcap_filter_that_points_at(struct ocelot *ocelot, int chain) in ocelot_find_vcap_filter_that_points_at() argument 156 block = &ocelot->block[VCAP_IS1]; in ocelot_find_vcap_filter_that_points_at() 164 list_for_each_entry(filter, &ocelot->dummy_rules, list) in ocelot_find_vcap_filter_that_points_at() 172 ocelot_flower_parse_ingress_vlan_modify(struct ocelot *ocelot, in argument 232 ocelot_flower_parse_egress_port(struct ocelot * ocelot,struct flow_cls_offload * f,const struct flow_action_entry * a,bool mirror,struct netlink_ext_ack * extack) ocelot_flower_parse_egress_port() argument 257 ocelot_flower_parse_action(struct ocelot * ocelot,int port,bool ingress,struct flow_cls_offload * f,struct ocelot_vcap_filter * filter) ocelot_flower_parse_action() argument 550 ocelot_flower_parse_indev(struct ocelot * ocelot,int port,struct flow_cls_offload * f,struct ocelot_vcap_filter * filter) ocelot_flower_parse_indev() argument 602 ocelot_flower_parse_key(struct ocelot * ocelot,int port,bool ingress,struct flow_cls_offload * f,struct ocelot_vcap_filter * filter) ocelot_flower_parse_key() argument 809 ocelot_flower_parse(struct ocelot * ocelot,int port,bool ingress,struct flow_cls_offload * f,struct ocelot_vcap_filter * filter) ocelot_flower_parse() argument 831 ocelot_vcap_filter_create(struct ocelot * ocelot,int port,bool ingress,struct flow_cls_offload * f) ocelot_vcap_filter_create() argument 853 ocelot_vcap_dummy_filter_add(struct ocelot * ocelot,struct ocelot_vcap_filter * filter) ocelot_vcap_dummy_filter_add() argument 861 ocelot_vcap_dummy_filter_del(struct ocelot * ocelot,struct ocelot_vcap_filter * filter) ocelot_vcap_dummy_filter_del() argument 895 ocelot_cls_flower_replace(struct ocelot * ocelot,int port,struct flow_cls_offload * f,bool ingress) ocelot_cls_flower_replace() argument 964 ocelot_cls_flower_destroy(struct ocelot * ocelot,int port,struct flow_cls_offload * f,bool ingress) ocelot_cls_flower_destroy() argument 1001 ocelot_cls_flower_stats(struct ocelot * ocelot,int port,struct flow_cls_offload * f,bool ingress) ocelot_cls_flower_stats() argument [all...] |
H A D | ocelot_police.c | 2 /* Microsemi Ocelot Switch driver 7 #include <soc/mscc/ocelot.h> 21 #define POL_ORDER 0x1d3 /* Ocelot policer order: Serial (QoS -> Port -> VCAP) */ 23 int qos_policer_conf_set(struct ocelot *ocelot, u32 pol_ix, in qos_policer_conf_set() argument 105 dev_err(ocelot->dev, in qos_policer_conf_set() 112 dev_err(ocelot->dev, in qos_policer_conf_set() 119 dev_err(ocelot->dev, in qos_policer_conf_set() 126 dev_err(ocelot->dev, in qos_policer_conf_set() 138 ocelot_write_gix(ocelot, valu in qos_policer_conf_set() 202 ocelot_port_policer_add(struct ocelot * ocelot,int port,struct ocelot_policer * pol) ocelot_port_policer_add() argument 233 ocelot_port_policer_del(struct ocelot * ocelot,int port) ocelot_port_policer_del() argument [all...] |
H A D | ocelot_fdma.h | 10 #include "ocelot.h" 144 * @ocelot: Back-pointer to ocelot struct 154 struct ocelot *ocelot; member 157 void ocelot_fdma_init(struct platform_device *pdev, struct ocelot *ocelot); 158 void ocelot_fdma_start(struct ocelot *ocelot); 159 void ocelot_fdma_deinit(struct ocelot *ocelo [all...] |
H A D | ocelot_vcap.h | 2 /* Microsemi Ocelot Switch driver 9 #include "ocelot.h" 15 int ocelot_vcap_filter_stats_update(struct ocelot *ocelot, 18 int ocelot_vcap_init(struct ocelot *ocelot);
|
/linux/drivers/net/dsa/ocelot/ |
H A D | felix.c | 5 * register-compatible with Ocelot and that perform I/O to their host CPU 15 #include <soc/mscc/ocelot.h> 17 #include <linux/dsa/ocelot.h> 28 /* Translate the DSA database API into the ocelot switch library API, 48 struct ocelot *ocelot = ds->priv; in felix_cpu_port_for_conduit() local 53 mutex_lock(&ocelot->fwd_domain_lock); in felix_cpu_port_for_conduit() 54 lag = ocelot_bond_get_id(ocelot, conduit); in felix_cpu_port_for_conduit() 55 mutex_unlock(&ocelot->fwd_domain_lock); in felix_cpu_port_for_conduit() 106 struct ocelot *ocelo in felix_tag_8021q_vlan_add_rx() local 155 struct ocelot *ocelot = ds->priv; felix_tag_8021q_vlan_del_rx() local 177 struct ocelot *ocelot = ds->priv; felix_tag_8021q_vlan_add_tx() local 244 struct ocelot *ocelot = ds->priv; felix_tag_8021q_vlan_del_tx() local 338 struct ocelot *ocelot = ds->priv; felix_update_tag_8021q_rx_rules() local 384 struct ocelot *ocelot = ds->priv; felix_update_trapping_destinations() local 447 felix_npi_port_init(struct ocelot * ocelot,int port) felix_npi_port_init() argument 465 felix_npi_port_deinit(struct ocelot * ocelot,int port) felix_npi_port_deinit() argument 487 struct ocelot *ocelot = ds->priv; felix_tag_npi_setup() local 508 struct ocelot *ocelot = ds->priv; felix_tag_npi_teardown() local 515 struct ocelot *ocelot = ds->priv; felix_tag_npi_get_host_fwd_mask() local 525 struct ocelot *ocelot = ds->priv; felix_tag_npi_change_conduit() local 570 struct ocelot *ocelot = ds->priv; felix_tag_8021q_setup() local 626 struct ocelot *ocelot = ds->priv; felix_tag_8021q_teardown() local 659 struct ocelot *ocelot = ds->priv; felix_tag_8021q_change_conduit() local 677 struct ocelot *ocelot = ds->priv; felix_set_host_flood() local 697 struct ocelot *ocelot = ds->priv; felix_migrate_host_flood() local 715 struct ocelot *ocelot = ds->priv; felix_migrate_mdbs() local 759 struct ocelot *ocelot = ds->priv; felix_change_tag_protocol() local 806 struct ocelot *ocelot = ds->priv; felix_get_tag_protocol() local 815 struct ocelot *ocelot = ds->priv; felix_port_set_host_flood() local 838 struct ocelot *ocelot = ds->priv; felix_port_change_conduit() local 847 struct ocelot *ocelot = ds->priv; felix_set_ageing_time() local 856 struct ocelot *ocelot = ds->priv; felix_port_fast_age() local 868 struct ocelot *ocelot = ds->priv; felix_fdb_dump() local 879 struct ocelot *ocelot = ds->priv; felix_fdb_add() local 900 struct ocelot *ocelot = ds->priv; felix_fdb_del() local 920 struct ocelot *ocelot = ds->priv; felix_lag_fdb_add() local 933 struct ocelot *ocelot = ds->priv; felix_lag_fdb_del() local 946 struct ocelot *ocelot = ds->priv; felix_mdb_add() local 966 struct ocelot *ocelot = ds->priv; felix_mdb_del() local 984 struct ocelot *ocelot = ds->priv; felix_bridge_stp_state_set() local 993 struct ocelot *ocelot = ds->priv; felix_pre_bridge_flags() local 1002 struct ocelot *ocelot = ds->priv; felix_bridge_flags() local 1016 struct ocelot *ocelot = ds->priv; felix_bridge_join() local 1025 struct ocelot *ocelot = ds->priv; felix_bridge_leave() local 1035 struct ocelot *ocelot = ds->priv; felix_lag_join() local 1052 struct ocelot *ocelot = ds->priv; felix_lag_leave() local 1066 struct ocelot *ocelot = ds->priv; felix_lag_change() local 1077 struct ocelot *ocelot = ds->priv; felix_vlan_prepare() local 1100 struct ocelot *ocelot = ds->priv; felix_vlan_filtering() local 1124 struct ocelot *ocelot = ds->priv; felix_vlan_add() local 1140 struct ocelot *ocelot = ds->priv; felix_vlan_del() local 1148 struct ocelot *ocelot = ds->priv; felix_phylink_get_caps() local 1163 struct ocelot *ocelot = dp->ds->priv; felix_phylink_mac_config() local 1178 struct ocelot *ocelot = dp->ds->priv; felix_phylink_mac_select_pcs() local 1196 struct ocelot *ocelot = dp->ds->priv; felix_phylink_mac_link_down() local 1214 struct ocelot *ocelot = dp->ds->priv; felix_phylink_mac_link_up() local 1232 struct ocelot *ocelot = ds->priv; felix_port_enable() local 1249 felix_port_qos_map_init(struct ocelot * ocelot,int port) felix_port_qos_map_init() argument 1273 struct ocelot *ocelot = ds->priv; felix_get_stats64() local 1281 struct ocelot *ocelot = ds->priv; felix_get_pause_stats() local 1290 struct ocelot *ocelot = ds->priv; felix_get_rmon_stats() local 1298 struct ocelot *ocelot = ds->priv; felix_get_eth_ctrl_stats() local 1306 struct ocelot *ocelot = ds->priv; felix_get_eth_mac_stats() local 1314 struct ocelot *ocelot = ds->priv; felix_get_eth_phy_stats() local 1322 struct ocelot *ocelot = ds->priv; felix_get_ts_stats() local 1330 struct ocelot *ocelot = ds->priv; felix_get_strings() local 1337 struct ocelot *ocelot = ds->priv; felix_get_ethtool_stats() local 1344 struct ocelot *ocelot = ds->priv; felix_get_sset_count() local 1352 struct ocelot *ocelot = ds->priv; felix_get_ts_info() local 1447 struct ocelot *ocelot = &felix->ocelot; felix_request_regmap_by_name() local 1497 struct ocelot *ocelot = &felix->ocelot; felix_init_structs() local 1591 ocelot_port_purge_txtstamp_skb(struct ocelot * ocelot,int port,struct sk_buff * skb) ocelot_port_purge_txtstamp_skb() argument 1627 struct ocelot *ocelot = ds->priv; felix_port_deferred_xmit() local 1677 struct ocelot *ocelot = ds->priv; felix_setup() local 1756 struct ocelot *ocelot = ds->priv; felix_teardown() local 1779 struct ocelot *ocelot = ds->priv; felix_hwtstamp_get() local 1790 struct ocelot *ocelot = ds->priv; felix_hwtstamp_set() local 1804 felix_check_xtr_pkt(struct ocelot * ocelot) felix_check_xtr_pkt() argument 1863 struct ocelot *ocelot = ds->priv; felix_rxtstamp() local 1908 struct ocelot *ocelot = ds->priv; felix_txtstamp() local 1927 struct ocelot *ocelot = ds->priv; felix_change_mtu() local 1944 struct ocelot *ocelot = ds->priv; felix_get_max_mtu() local 1952 struct ocelot *ocelot = ds->priv; felix_cls_flower_add() local 1969 struct ocelot *ocelot = ds->priv; felix_cls_flower_del() local 1977 struct ocelot *ocelot = ds->priv; felix_cls_flower_stats() local 1985 struct ocelot *ocelot = ds->priv; felix_port_policer_add() local 1996 struct ocelot *ocelot = ds->priv; felix_port_policer_del() local 2005 struct ocelot *ocelot = ds->priv; felix_port_mirror_add() local 2014 struct ocelot *ocelot = ds->priv; felix_port_mirror_del() local 2023 struct ocelot *ocelot = ds->priv; felix_port_setup_tc() local 2036 struct ocelot *ocelot = ds->priv; felix_sb_pool_get() local 2046 struct ocelot *ocelot = ds->priv; felix_sb_pool_set() local 2056 struct ocelot *ocelot = ds->priv; felix_sb_port_pool_get() local 2066 struct ocelot *ocelot = ds->priv; felix_sb_port_pool_set() local 2077 struct ocelot *ocelot = ds->priv; felix_sb_tc_pool_bind_get() local 2090 struct ocelot *ocelot = ds->priv; felix_sb_tc_pool_bind_set() local 2100 struct ocelot *ocelot = ds->priv; felix_sb_occ_snapshot() local 2108 struct ocelot *ocelot = ds->priv; felix_sb_occ_max_clear() local 2117 struct ocelot *ocelot = ds->priv; felix_sb_occ_port_pool_get() local 2128 struct ocelot *ocelot = ds->priv; felix_sb_occ_tc_port_bind_get() local 2137 struct ocelot *ocelot = ds->priv; felix_mrp_add() local 2145 struct ocelot *ocelot = ds->priv; felix_mrp_del() local 2154 struct ocelot *ocelot = ds->priv; felix_mrp_add_ring_role() local 2163 struct ocelot *ocelot = ds->priv; felix_mrp_del_ring_role() local 2170 struct ocelot *ocelot = ds->priv; felix_port_get_default_prio() local 2178 struct ocelot *ocelot = ds->priv; felix_port_set_default_prio() local 2185 struct ocelot *ocelot = ds->priv; felix_port_get_dscp_prio() local 2193 struct ocelot *ocelot = ds->priv; felix_port_add_dscp_prio() local 2201 struct ocelot *ocelot = ds->priv; felix_port_del_dscp_prio() local 2209 struct ocelot *ocelot = ds->priv; felix_get_mm() local 2218 struct ocelot *ocelot = ds->priv; felix_set_mm() local 2226 struct ocelot *ocelot = ds->priv; felix_get_mm_stats() local 2326 struct ocelot *ocelot; felix_register_switch() local 2366 felix_port_to_netdev(struct ocelot * ocelot,int port) felix_port_to_netdev() argument [all...] |
H A D | felix_vsc9959.c | 13 #include <soc/mscc/ocelot.h> 14 #include <linux/dsa/ocelot.h> 879 static int vsc9959_gcb_soft_rst_status(struct ocelot *ocelot) in vsc9959_gcb_soft_rst_status() argument 883 ocelot_field_read(ocelot, GCB_SOFT_RST_SWC_RST, &val); in vsc9959_gcb_soft_rst_status() 888 static int vsc9959_sys_ram_init_status(struct ocelot *ocelot) in vsc9959_sys_ram_init_status() argument 890 return ocelot_read(ocelot, SYS_RAM_INIT); in vsc9959_sys_ram_init_status() 896 static int vsc9959_reset(struct ocelot *ocelot) in vsc9959_reset() argument 956 vsc9959_mdio_bus_alloc(struct ocelot * ocelot) vsc9959_mdio_bus_alloc() argument 1044 vsc9959_mdio_bus_free(struct ocelot * ocelot) vsc9959_mdio_bus_free() argument 1148 vsc9959_port_qmaxsdu_set(struct ocelot * ocelot,int port,int tc,u32 max_sdu) vsc9959_port_qmaxsdu_set() argument 1187 vsc9959_port_qmaxsdu_get(struct ocelot * ocelot,int port,int tc) vsc9959_port_qmaxsdu_get() argument 1217 vsc9959_tas_guard_bands_update(struct ocelot * ocelot,int port) vsc9959_tas_guard_bands_update() argument 1348 vsc9959_sched_speed_set(struct ocelot * ocelot,int port,u32 speed) vsc9959_sched_speed_set() argument 1385 vsc9959_new_base_time(struct ocelot * ocelot,ktime_t base_time,u64 cycle_time,struct timespec64 * new_base_ts) vsc9959_new_base_time() argument 1407 vsc9959_tas_read_cfg_status(struct ocelot * ocelot) vsc9959_tas_read_cfg_status() argument 1412 vsc9959_tas_gcl_set(struct ocelot * ocelot,const u32 gcl_ix,struct tc_taprio_sched_entry * entry) vsc9959_tas_gcl_set() argument 1422 vsc9959_qos_port_tas_set(struct ocelot * ocelot,int port,struct tc_taprio_qopt_offload * taprio) vsc9959_qos_port_tas_set() argument 1541 vsc9959_tas_clock_adjust(struct ocelot * ocelot) vsc9959_tas_clock_adjust() argument 1596 struct ocelot *ocelot = ds->priv; vsc9959_qos_port_cbs_set() local 1661 vsc9959_qos_port_mqprio(struct ocelot * ocelot,int port,struct tc_mqprio_qopt_offload * mqprio) vsc9959_qos_port_mqprio() argument 1677 struct ocelot *ocelot = ds->priv; vsc9959_port_setup_tc() local 1804 vsc9959_mact_stream_set(struct ocelot * ocelot,struct felix_stream * stream,struct netlink_ext_ack * extack) vsc9959_mact_stream_set() argument 1853 vsc9959_stream_table_add(struct ocelot * ocelot,struct list_head * stream_list,struct felix_stream * stream,struct netlink_ext_ack * extack) vsc9959_stream_table_add() argument 1890 vsc9959_stream_table_del(struct ocelot * ocelot,struct felix_stream * stream) vsc9959_stream_table_del() argument 1900 vsc9959_sfi_access_status(struct ocelot * ocelot) vsc9959_sfi_access_status() argument 1905 vsc9959_psfp_sfi_set(struct ocelot * ocelot,struct felix_stream_filter * sfi) vsc9959_psfp_sfi_set() argument 1949 vsc9959_psfp_sfidmask_set(struct ocelot * ocelot,u32 sfid,int ports) vsc9959_psfp_sfidmask_set() argument 1973 vsc9959_psfp_sfi_list_add(struct ocelot * ocelot,struct felix_stream_filter * sfi,struct list_head * pos) vsc9959_psfp_sfi_list_add() argument 1999 vsc9959_psfp_sfi_table_add(struct ocelot * ocelot,struct felix_stream_filter * sfi) vsc9959_psfp_sfi_table_add() argument 2032 vsc9959_psfp_sfi_table_add2(struct ocelot * ocelot,struct felix_stream_filter * sfi,struct felix_stream_filter * sfi2) vsc9959_psfp_sfi_table_add2() argument 2077 vsc9959_psfp_sfi_table_del(struct ocelot * ocelot,u32 index) vsc9959_psfp_sfi_table_del() argument 2113 vsc9959_sgi_cfg_status(struct ocelot * ocelot) vsc9959_sgi_cfg_status() argument 2118 vsc9959_psfp_sgi_set(struct ocelot * ocelot,struct felix_stream_gate * sgi) vsc9959_psfp_sgi_set() argument 2188 vsc9959_psfp_sgi_table_add(struct ocelot * ocelot,struct felix_stream_gate * sgi) vsc9959_psfp_sgi_table_add() argument 2220 vsc9959_psfp_sgi_table_del(struct ocelot * ocelot,u32 index) vsc9959_psfp_sgi_table_del() argument 2244 vsc9959_psfp_filter_add(struct ocelot * ocelot,int port,struct flow_cls_offload * f) vsc9959_psfp_filter_add() argument 2397 vsc9959_psfp_filter_del(struct ocelot * ocelot,struct flow_cls_offload * f) vsc9959_psfp_filter_del() argument 2447 vsc9959_update_sfid_stats(struct ocelot * ocelot,struct felix_stream_filter * sfi) vsc9959_update_sfid_stats() argument 2478 vsc9959_update_stats(struct ocelot * ocelot) vsc9959_update_stats() argument 2491 vsc9959_psfp_stats_get(struct ocelot * ocelot,struct flow_cls_offload * f,struct flow_stats * stats) vsc9959_psfp_stats_get() argument 2523 vsc9959_psfp_init(struct ocelot * ocelot) vsc9959_psfp_init() argument 2542 vsc9959_cut_through_fwd(struct ocelot * ocelot) vsc9959_cut_through_fwd() argument 2624 struct ocelot *ocelot = data; vsc9959_irq_handler() local 2632 vsc9959_request_irq(struct ocelot * ocelot) vsc9959_request_irq() argument [all...] |
H A D | felix.h | 7 #define ocelot_to_felix(o) container_of((o), struct felix, ocelot) 43 /* Some Ocelot switches are integrated into the SoC without the 55 int (*mdio_bus_alloc)(struct ocelot *ocelot); 56 void (*mdio_bus_free)(struct ocelot *ocelot); 59 void (*port_sched_speed_set)(struct ocelot *ocelot, int port, 61 void (*phylink_mac_config)(struct ocelot *ocelot, in 89 struct ocelot ocelot; global() member [all...] |
/linux/drivers/mfd/ |
H A D | ocelot-core.c | 3 * Core driver for the Ocelot chip family. 22 #include <linux/mfd/ocelot.h> 27 #include <soc/mscc/ocelot.h> 29 #include "ocelot.h" 164 .name = "ocelot-pinctrl", 165 .of_compatible = "mscc,ocelot-pinctrl", 169 .name = "ocelot-sgpio", 170 .of_compatible = "mscc,ocelot-sgpio", 174 .name = "ocelot-miim0", 175 .of_compatible = "mscc,ocelot [all...] |
/linux/include/soc/mscc/ |
H A D | ocelot_vcap.h | 2 * Microsemi Ocelot Switch driver 9 #include <soc/mscc/ocelot.h> 14 #define OCELOT_VCAP_ES0_TAG_8021Q_RXVLAN(ocelot, port, upstream) ((upstream) << 16 | (port)) argument 15 #define OCELOT_VCAP_IS1_TAG_8021Q_TXVLAN(ocelot, port) (port) argument 16 #define OCELOT_VCAP_IS1_VLAN_RECLASSIFY(ocelot, port) ((ocelot)->num_phys_ports + (port)) argument 17 #define OCELOT_VCAP_IS2_TAG_8021Q_TXVLAN(ocelot, port) (port) argument 18 #define OCELOT_VCAP_IS2_MRP_REDIRECT(ocelot, port) ((ocelot)->num_phys_ports + (port)) argument 19 #define OCELOT_VCAP_IS2_MRP_TRAP(ocelot) ((ocelo argument 20 OCELOT_VCAP_IS2_L2_PTP_TRAP(ocelot) global() argument 21 OCELOT_VCAP_IS2_IPV4_GEN_PTP_TRAP(ocelot) global() argument 22 OCELOT_VCAP_IS2_IPV4_EV_PTP_TRAP(ocelot) global() argument 23 OCELOT_VCAP_IS2_IPV6_GEN_PTP_TRAP(ocelot) global() argument 24 OCELOT_VCAP_IS2_IPV6_EV_PTP_TRAP(ocelot) global() argument [all...] |
H A D | ocelot_ptp.h | 3 * Microsemi Ocelot Switch driver 14 #include <soc/mscc/ocelot.h> 57 int ocelot_init_timestamp(struct ocelot *ocelot, 59 int ocelot_deinit_timestamp(struct ocelot *ocelot);
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A D | mscc,ocelot.yaml | 4 $id: http://devicetree.org/schemas/mfd/mscc,ocelot.yaml# 7 title: Ocelot Externally-Controlled Ethernet Switch 13 The Ocelot ethernet switch family contains chips that have an internal CPU 42 $ref: /schemas/pinctrl/mscc,ocelot-pinctrl.yaml 50 - mscc,ocelot-sgpio 58 - mscc,ocelot-miim 91 compatible = "mscc,ocelot-miim"; 102 compatible = "mscc,ocelot-miim"; 115 compatible = "mscc,ocelot-pinctrl"; 133 compatible = "mscc,ocelot [all...] |
/linux/Documentation/devicetree/bindings/mips/ |
H A D | mscc.txt | 7 - compatible: "mscc,ocelot", "mscc,luton", "mscc,serval" or "mscc,jr2" 19 - compatible: Should be "mscc,ocelot-chip-regs", "simple-mfd", "syscon" 24 compatible = "mscc,ocelot-chip-regs", "simple-mfd", "syscon"; 35 - compatible: Should be "mscc,ocelot-hsio", "syscon", "simple-mfd" 40 compatible = "mscc,ocelot-hsio", "syscon", "simple-mfd";
|
/linux/arch/mips/boot/dts/mscc/ |
H A D | ocelot.dtsi | 7 compatible = "mscc,ocelot"; 55 compatible = "mscc,ocelot-cpu-syscon", "syscon"; 60 compatible = "mscc,ocelot-icpu-intr"; 82 compatible = "mscc,ocelot-i2c", "snps,designware-i2c"; 108 compatible = "mscc,ocelot-spi", "snps,dw-apb-ssi"; 200 compatible = "mscc,ocelot-chip-reset"; 205 compatible = "mscc,ocelot-pinctrl"; 239 compatible = "mscc,ocelot-miim"; 261 compatible = "mscc,ocelot-miim"; 270 compatible = "mscc,ocelot [all...] |
/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | mscc,ocelot-icpu-intr.yaml | 4 $id: http://devicetree.org/schemas/interrupt-controller/mscc,ocelot-icpu-intr.yaml# 7 title: Microsemi Ocelot SoC ICPU Interrupt Controller 16 the Microsemi Ocelot interrupt controller that is part of the 26 - mscc,ocelot-icpu-intr 56 compatible = "mscc,ocelot-icpu-intr";
|