Home
last modified time | relevance | path

Searched refs:sparx5 (Results 1 – 25 of 46) sorted by relevance

12

/linux-6.12.1/drivers/net/ethernet/microchip/sparx5/
Dsparx5_main.c217 static int sparx5_create_targets(struct sparx5 *sparx5) in sparx5_create_targets() argument
234 iores[idx] = platform_get_resource(sparx5->pdev, IORESOURCE_MEM, in sparx5_create_targets()
237 dev_err(sparx5->dev, "Invalid resource\n"); in sparx5_create_targets()
240 iomem[idx] = devm_ioremap(sparx5->dev, in sparx5_create_targets()
244 dev_err(sparx5->dev, "Unable to get switch registers: %s\n", in sparx5_create_targets()
253 sparx5->regs[iomap->id] = begin[iomap->range] + iomap->offset; in sparx5_create_targets()
258 static int sparx5_create_port(struct sparx5 *sparx5, in sparx5_create_port() argument
266 ndev = sparx5_create_netdev(sparx5, config->portno); in sparx5_create_port()
268 dev_err(sparx5->dev, "Could not create net device: %02u\n", in sparx5_create_port()
287 sparx5->ports[config->portno] = spx5_port; in sparx5_create_port()
[all …]
Dsparx5_mactable.c44 static int sparx5_mact_get_status(struct sparx5 *sparx5) in sparx5_mact_get_status() argument
46 return spx5_rd(sparx5, LRN_COMMON_ACCESS_CTRL); in sparx5_mact_get_status()
49 static int sparx5_mact_wait_for_completion(struct sparx5 *sparx5) in sparx5_mact_wait_for_completion() argument
54 sparx5, val, in sparx5_mact_wait_for_completion()
59 static void sparx5_mact_select(struct sparx5 *sparx5, in sparx5_mact_select() argument
76 spx5_wr(mach, sparx5, LRN_MAC_ACCESS_CFG_0); in sparx5_mact_select()
77 spx5_wr(macl, sparx5, LRN_MAC_ACCESS_CFG_1); in sparx5_mact_select()
80 int sparx5_mact_learn(struct sparx5 *sparx5, int pgid, in sparx5_mact_learn() argument
94 mutex_lock(&sparx5->lock); in sparx5_mact_learn()
96 sparx5_mact_select(sparx5, mac, vid); in sparx5_mact_learn()
[all …]
Dsparx5_sdlb.c23 int sparx5_sdlb_clk_hz_get(struct sparx5 *sparx5) in sparx5_sdlb_clk_hz_get() argument
28 clk_per_100ps = HSCH_SYS_CLK_PER_100PS_GET(spx5_rd(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() argument
42 clk_hz = sparx5_sdlb_clk_hz_get(sparx5); 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() argument
54 clk_hz = sparx5_sdlb_clk_hz_get(sparx5); in sparx5_sdlb_pup_token_get()
59 static void sparx5_sdlb_group_disable(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_disable() argument
62 ANA_AC_SDLB_PUP_CTRL_PUP_ENA, sparx5, in sparx5_sdlb_group_disable()
66 static void sparx5_sdlb_group_enable(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_enable() argument
69 ANA_AC_SDLB_PUP_CTRL_PUP_ENA, sparx5, in sparx5_sdlb_group_enable()
[all …]
Dsparx5_fdma.c39 struct sparx5 *sparx5 = fdma->priv; in sparx5_fdma_rx_dataptr_cb() local
40 struct sparx5_rx *rx = &sparx5->rx; in sparx5_fdma_rx_dataptr_cb()
54 static void sparx5_fdma_rx_activate(struct sparx5 *sparx5, struct sparx5_rx *rx) in sparx5_fdma_rx_activate() argument
59 spx5_wr(((u64)fdma->dma) & GENMASK(31, 0), sparx5, in sparx5_fdma_rx_activate()
61 spx5_wr(((u64)fdma->dma) >> 32, sparx5, in sparx5_fdma_rx_activate()
68 sparx5, FDMA_CH_CFG(fdma->channel_id)); in sparx5_fdma_rx_activate()
72 sparx5, in sparx5_fdma_rx_activate()
77 sparx5, FDMA_PORT_CTRL(0)); in sparx5_fdma_rx_activate()
82 sparx5, FDMA_INTR_DB_ENA); in sparx5_fdma_rx_activate()
85 spx5_wr(BIT(fdma->channel_id), sparx5, FDMA_CH_ACTIVATE); in sparx5_fdma_rx_activate()
[all …]
Dsparx5_ptp.c27 static u64 sparx5_ptp_get_1ppm(struct sparx5 *sparx5) in sparx5_ptp_get_1ppm() argument
37 switch (sparx5->coreclock) { in sparx5_ptp_get_1ppm()
55 static u64 sparx5_ptp_get_nominal_value(struct sparx5 *sparx5) in sparx5_ptp_get_nominal_value() argument
59 switch (sparx5->coreclock) { in sparx5_ptp_get_nominal_value()
81 struct sparx5 *sparx5 = port->sparx5; in sparx5_ptp_hwtstamp_set() local
89 if (test_bit(port->portno, sparx5->bridge_mask)) in sparx5_ptp_hwtstamp_set()
130 mutex_lock(&sparx5->ptp_lock); in sparx5_ptp_hwtstamp_set()
131 phc = &sparx5->phc[SPARX5_PHC_PORT]; in sparx5_ptp_hwtstamp_set()
133 mutex_unlock(&sparx5->ptp_lock); in sparx5_ptp_hwtstamp_set()
141 struct sparx5 *sparx5 = port->sparx5; in sparx5_ptp_hwtstamp_get() local
[all …]
Dsparx5_psfp.c55 u32 sparx5_psfp_isdx_get_sf(struct sparx5 *sparx5, u32 isdx) in sparx5_psfp_isdx_get_sf() argument
57 return ANA_L2_TSN_CFG_TSN_SFID_GET(spx5_rd(sparx5, in sparx5_psfp_isdx_get_sf()
61 u32 sparx5_psfp_isdx_get_fm(struct sparx5 *sparx5, u32 isdx) in sparx5_psfp_isdx_get_fm() argument
63 return ANA_L2_DLB_CFG_DLB_IDX_GET(spx5_rd(sparx5, in sparx5_psfp_isdx_get_fm()
67 u32 sparx5_psfp_sf_get_sg(struct sparx5 *sparx5, u32 sfid) in sparx5_psfp_sf_get_sg() argument
69 return ANA_AC_TSN_SF_CFG_TSN_SGID_GET(spx5_rd(sparx5, 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() argument
76 sparx5, ANA_L2_TSN_CFG(isdx)); in sparx5_isdx_conf_set()
79 sparx5, ANA_L2_DLB_CFG(isdx)); in sparx5_isdx_conf_set()
88 static int sparx5_psfp_sgid_get_status(struct sparx5 *sparx5) in sparx5_psfp_sgid_get_status() argument
[all …]
Dsparx5_main.h103 struct sparx5;
147 struct sparx5 *sparx5; member
188 struct sparx5 *sparx5; member
229 struct sparx5 { struct
299 int sparx5_register_notifier_blocks(struct sparx5 *sparx5); argument
300 void sparx5_unregister_notifier_blocks(struct sparx5 *sparx5);
308 void sparx5_xtr_flush(struct sparx5 *sparx5, u8 grp);
312 int sparx5_manual_injection_mode(struct sparx5 *sparx5);
316 int sparx5_fdma_start(struct sparx5 *sparx5);
317 int sparx5_fdma_stop(struct sparx5 *sparx5);
[all …]
Dsparx5_vlan.c10 static int sparx5_vlant_set_mask(struct sparx5 *sparx5, u16 vid) in sparx5_vlant_set_mask() argument
15 bitmap_to_arr32(mask, sparx5->vlan_mask[vid], SPX5_PORTS); in sparx5_vlant_set_mask()
18 spx5_wr(mask[0], sparx5, ANA_L3_VLAN_MASK_CFG(vid)); in sparx5_vlant_set_mask()
19 spx5_wr(mask[1], sparx5, ANA_L3_VLAN_MASK_CFG1(vid)); in sparx5_vlant_set_mask()
20 spx5_wr(mask[2], sparx5, ANA_L3_VLAN_MASK_CFG2(vid)); in sparx5_vlant_set_mask()
25 void sparx5_vlan_init(struct sparx5 *sparx5) in sparx5_vlan_init() argument
31 sparx5, in sparx5_vlan_init()
38 sparx5, in sparx5_vlan_init()
42 void sparx5_vlan_port_setup(struct sparx5 *sparx5, int portno) in sparx5_vlan_port_setup() argument
44 struct sparx5_port *port = sparx5->ports[portno]; in sparx5_vlan_port_setup()
[all …]
Dsparx5_mirror.c25 static u64 sparx5_mirror_port_get(struct sparx5 *sparx5, u32 idx) in sparx5_mirror_port_get() argument
27 return (u64)spx5_rd(sparx5, ANA_AC_PROBE_PORT_CFG1(idx)) << 32 | in sparx5_mirror_port_get()
28 spx5_rd(sparx5, ANA_AC_PROBE_PORT_CFG(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() argument
40 return spx5_rmw(val, val, sparx5, ANA_AC_PROBE_PORT_CFG(idx)); in sparx5_mirror_port_add()
42 return spx5_rmw(val, val, sparx5, ANA_AC_PROBE_PORT_CFG1(idx)); in sparx5_mirror_port_add()
46 static void sparx5_mirror_port_del(struct sparx5 *sparx5, u32 idx, u32 portno) in sparx5_mirror_port_del() argument
54 return spx5_rmw(0, val, sparx5, ANA_AC_PROBE_PORT_CFG(idx)); in sparx5_mirror_port_del()
56 return spx5_rmw(0, val, sparx5, ANA_AC_PROBE_PORT_CFG1(idx)); in sparx5_mirror_port_del()
60 static bool sparx5_mirror_contains(struct sparx5 *sparx5, u32 idx, u32 portno) in sparx5_mirror_contains() argument
[all …]
Dsparx5_qos.c24 void sparx5_new_base_time(struct sparx5 *sparx5, const u32 cycle_time, in sparx5_new_base_time() argument
35 sparx5_ptp_gettime64(&sparx5->phc[SPARX5_PHC_PORT].info, &ts); 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() argument
83 value = spx5_rd(sparx5, HSCH_HSCH_TIMER_CFG(layer, 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() argument
90 spx5_wr(HSCH_HSCH_TIMER_CFG_LEAK_TIME_SET(leak_time), sparx5, 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() argument
98 value = spx5_rd(sparx5, HSCH_HSCH_LEAK_CFG(layer, 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() argument
108 value = spx5_rd(sparx5, HSCH_SE_CONNECT(idx)); in sparx5_lg_get_next()
[all …]
Dsparx5_vcap_impl.c168 static void sparx5_vcap_type_err(struct sparx5 *sparx5, in sparx5_vcap_type_err() argument
177 static void sparx5_vcap_wait_super_update(struct sparx5 *sparx5) in sparx5_vcap_wait_super_update() argument
183 false, sparx5, VCAP_SUPER_CTRL); in sparx5_vcap_wait_super_update()
187 static void sparx5_vcap_wait_es0_update(struct sparx5 *sparx5) in sparx5_vcap_wait_es0_update() argument
193 false, sparx5, VCAP_ES0_CTRL); in sparx5_vcap_wait_es0_update()
197 static void sparx5_vcap_wait_es2_update(struct sparx5 *sparx5) in sparx5_vcap_wait_es2_update() argument
203 false, sparx5, VCAP_ES2_CTRL); in sparx5_vcap_wait_es2_update()
207 static void _sparx5_vcap_range_init(struct sparx5 *sparx5, in _sparx5_vcap_range_init() argument
218 sparx5, VCAP_SUPER_CFG); in _sparx5_vcap_range_init()
226 sparx5, VCAP_SUPER_CTRL); in _sparx5_vcap_range_init()
[all …]
Dsparx5_port.c78 static int sparx5_get_dev2g5_status(struct sparx5 *sparx5, in sparx5_get_dev2g5_status() argument
87 value = spx5_rd(sparx5, DEV2G5_PCS1G_STICKY(portno)); in sparx5_get_dev2g5_status()
90 spx5_wr(value, sparx5, DEV2G5_PCS1G_STICKY(portno)); in sparx5_get_dev2g5_status()
93 value = spx5_rd(sparx5, DEV2G5_PCS1G_LINK_STATUS(portno)); in sparx5_get_dev2g5_status()
105 value = spx5_rd(sparx5, DEV2G5_PCS1G_ANEG_STATUS(portno)); in sparx5_get_dev2g5_status()
113 value = spx5_rd(sparx5, DEV2G5_PCS1G_ANEG_CFG(portno)); in sparx5_get_dev2g5_status()
121 static int sparx5_get_sfi_status(struct sparx5 *sparx5, in sparx5_get_sfi_status() argument
137 inst = spx5_inst_get(sparx5, dev, tinst); in sparx5_get_sfi_status()
160 int sparx5_get_port_status(struct sparx5 *sparx5, in sparx5_get_port_status() argument
175 return sparx5_get_dev2g5_status(sparx5, port, status); in sparx5_get_port_status()
[all …]
Dsparx5_switchdev.c19 struct sparx5 *sparx5; member
58 struct sparx5 *sparx5 = port->sparx5; in sparx5_attr_stp_state_set() local
60 if (!test_bit(port->portno, sparx5->bridge_mask)) { in sparx5_attr_stp_state_set()
68 set_bit(port->portno, sparx5->bridge_fwd_mask); in sparx5_attr_stp_state_set()
71 set_bit(port->portno, sparx5->bridge_lrn_mask); in sparx5_attr_stp_state_set()
76 clear_bit(port->portno, sparx5->bridge_fwd_mask); in sparx5_attr_stp_state_set()
77 clear_bit(port->portno, sparx5->bridge_lrn_mask); in sparx5_attr_stp_state_set()
82 sparx5_update_fwd(sparx5); in sparx5_attr_stp_state_set()
91 sparx5_set_ageing(port->sparx5, ageing_time); in sparx5_port_attr_ageing_set()
98 struct sparx5 *sparx5 = port->sparx5; in sparx5_port_attr_mrouter_set() local
[all …]
Dsparx5_netdev.c116 err = sparx5_serdes_set(port->sparx5, port, &port->conf); in sparx5_port_open()
149 err = sparx5_serdes_set(port->sparx5, port, &port->conf); in sparx5_port_stop()
161 struct sparx5 *sparx5 = port->sparx5; in sparx5_set_rx_mode() local
163 if (!test_bit(port->portno, sparx5->bridge_mask)) in sparx5_set_rx_mode()
183 struct sparx5 *sparx5 = port->sparx5; in sparx5_set_mac_address() local
190 sparx5_mact_forget(sparx5, dev->dev_addr, port->pvid); in sparx5_set_mac_address()
193 sparx5_mact_learn(sparx5, PGID_CPU, addr->sa_data, port->pvid); in sparx5_set_mac_address()
205 struct sparx5 *sparx5 = sparx5_port->sparx5; in sparx5_get_port_parent_id() local
207 ppid->id_len = sizeof(sparx5->base_mac); in sparx5_get_port_parent_id()
208 memcpy(&ppid->id, &sparx5->base_mac, ppid->id_len); in sparx5_get_port_parent_id()
[all …]
Dsparx5_packet.c23 void sparx5_xtr_flush(struct sparx5 *sparx5, u8 grp) in sparx5_xtr_flush() argument
26 spx5_wr(QS_XTR_FLUSH_FLUSH_SET(BIT(grp)), sparx5, QS_XTR_FLUSH); in sparx5_xtr_flush()
32 spx5_wr(0, sparx5, QS_XTR_FLUSH); in sparx5_xtr_flush()
59 static void sparx5_xtr_grp(struct sparx5 *sparx5, u8 grp, bool byte_swap) in sparx5_xtr_grp() argument
72 ifh[i] = spx5_rd(sparx5, QS_XTR_RD(grp)); in sparx5_xtr_grp()
79 sparx5->ports[fi.src_port] : NULL; in sparx5_xtr_grp()
81 dev_err(sparx5->dev, "Data on inactive port %d\n", fi.src_port); in sparx5_xtr_grp()
82 sparx5_xtr_flush(sparx5, grp); in sparx5_xtr_grp()
90 sparx5_xtr_flush(sparx5, grp); in sparx5_xtr_grp()
91 dev_err(sparx5->dev, "No skb allocated\n"); in sparx5_xtr_grp()
[all …]
Dsparx5_ethtool.c201 static void sparx5_get_queue_sys_stats(struct sparx5 *sparx5, int portno) in sparx5_get_queue_sys_stats() argument
208 portstats = &sparx5->stats[portno * sparx5->num_stats]; in sparx5_get_queue_sys_stats()
209 mutex_lock(&sparx5->queue_stats_lock); in sparx5_get_queue_sys_stats()
210 spx5_wr(XQS_STAT_CFG_STAT_VIEW_SET(portno), sparx5, XQS_STAT_CFG); in sparx5_get_queue_sys_stats()
214 sparx5_update_counter(stats, spx5_rd(sparx5, XQS_CNT(addr))); in sparx5_get_queue_sys_stats()
218 sparx5_update_counter(stats, spx5_rd(sparx5, XQS_CNT(addr))); in sparx5_get_queue_sys_stats()
222 sparx5_update_counter(stats, spx5_rd(sparx5, XQS_CNT(addr))); in sparx5_get_queue_sys_stats()
224 spx5_rd(sparx5, XQS_CNT(32))); in sparx5_get_queue_sys_stats()
226 spx5_rd(sparx5, XQS_CNT(272))); in sparx5_get_queue_sys_stats()
227 mutex_unlock(&sparx5->queue_stats_lock); in sparx5_get_queue_sys_stats()
[all …]
Dsparx5_calendar.c53 static u32 sparx5_target_bandwidth(struct sparx5 *sparx5) in sparx5_target_bandwidth() argument
55 switch (sparx5->target_ct) { in sparx5_target_bandwidth()
129 static enum sparx5_cal_bw sparx5_get_port_cal_speed(struct sparx5 *sparx5, in sparx5_get_port_cal_speed() argument
153 port = sparx5->ports[portno]; in sparx5_get_port_cal_speed()
160 int sparx5_config_auto_calendar(struct sparx5 *sparx5) in sparx5_config_auto_calendar() argument
170 max_core_bw = sparx5_clk_to_bandwidth(sparx5->coreclock); in sparx5_config_auto_calendar()
172 dev_err(sparx5->dev, "Core clock not supported"); in sparx5_config_auto_calendar()
180 spd = sparx5_get_port_cal_speed(sparx5, portno); in sparx5_config_auto_calendar()
196 if (used_port_bw > sparx5_target_bandwidth(sparx5)) { in sparx5_config_auto_calendar()
197 dev_err(sparx5->dev, in sparx5_config_auto_calendar()
[all …]
Dsparx5_police.c10 static int sparx5_policer_service_conf_set(struct sparx5 *sparx5, in sparx5_policer_service_conf_set() argument
23 pup_tokens = sparx5_sdlb_pup_token_get(sparx5, g->pup_interval, rate); in sparx5_policer_service_conf_set()
25 sparx5_sdlb_pup_token_get(sparx5, g->pup_interval, g->max_rate); in sparx5_policer_service_conf_set()
29 spx5_wr(ANA_AC_SDLB_PUP_TOKENS_PUP_TOKENS_SET(pup_tokens), sparx5, in sparx5_policer_service_conf_set()
33 ANA_AC_SDLB_INH_CTRL_PUP_TOKENS_MAX, sparx5, in sparx5_policer_service_conf_set()
37 sparx5, ANA_AC_SDLB_THRES(idx, 0)); in sparx5_policer_service_conf_set()
42 int sparx5_policer_conf_set(struct sparx5 *sparx5, struct sparx5_policer *pol) in sparx5_policer_conf_set() argument
47 return sparx5_policer_service_conf_set(sparx5, pol); in sparx5_policer_conf_set()
Dsparx5_vcap_debugfs.c76 static void sparx5_vcap_is0_port_keys(struct sparx5 *sparx5, in sparx5_vcap_is0_port_keys() argument
90 value = spx5_rd(sparx5, in sparx5_vcap_is0_port_keys()
119 static void sparx5_vcap_is2_port_keys(struct sparx5 *sparx5, in sparx5_vcap_is2_port_keys() argument
133 value = spx5_rd(sparx5, ANA_ACL_VCAP_S2_CFG(port->portno)); in sparx5_vcap_is2_port_keys()
141 value = spx5_rd(sparx5, in sparx5_vcap_is2_port_keys()
232 static void sparx5_vcap_is2_port_stickies(struct sparx5 *sparx5, in sparx5_vcap_is2_port_stickies() argument
243 value = spx5_rd(sparx5, ANA_ACL_SEC_LOOKUP_STICKY(lookup)); in sparx5_vcap_is2_port_stickies()
282 spx5_wr(value, sparx5, ANA_ACL_SEC_LOOKUP_STICKY(lookup)); in sparx5_vcap_is2_port_stickies()
287 static void sparx5_vcap_es0_port_keys(struct sparx5 *sparx5, in sparx5_vcap_es0_port_keys() argument
299 value = spx5_rd(sparx5, REW_ES0_CTRL); in sparx5_vcap_es0_port_keys()
[all …]
Dsparx5_tc_matchall.c53 struct sparx5 *sparx5; in sparx5_tc_matchall_replace() local
73 sparx5 = port->sparx5; in sparx5_tc_matchall_replace()
103 err = vcap_enable_lookups(sparx5->vcap_ctrl, ndev, in sparx5_tc_matchall_replace()
133 list_add_tail(&mall_entry->list, &sparx5->mall_entries); in sparx5_tc_matchall_replace()
143 struct sparx5 *sparx5 = port->sparx5; in sparx5_tc_matchall_destroy() local
147 entry = sparx5_tc_matchall_entry_find(&sparx5->mall_entries, in sparx5_tc_matchall_destroy()
155 err = vcap_enable_lookups(sparx5->vcap_ctrl, ndev, in sparx5_tc_matchall_destroy()
172 struct sparx5 *sparx5 = port->sparx5; in sparx5_tc_matchall_stats() local
175 entry = sparx5_tc_matchall_entry_find(&sparx5->mall_entries, in sparx5_tc_matchall_stats()
Dsparx5_port.h73 int sparx5_port_init(struct sparx5 *sparx5,
77 int sparx5_port_config(struct sparx5 *sparx5,
81 int sparx5_port_pcs_set(struct sparx5 *sparx5,
85 int sparx5_serdes_set(struct sparx5 *sparx5,
98 int sparx5_get_port_status(struct sparx5 *sparx5,
103 int sparx5_port_fwd_urg(struct sparx5 *sparx5, u32 speed);
DMakefile6 obj-$(CONFIG_SPARX5_SWITCH) += sparx5-switch.o
8 sparx5-switch-y := sparx5_main.o sparx5_packet.o \
16 sparx5-switch-$(CONFIG_SPARX5_DCB) += sparx5_dcb.o
17 sparx5-switch-$(CONFIG_DEBUG_FS) += sparx5_vcap_debugfs.o
Dsparx5_tc_flower.c411 vctrl = port->sparx5->vcap_ctrl; in sparx5_tc_select_protocol_keyset()
774 static int sparx5_tc_flower_psfp_setup(struct sparx5 *sparx5, in sparx5_tc_flower_psfp_setup() argument
800 ret = sparx5_psfp_sg_add(sparx5, sg_idx, sg, &psfp_sgid); in sparx5_tc_flower_psfp_setup()
806 ret = sparx5_psfp_fm_add(sparx5, pol_idx, fm, &psfp_fmid); in sparx5_tc_flower_psfp_setup()
815 ret = sparx5_psfp_sf_add(sparx5, sf, &psfp_sfid); in sparx5_tc_flower_psfp_setup()
820 sparx5_isdx_conf_set(sparx5, psfp_sfid, psfp_sfid, psfp_fmid); in sparx5_tc_flower_psfp_setup()
1170 struct sparx5 *sparx5 = port->sparx5; in sparx5_tc_flower_replace() local
1178 vctrl = port->sparx5->vcap_ctrl; in sparx5_tc_flower_replace()
1285 err = sparx5_tc_flower_psfp_setup(sparx5, vrule, tc_sg_idx, in sparx5_tc_flower_replace()
1321 static void sparx5_tc_free_psfp_resources(struct sparx5 *sparx5, in sparx5_tc_free_psfp_resources() argument
[all …]
Dsparx5_pgid.c4 void sparx5_pgid_init(struct sparx5 *spx5) in sparx5_pgid_init()
18 int sparx5_pgid_alloc_mcast(struct sparx5 *spx5, u16 *idx) in sparx5_pgid_alloc_mcast()
36 int sparx5_pgid_free(struct sparx5 *spx5, u16 idx) in sparx5_pgid_free()
/linux-6.12.1/arch/arm64/boot/dts/microchip/
Dsparx5.dtsi8 #include <dt-bindings/clock/microchip,sparx5.h>
11 compatible = "microchip,sparx5";
86 compatible = "microchip,sparx5-dpll";
125 compatible = "microchip,sparx5-cpu-syscon", "syscon",
141 compatible = "microchip,sparx5-switch-reset";
177 compatible = "microchip,sparx5-spi";
196 compatible = "microchip,dw-sparx5-sdhci";
210 compatible = "microchip,sparx5-pinctrl";
303 compatible = "microchip,sparx5-sgpio";
312 compatible = "microchip,sparx5-sgpio-bank";
[all …]

12