/linux-6.12.1/drivers/net/ethernet/microchip/sparx5/ |
D | sparx5_sdlb.c | 23 int sparx5_sdlb_clk_hz_get(struct sparx5 *sparx5) in sparx5_sdlb_clk_hz_get() 37 static int sparx5_sdlb_pup_interval_get(struct sparx5 *sparx5, u32 max_token, in sparx5_sdlb_pup_interval_get() 47 int sparx5_sdlb_pup_token_get(struct sparx5 *sparx5, u32 pup_interval, u64 rate) in sparx5_sdlb_pup_token_get() 59 static void sparx5_sdlb_group_disable(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_disable() 66 static void sparx5_sdlb_group_enable(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_enable() 73 static u32 sparx5_sdlb_group_get_first(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_get_first() 82 static u32 sparx5_sdlb_group_get_next(struct sparx5 *sparx5, u32 group, in sparx5_sdlb_group_get_next() 92 static bool sparx5_sdlb_group_is_first(struct sparx5 *sparx5, u32 group, in sparx5_sdlb_group_is_first() 98 static bool sparx5_sdlb_group_is_last(struct sparx5 *sparx5, u32 group, in sparx5_sdlb_group_is_last() 104 static bool sparx5_sdlb_group_is_empty(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_is_empty() [all …]
|
D | sparx5_fdma.c | 39 struct sparx5 *sparx5 = fdma->priv; in sparx5_fdma_rx_dataptr_cb() local 54 static void sparx5_fdma_rx_activate(struct sparx5 *sparx5, struct sparx5_rx *rx) in sparx5_fdma_rx_activate() 88 static void sparx5_fdma_rx_deactivate(struct sparx5 *sparx5, struct sparx5_rx *rx) in sparx5_fdma_rx_deactivate() 105 static void sparx5_fdma_tx_activate(struct sparx5 *sparx5, struct sparx5_tx *tx) in sparx5_fdma_tx_activate() 129 static void sparx5_fdma_tx_deactivate(struct sparx5 *sparx5, struct sparx5_tx *tx) in sparx5_fdma_tx_deactivate() 136 static void sparx5_fdma_reload(struct sparx5 *sparx5, struct fdma *fdma) in sparx5_fdma_reload() 142 static bool sparx5_fdma_rx_get_frame(struct sparx5 *sparx5, struct sparx5_rx *rx) in sparx5_fdma_rx_get_frame() 187 struct sparx5 *sparx5 = container_of(rx, struct sparx5, rx); in sparx5_fdma_napi_callback() local 214 int sparx5_fdma_xmit(struct sparx5 *sparx5, u32 *ifh, struct sk_buff *skb) in sparx5_fdma_xmit() 248 static int sparx5_fdma_rx_alloc(struct sparx5 *sparx5) in sparx5_fdma_rx_alloc() [all …]
|
D | sparx5_psfp.c | 55 u32 sparx5_psfp_isdx_get_sf(struct sparx5 *sparx5, u32 isdx) in sparx5_psfp_isdx_get_sf() 61 u32 sparx5_psfp_isdx_get_fm(struct sparx5 *sparx5, u32 isdx) in sparx5_psfp_isdx_get_fm() 67 u32 sparx5_psfp_sf_get_sg(struct sparx5 *sparx5, u32 sfid) in sparx5_psfp_sf_get_sg() 73 void sparx5_isdx_conf_set(struct sparx5 *sparx5, u32 isdx, u32 sfid, u32 fmid) in sparx5_isdx_conf_set() 88 static int sparx5_psfp_sgid_get_status(struct sparx5 *sparx5) in sparx5_psfp_sgid_get_status() 93 static int sparx5_psfp_sgid_wait_for_completion(struct sparx5 *sparx5) in sparx5_psfp_sgid_wait_for_completion() 103 static void sparx5_psfp_sg_config_change(struct sparx5 *sparx5, u32 id) in sparx5_psfp_sg_config_change() 117 static void sparx5_psfp_sf_set(struct sparx5 *sparx5, u32 id, in sparx5_psfp_sf_set() 131 static int sparx5_psfp_sg_set(struct sparx5 *sparx5, u32 id, in sparx5_psfp_sg_set() 187 static int sparx5_sdlb_conf_set(struct sparx5 *sparx5, in sparx5_sdlb_conf_set() [all …]
|
D | sparx5_mirror.c | 25 static u64 sparx5_mirror_port_get(struct sparx5 *sparx5, u32 idx) in sparx5_mirror_port_get() 32 static void sparx5_mirror_port_add(struct sparx5 *sparx5, u32 idx, u32 portno) in sparx5_mirror_port_add() 46 static void sparx5_mirror_port_del(struct sparx5 *sparx5, u32 idx, u32 portno) in sparx5_mirror_port_del() 60 static bool sparx5_mirror_contains(struct sparx5 *sparx5, u32 idx, u32 portno) in sparx5_mirror_contains() 66 static bool sparx5_mirror_is_empty(struct sparx5 *sparx5, u32 idx) in sparx5_mirror_is_empty() 72 static u32 sparx5_mirror_dir_get(struct sparx5 *sparx5, u32 idx) in sparx5_mirror_dir_get() 80 static void sparx5_mirror_dir_set(struct sparx5 *sparx5, u32 idx, u32 dir) in sparx5_mirror_dir_set() 88 static void sparx5_mirror_monitor_set(struct sparx5 *sparx5, u32 idx, in sparx5_mirror_monitor_set() 97 static u32 sparx5_mirror_monitor_get(struct sparx5 *sparx5, u32 idx) in sparx5_mirror_monitor_get() 106 static bool sparx5_mirror_has_monitor(struct sparx5 *sparx5, u32 idx, in sparx5_mirror_has_monitor() [all …]
|
D | sparx5_port.c | 78 static int sparx5_get_dev2g5_status(struct sparx5 *sparx5, in sparx5_get_dev2g5_status() 121 static int sparx5_get_sfi_status(struct sparx5 *sparx5, in sparx5_get_sfi_status() 160 int sparx5_get_port_status(struct sparx5 *sparx5, in sparx5_get_port_status() 212 static int sparx5_port_verify_speed(struct sparx5 *sparx5, in sparx5_port_verify_speed() 264 static bool sparx5_dev_change(struct sparx5 *sparx5, in sparx5_dev_change() 272 static int sparx5_port_flush_poll(struct sparx5 *sparx5, u32 portno) in sparx5_port_flush_poll() 316 static int sparx5_port_disable(struct sparx5 *sparx5, struct sparx5_port *port, bool high_spd_dev) in sparx5_port_disable() 457 static int sparx5_port_fifo_sz(struct sparx5 *sparx5, in sparx5_port_fifo_sz() 516 static int sparx5_port_mux_set(struct sparx5 *sparx5, in sparx5_port_mux_set() 552 static int sparx5_port_max_tags_set(struct sparx5 *sparx5, in sparx5_port_max_tags_set() [all …]
|
D | sparx5_mactable.c | 44 static int sparx5_mact_get_status(struct sparx5 *sparx5) in sparx5_mact_get_status() 49 static int sparx5_mact_wait_for_completion(struct sparx5 *sparx5) in sparx5_mact_wait_for_completion() 59 static void sparx5_mact_select(struct sparx5 *sparx5, in sparx5_mact_select() 80 int sparx5_mact_learn(struct sparx5 *sparx5, int pgid, in sparx5_mact_learn() 121 struct sparx5 *sparx5 = port->sparx5; in sparx5_mc_unsync() local 129 struct sparx5 *sparx5 = port->sparx5; in sparx5_mc_sync() local 134 static int sparx5_mact_get(struct sparx5 *sparx5, in sparx5_mact_get() 159 bool sparx5_mact_getnext(struct sparx5 *sparx5, in sparx5_mact_getnext() 189 int sparx5_mact_find(struct sparx5 *sparx5, in sparx5_mact_find() 218 int sparx5_mact_forget(struct sparx5 *sparx5, in sparx5_mact_forget() [all …]
|
D | sparx5_main.h | 147 struct sparx5 *sparx5; member 188 struct sparx5 *sparx5; member 229 struct sparx5 { struct 238 struct sparx5_port *ports[SPX5_PORTS]; argument 239 enum sparx5_core_clockfreq coreclock; argument 241 u32 num_stats; 242 u32 num_ethtool_stats; 243 const char * const *stats_layout; 244 u64 *stats; 246 struct mutex queue_stats_lock; [all …]
|
D | sparx5_qos.c | 24 void sparx5_new_base_time(struct sparx5 *sparx5, const u32 cycle_time, in sparx5_new_base_time() 79 static u32 sparx5_lg_get_leak_time(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_get_leak_time() 87 static void sparx5_lg_set_leak_time(struct sparx5 *sparx5, u32 layer, u32 group, in sparx5_lg_set_leak_time() 94 static u32 sparx5_lg_get_first(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_get_first() 102 static u32 sparx5_lg_get_next(struct sparx5 *sparx5, u32 layer, u32 group, in sparx5_lg_get_next() 112 static u32 sparx5_lg_get_last(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_get_last() 127 static bool sparx5_lg_is_last(struct sparx5 *sparx5, u32 layer, u32 group, in sparx5_lg_is_last() 133 static bool sparx5_lg_is_first(struct sparx5 *sparx5, u32 layer, u32 group, in sparx5_lg_is_first() 139 static bool sparx5_lg_is_empty(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_is_empty() 144 static bool sparx5_lg_is_singular(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_is_singular() [all …]
|
D | sparx5_ptp.c | 27 static u64 sparx5_ptp_get_1ppm(struct sparx5 *sparx5) in sparx5_ptp_get_1ppm() 55 static u64 sparx5_ptp_get_nominal_value(struct sparx5 *sparx5) in sparx5_ptp_get_nominal_value() 81 struct sparx5 *sparx5 = port->sparx5; in sparx5_ptp_hwtstamp_set() local 141 struct sparx5 *sparx5 = port->sparx5; in sparx5_ptp_hwtstamp_get() local 223 struct sparx5 *sparx5 = port->sparx5; in sparx5_ptp_txtstamp_request() local 262 struct sparx5 *sparx5 = port->sparx5; in sparx5_ptp_txtstamp_release() local 272 static void sparx5_get_hwtimestamp(struct sparx5 *sparx5, in sparx5_get_hwtimestamp() 305 struct sparx5 *sparx5 = args; in sparx5_ptp_irq_handler() local 394 struct sparx5 *sparx5 = phc->sparx5; in sparx5_ptp_adjfine() local 442 struct sparx5 *sparx5 = phc->sparx5; in sparx5_ptp_settime64() local [all …]
|
D | sparx5_vcap_impl.c | 168 static void sparx5_vcap_type_err(struct sparx5 *sparx5, in sparx5_vcap_type_err() 177 static void sparx5_vcap_wait_super_update(struct sparx5 *sparx5) in sparx5_vcap_wait_super_update() 187 static void sparx5_vcap_wait_es0_update(struct sparx5 *sparx5) in sparx5_vcap_wait_es0_update() 197 static void sparx5_vcap_wait_es2_update(struct sparx5 *sparx5) in sparx5_vcap_wait_es2_update() 207 static void _sparx5_vcap_range_init(struct sparx5 *sparx5, in _sparx5_vcap_range_init() 264 static void sparx5_vcap_block_init(struct sparx5 *sparx5, in sparx5_vcap_block_init() 427 struct sparx5 *sparx5 = port->sparx5; in sparx5_vcap_is0_get_port_keysets() local 481 struct sparx5 *sparx5 = port->sparx5; in sparx5_vcap_is2_get_port_keysets() local 610 struct sparx5 *sparx5 = port->sparx5; in sparx5_vcap_es0_get_port_keysets() local 635 struct sparx5 *sparx5 = port->sparx5; in sparx5_vcap_es2_get_port_keysets() local [all …]
|
D | sparx5_vlan.c | 10 static int sparx5_vlant_set_mask(struct sparx5 *sparx5, u16 vid) in sparx5_vlant_set_mask() 25 void sparx5_vlan_init(struct sparx5 *sparx5) in sparx5_vlan_init() 42 void sparx5_vlan_port_setup(struct sparx5 *sparx5, int portno) in sparx5_vlan_port_setup() 58 struct sparx5 *sparx5 = port->sparx5; in sparx5_vlan_vid_add() local 89 struct sparx5 *sparx5 = port->sparx5; in sparx5_vlan_vid_del() local 120 struct sparx5 *sparx5 = port->sparx5; in sparx5_pgid_update_mask() local 155 void sparx5_update_fwd(struct sparx5 *sparx5) in sparx5_update_fwd() 199 void sparx5_vlan_port_apply(struct sparx5 *sparx5, in sparx5_vlan_port_apply()
|
D | sparx5_main.c | 217 static int sparx5_create_targets(struct sparx5 *sparx5) in sparx5_create_targets() 258 static int sparx5_create_port(struct sparx5 *sparx5, in sparx5_create_port() 386 static int sparx5_init_switchcore(struct sparx5 *sparx5) in sparx5_init_switchcore() 419 static int sparx5_init_coreclock(struct sparx5 *sparx5) in sparx5_init_coreclock() 548 static int sparx5_qlim_set(struct sparx5 *sparx5) in sparx5_qlim_set() 574 static void sparx5_board_init(struct sparx5 *sparx5) in sparx5_board_init() 596 static int sparx5_start(struct sparx5 *sparx5) in sparx5_start() 735 static void sparx5_cleanup_ports(struct sparx5 *sparx5) in sparx5_cleanup_ports() 747 struct sparx5 *sparx5; in mchp_sparx5_probe() local 920 struct sparx5 *sparx5 = platform_get_drvdata(pdev); in mchp_sparx5_remove() local
|
D | sparx5_vcap_debugfs.c | 76 static void sparx5_vcap_is0_port_keys(struct sparx5 *sparx5, in sparx5_vcap_is0_port_keys() 119 static void sparx5_vcap_is2_port_keys(struct sparx5 *sparx5, in sparx5_vcap_is2_port_keys() 232 static void sparx5_vcap_is2_port_stickies(struct sparx5 *sparx5, in sparx5_vcap_is2_port_stickies() 287 static void sparx5_vcap_es0_port_keys(struct sparx5 *sparx5, in sparx5_vcap_es0_port_keys() 325 static void sparx5_vcap_es2_port_keys(struct sparx5 *sparx5, in sparx5_vcap_es2_port_keys() 405 static void sparx5_vcap_es2_port_stickies(struct sparx5 *sparx5, in sparx5_vcap_es2_port_stickies() 444 struct sparx5 *sparx5 = port->sparx5; in sparx5_port_info() local
|
D | sparx5_netdev.c | 161 struct sparx5 *sparx5 = port->sparx5; in sparx5_set_rx_mode() local 183 struct sparx5 *sparx5 = port->sparx5; in sparx5_set_mac_address() local 205 struct sparx5 *sparx5 = sparx5_port->sparx5; in sparx5_get_port_parent_id() local 217 struct sparx5 *sparx5 = sparx5_port->sparx5; in sparx5_port_hwtstamp_get() local 232 struct sparx5 *sparx5 = sparx5_port->sparx5; in sparx5_port_hwtstamp_set() local 261 struct net_device *sparx5_create_netdev(struct sparx5 *sparx5, u32 portno) in sparx5_create_netdev() 288 int sparx5_register_netdevs(struct sparx5 *sparx5) in sparx5_register_netdevs() 307 void sparx5_destroy_netdevs(struct sparx5 *sparx5) in sparx5_destroy_netdevs() 326 void sparx5_unregister_netdevs(struct sparx5 *sparx5) in sparx5_unregister_netdevs()
|
D | sparx5_ethtool.c | 201 static void sparx5_get_queue_sys_stats(struct sparx5 *sparx5, int portno) in sparx5_get_queue_sys_stats() 230 static void sparx5_get_ana_ac_stats_stats(struct sparx5 *sparx5, int portno) in sparx5_get_ana_ac_stats_stats() 505 static void sparx5_get_device_stats(struct sparx5 *sparx5, int portno) in sparx5_get_device_stats() 788 static void sparx5_get_asm_stats(struct sparx5 *sparx5, int portno) in sparx5_get_asm_stats() 815 struct sparx5 *sparx5 = port->sparx5; in sparx5_get_eth_phy_stats() local 840 struct sparx5 *sparx5 = port->sparx5; in sparx5_get_eth_mac_stats() local 908 struct sparx5 *sparx5 = port->sparx5; in sparx5_get_eth_mac_ctrl_stats() local 940 struct sparx5 *sparx5 = port->sparx5; in sparx5_get_eth_rmon_stats() local 998 struct sparx5 *sparx5 = port->sparx5; in sparx5_get_sset_count() local 1008 struct sparx5 *sparx5 = port->sparx5; in sparx5_get_sset_strings() local [all …]
|
D | sparx5_switchdev.c | 19 struct sparx5 *sparx5; member 58 struct sparx5 *sparx5 = port->sparx5; in sparx5_attr_stp_state_set() local 98 struct sparx5 *sparx5 = port->sparx5; in sparx5_port_attr_mrouter_set() local 169 struct sparx5 *sparx5 = port->sparx5; in sparx5_port_bridge_join() local 208 struct sparx5 *sparx5 = port->sparx5; in sparx5_port_bridge_leave() local 253 struct sparx5 *sparx5 = port->sparx5; in sparx5_port_add_addr() local 306 struct sparx5 *sparx5; in sparx5_switchdev_bridge_fdb_event_work() local 416 struct sparx5 *sparx5 = in sparx5_handle_port_vlan_add() local 434 static int sparx5_alloc_mdb_entry(struct sparx5 *sparx5, in sparx5_alloc_mdb_entry() 465 static void sparx5_free_mdb_entry(struct sparx5 *sparx5, in sparx5_free_mdb_entry() [all …]
|
D | sparx5_packet.c | 23 void sparx5_xtr_flush(struct sparx5 *sparx5, u8 grp) in sparx5_xtr_flush() 59 static void sparx5_xtr_grp(struct sparx5 *sparx5, u8 grp, bool byte_swap) in sparx5_xtr_grp() 166 static int sparx5_inject(struct sparx5 *sparx5, in sparx5_inject() 233 struct sparx5 *sparx5 = port->sparx5; in sparx5_port_xmit_impl() local 305 int sparx5_manual_injection_mode(struct sparx5 *sparx5) in sparx5_manual_injection_mode()
|
D | sparx5_calendar.c | 53 static u32 sparx5_target_bandwidth(struct sparx5 *sparx5) in sparx5_target_bandwidth() 129 static enum sparx5_cal_bw sparx5_get_port_cal_speed(struct sparx5 *sparx5, in sparx5_get_port_cal_speed() 160 int sparx5_config_auto_calendar(struct sparx5 *sparx5) in sparx5_config_auto_calendar() 281 static int sparx5_dsm_calendar_calc(struct sparx5 *sparx5, u32 taxi, in sparx5_dsm_calendar_calc() 477 static int sparx5_dsm_calendar_check(struct sparx5 *sparx5, in sparx5_dsm_calendar_check() 533 static int sparx5_dsm_calendar_update(struct sparx5 *sparx5, u32 taxi, in sparx5_dsm_calendar_update() 566 int sparx5_config_dsm_calendar(struct sparx5 *sparx5) in sparx5_config_dsm_calendar()
|
D | sparx5_tc_matchall.c | 53 struct sparx5 *sparx5; in sparx5_tc_matchall_replace() local 143 struct sparx5 *sparx5 = port->sparx5; in sparx5_tc_matchall_destroy() local 172 struct sparx5 *sparx5 = port->sparx5; in sparx5_tc_matchall_stats() local
|
D | sparx5_police.c | 10 static int sparx5_policer_service_conf_set(struct sparx5 *sparx5, in sparx5_policer_service_conf_set() 42 int sparx5_policer_conf_set(struct sparx5 *sparx5, struct sparx5_policer *pol) in sparx5_policer_conf_set()
|
D | sparx5_tc_flower.c | 774 static int sparx5_tc_flower_psfp_setup(struct sparx5 *sparx5, in sparx5_tc_flower_psfp_setup() 1170 struct sparx5 *sparx5 = port->sparx5; in sparx5_tc_flower_replace() local 1321 static void sparx5_tc_free_psfp_resources(struct sparx5 *sparx5, in sparx5_tc_free_psfp_resources() 1363 struct sparx5 *sparx5 = port->sparx5; in sparx5_tc_free_rule_resources() local
|
D | sparx5_dcb.c | 384 int sparx5_dcb_init(struct sparx5 *sparx5) in sparx5_dcb_init()
|