Home
last modified time | relevance | path

Searched refs:ocelot (Results 1 – 25 of 60) sorted by relevance

123

/linux-6.15/drivers/net/ethernet/mscc/
H A Docelot.c49 static void ocelot_mact_select(struct ocelot *ocelot, in ocelot_mact_select() argument
117 int ocelot_mact_forget(struct ocelot *ocelot, in ocelot_mact_forget() argument
217 void ocelot_pll5_init(struct ocelot *ocelot) in ocelot_pll5_init() argument
1066 ocelot->ops->cut_through_fwd(ocelot); in ocelot_phylink_mac_link_down()
1845 ocelot->ops->cut_through_fwd(ocelot); in ocelot_apply_bridge_fwd_mask()
1894 ocelot->ops->cut_through_fwd(ocelot); in ocelot_apply_bridge_fwd_mask()
3133 int ocelot_reset(struct ocelot *ocelot) in ocelot_reset() argument
3162 int ocelot_init(struct ocelot *ocelot) in ocelot_init() argument
3168 ret = ocelot->ops->reset(ocelot); in ocelot_init()
3201 ocelot->ops->psfp_init(ocelot); in ocelot_init()
[all …]
H A Docelot_vsc7514.c35 ocelot->ops = ops; in ocelot_chip_init()
51 struct ocelot *ocelot = arg; in ocelot_xtr_irq_handler() local
81 struct ocelot *ocelot = arg; in ocelot_ptp_rdy_irq_handler() local
128 static void mscc_ocelot_release_ports(struct ocelot *ocelot) in mscc_ocelot_release_ports() argument
147 struct ocelot *ocelot = platform_get_drvdata(pdev); in mscc_ocelot_init_ports() local
153 ocelot->ports = devm_kcalloc(ocelot->dev, ocelot->num_phys_ports, in mscc_ocelot_init_ports()
158 ocelot->devlink_ports = devm_kcalloc(ocelot->dev, in mscc_ocelot_init_ports()
240 struct ocelot *ocelot; in mscc_ocelot_probe() local
270 ocelot->devlink = priv_to_devlink(ocelot); in mscc_ocelot_probe()
327 ocelot); in mscc_ocelot_probe()
[all …]
H A Docelot_devlink.c221 static u32 ocelot_wm_read(struct ocelot *ocelot, int index) in ocelot_wm_read() argument
349 static void ocelot_setup_sharing_watermarks(struct ocelot *ocelot) in ocelot_setup_sharing_watermarks() argument
382 static int ocelot_watermark_validate(struct ocelot *ocelot, in ocelot_watermark_validate() argument
476 static void ocelot_watermark_init(struct ocelot *ocelot) in ocelot_watermark_init() argument
601 int ocelot_sb_port_pool_get(struct ocelot *ocelot, int port, in ocelot_sb_port_pool_get() argument
632 int ocelot_sb_port_pool_set(struct ocelot *ocelot, int port, in ocelot_sb_port_pool_set() argument
675 int ocelot_sb_tc_pool_bind_get(struct ocelot *ocelot, int port, in ocelot_sb_tc_pool_bind_get() argument
712 int ocelot_sb_tc_pool_bind_set(struct ocelot *ocelot, int port, in ocelot_sb_tc_pool_bind_set() argument
818 int ocelot_sb_occ_port_pool_get(struct ocelot *ocelot, int port, in ocelot_sb_occ_port_pool_get() argument
882 int ocelot_devlink_sb_register(struct ocelot *ocelot) in ocelot_devlink_sb_register() argument
[all …]
H A Docelot_ptp.c21 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); in ocelot_ptp_gettime64() local
56 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); in ocelot_ptp_settime64() local
83 ocelot->ops->tas_clock_adjust(ocelot); in ocelot_ptp_settime64()
92 struct ocelot *ocelot = container_of(ptp, struct ocelot, in ocelot_ptp_adjtime() local
120 ocelot->ops->tas_clock_adjust(ocelot); in ocelot_ptp_adjtime()
140 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); in ocelot_ptp_adjfine() local
202 struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info); in ocelot_ptp_enable() local
833 void ocelot_get_txtstamp(struct ocelot *ocelot) in ocelot_get_txtstamp() argument
891 int ocelot_init_timestamp(struct ocelot *ocelot, in ocelot_init_timestamp() argument
907 ocelot->ptp_info.pin_config = &ocelot->ptp_pins[0]; in ocelot_init_timestamp()
[all …]
H A Docelot_fdma.c27 static u32 ocelot_fdma_readl(struct ocelot *ocelot, u32 reg) in ocelot_fdma_readl() argument
96 static u32 ocelot_fdma_read_ch_safe(struct ocelot *ocelot) in ocelot_fdma_read_ch_safe() argument
122 static bool ocelot_fdma_rx_alloc_page(struct ocelot *ocelot, in ocelot_fdma_rx_alloc_page() argument
208 static bool ocelot_fdma_check_stop_rx(struct ocelot *ocelot) in ocelot_fdma_check_stop_rx() argument
234 static void ocelot_fdma_rx_restart(struct ocelot *ocelot) in ocelot_fdma_rx_restart() argument
554 struct ocelot *ocelot = fdma->ocelot; in ocelot_fdma_napi_poll() local
580 struct ocelot *ocelot = dev_id; in ocelot_fdma_interrupt() local
607 static void ocelot_fdma_send_skb(struct ocelot *ocelot, in ocelot_fdma_send_skb() argument
829 fdma->ocelot = ocelot; in ocelot_fdma_init()
852 void ocelot_fdma_start(struct ocelot *ocelot) in ocelot_fdma_start() argument
[all …]
H A Docelot_mrp.c18 static int ocelot_mrp_find_partner_port(struct ocelot *ocelot, in ocelot_mrp_find_partner_port() argument
36 static int ocelot_mrp_del_vcap(struct ocelot *ocelot, int id) in ocelot_mrp_del_vcap() argument
91 static int ocelot_mrp_trap_add(struct ocelot *ocelot, int port) in ocelot_mrp_trap_add() argument
99 static int ocelot_mrp_trap_del(struct ocelot *ocelot, int port) in ocelot_mrp_trap_del() argument
106 static void ocelot_mrp_save_mac(struct ocelot *ocelot, in ocelot_mrp_save_mac() argument
115 static void ocelot_mrp_del_mac(struct ocelot *ocelot, in ocelot_mrp_del_mac() argument
122 int ocelot_mrp_add(struct ocelot *ocelot, int port, in ocelot_mrp_add() argument
144 int ocelot_mrp_del(struct ocelot *ocelot, int port, in ocelot_mrp_del() argument
161 int ocelot_mrp_add_ring_role(struct ocelot *ocelot, int port, in ocelot_mrp_add_ring_role() argument
201 int ocelot_mrp_del_ring_role(struct ocelot *ocelot, int port, in ocelot_mrp_del_ring_role() argument
[all …]
H A Docelot_net.c201 struct ocelot *ocelot = priv->port.ocelot; in ocelot_setup_tc_cls_flower() local
225 struct ocelot *ocelot = priv->port.ocelot; in ocelot_setup_tc_cls_matchall_police() local
266 struct ocelot *ocelot = priv->port.ocelot; in ocelot_setup_tc_cls_matchall_mirred() local
306 struct ocelot *ocelot = priv->port.ocelot; in ocelot_del_tc_cls_matchall_police() local
327 struct ocelot *ocelot = priv->port.ocelot; in ocelot_del_tc_cls_matchall_mirred() local
515 struct ocelot *ocelot = priv->port.ocelot; in ocelot_vlan_vid_del() local
623 struct ocelot *ocelot = w->ocelot; in ocelot_mact_work() local
688 struct ocelot *ocelot = priv->port.ocelot; in ocelot_set_rx_mode() local
724 struct ocelot *ocelot = priv->port.ocelot; in ocelot_get_stats64() local
807 struct ocelot *ocelot = priv->port.ocelot; in ocelot_port_fdb_dump() local
[all …]
H A Docelot.h77 static inline void ocelot_reg_to_target_addr(struct ocelot *ocelot, in ocelot_reg_to_target_addr() argument
86 int ocelot_bridge_num_find(struct ocelot *ocelot,
89 int ocelot_mact_learn(struct ocelot *ocelot, int port,
92 int ocelot_mact_forget(struct ocelot *ocelot,
100 int ocelot_port_devlink_init(struct ocelot *ocelot, int port,
104 int ocelot_trap_add(struct ocelot *ocelot, int port,
111 void ocelot_mirror_put(struct ocelot *ocelot);
113 int ocelot_stats_init(struct ocelot *ocelot);
114 void ocelot_stats_deinit(struct ocelot *ocelot);
116 int ocelot_mm_init(struct ocelot *ocelot);
[all …]
H A Docelot_mm.c76 ocelot->ops->tas_guard_bands_update(ocelot, port); in ocelot_port_update_active_preemptible_tcs()
78 dev_dbg(ocelot->dev, in ocelot_port_update_active_preemptible_tcs()
90 void ocelot_port_change_fp(struct ocelot *ocelot, int port, in ocelot_port_change_fp() argument
105 static void ocelot_mm_update_port_status(struct ocelot *ocelot, int port) in ocelot_mm_update_port_status() argument
119 dev_dbg(ocelot->dev, in ocelot_mm_update_port_status()
155 void ocelot_mm_irq(struct ocelot *ocelot) in ocelot_mm_irq() argument
168 int ocelot_port_set_mm(struct ocelot *ocelot, int port, in ocelot_port_set_mm() argument
234 int ocelot_port_get_mm(struct ocelot *ocelot, int port, in ocelot_port_get_mm() argument
272 int ocelot_mm_init(struct ocelot *ocelot) in ocelot_mm_init() argument
281 ocelot->mm = devm_kcalloc(ocelot->dev, ocelot->num_phys_ports, in ocelot_mm_init()
[all …]
H A Docelot_stats.c312 ocelot_get_stats_layout(struct ocelot *ocelot) in ocelot_get_stats_layout() argument
367 struct ocelot *ocelot = container_of(del_work, struct ocelot, in ocelot_check_stats_work() local
384 ocelot->ops->update_stats(ocelot); in ocelot_check_stats_work()
417 void (*cb)(struct ocelot *ocelot, int port, in ocelot_port_stats_run() argument
536 dev = ocelot->ops->port_to_netdev(ocelot, port); in ocelot_port_get_pause_stats()
638 dev = ocelot->ops->port_to_netdev(ocelot, port); in ocelot_port_get_rmon_stats()
678 dev = ocelot->ops->port_to_netdev(ocelot, port); in ocelot_port_get_eth_ctrl_stats()
777 dev = ocelot->ops->port_to_netdev(ocelot, port); in ocelot_port_get_eth_mac_stats()
972 int ocelot_stats_init(struct ocelot *ocelot) in ocelot_stats_init() argument
977 ocelot->stats = devm_kcalloc(ocelot->dev, in ocelot_stats_init()
[all …]
H A Docelot_io.c13 int __ocelot_bulk_read_ix(struct ocelot *ocelot, enum ocelot_reg reg, in __ocelot_bulk_read_ix() argument
27 u32 __ocelot_read_ix(struct ocelot *ocelot, enum ocelot_reg reg, u32 offset) in __ocelot_read_ix() argument
40 void __ocelot_write_ix(struct ocelot *ocelot, u32 val, enum ocelot_reg reg, in __ocelot_write_ix() argument
53 void __ocelot_rmw_ix(struct ocelot *ocelot, u32 val, u32 mask, in __ocelot_rmw_ix() argument
68 struct ocelot *ocelot = port->ocelot; in ocelot_port_readl() local
81 struct ocelot *ocelot = port->ocelot; in ocelot_port_writel() local
99 u32 __ocelot_target_read_ix(struct ocelot *ocelot, enum ocelot_target target, in __ocelot_target_read_ix() argument
109 void __ocelot_target_write_ix(struct ocelot *ocelot, enum ocelot_target target, in __ocelot_target_write_ix() argument
116 int ocelot_regfields_init(struct ocelot *ocelot, in ocelot_regfields_init() argument
137 ocelot->regfields[i] = in ocelot_regfields_init()
[all …]
H A Docelot_vcap.c49 static u32 vcap_read_update_ctrl(struct ocelot *ocelot, in vcap_read_update_ctrl() argument
88 static void vcap_entry2cache(struct ocelot *ocelot, in vcap_entry2cache() argument
105 static void vcap_cache2entry(struct ocelot *ocelot, in vcap_cache2entry() argument
123 static void vcap_action2cache(struct ocelot *ocelot, in vcap_action2cache() argument
148 static void vcap_cache2action(struct ocelot *ocelot, in vcap_cache2action() argument
345 static void is2_entry_set(struct ocelot *ocelot, int ix, in is2_entry_set() argument
669 static void is1_entry_set(struct ocelot *ocelot, int ix, in is1_entry_set() argument
1184 int ocelot_vcap_filter_add(struct ocelot *ocelot, in ocelot_vcap_filter_add() argument
1240 int ocelot_vcap_filter_del(struct ocelot *ocelot, in ocelot_vcap_filter_del() argument
1278 int ocelot_vcap_filter_replace(struct ocelot *ocelot, in ocelot_vcap_filter_replace() argument
[all …]
H A Docelot_police.c23 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()
140 ocelot_write_gix(ocelot, in qos_policer_conf_set()
145 ocelot_write_gix(ocelot, in qos_policer_conf_set()
202 int ocelot_port_policer_add(struct ocelot *ocelot, int port, in ocelot_port_policer_add() argument
222 ocelot_rmw_gix(ocelot, in ocelot_port_policer_add()
233 int ocelot_port_policer_del(struct ocelot *ocelot, int port) in ocelot_port_policer_del() argument
[all …]
H A Docelot_flower.c145 ocelot_find_vcap_filter_that_points_at(struct ocelot *ocelot, int chain) in ocelot_find_vcap_filter_that_points_at() argument
257 static int ocelot_flower_parse_action(struct ocelot *ocelot, int port, in ocelot_flower_parse_action() argument
572 dev = ocelot->ops->port_to_netdev(ocelot, port); in ocelot_flower_parse_indev()
853 static int ocelot_vcap_dummy_filter_add(struct ocelot *ocelot, in ocelot_vcap_dummy_filter_add() argument
861 static int ocelot_vcap_dummy_filter_del(struct ocelot *ocelot, in ocelot_vcap_dummy_filter_del() argument
895 int ocelot_cls_flower_replace(struct ocelot *ocelot, int port, in ocelot_cls_flower_replace() argument
954 return ocelot->ops->psfp_filter_add(ocelot, port, f); in ocelot_cls_flower_replace()
964 int ocelot_cls_flower_destroy(struct ocelot *ocelot, int port, in ocelot_cls_flower_destroy() argument
977 return ocelot->ops->psfp_filter_del(ocelot, f); in ocelot_cls_flower_destroy()
1001 int ocelot_cls_flower_stats(struct ocelot *ocelot, int port, in ocelot_cls_flower_stats() argument
[all …]
H A Docelot_fdma.h154 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 *ocelot);
160 int ocelot_fdma_inject_frame(struct ocelot *fdma, int port, u32 rew_op,
162 void ocelot_fdma_netdev_init(struct ocelot *ocelot, struct net_device *dev);
163 void ocelot_fdma_netdev_deinit(struct ocelot *ocelot,
H A Docelot_vcap.h15 int ocelot_vcap_filter_stats_update(struct ocelot *ocelot,
18 int ocelot_vcap_init(struct ocelot *ocelot);
/linux-6.15/include/soc/mscc/
H A Docelot.h654 int (*reset)(struct ocelot *ocelot);
658 void (*psfp_init)(struct ocelot *ocelot);
664 void (*cut_through_fwd)(struct ocelot *ocelot);
665 void (*tas_clock_adjust)(struct ocelot *ocelot);
667 void (*update_stats)(struct ocelot *ocelot);
773 struct ocelot *ocelot; member
999 int ocelot_reset(struct ocelot *ocelot);
1000 int ocelot_init(struct ocelot *ocelot);
1001 void ocelot_deinit(struct ocelot *ocelot);
1179 void ocelot_mm_irq(struct ocelot *ocelot);
[all …]
H A Docelot_vcap.h16 #define OCELOT_VCAP_IS1_VLAN_RECLASSIFY(ocelot, port) ((ocelot)->num_phys_ports + (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) ((ocelot)->num_phys_ports * 2) argument
20 #define OCELOT_VCAP_IS2_L2_PTP_TRAP(ocelot) ((ocelot)->num_phys_ports * 2 + 1) argument
21 #define OCELOT_VCAP_IS2_IPV4_GEN_PTP_TRAP(ocelot) ((ocelot)->num_phys_ports * 2 + 2) argument
22 #define OCELOT_VCAP_IS2_IPV4_EV_PTP_TRAP(ocelot) ((ocelot)->num_phys_ports * 2 + 3) argument
23 #define OCELOT_VCAP_IS2_IPV6_GEN_PTP_TRAP(ocelot) ((ocelot)->num_phys_ports * 2 + 4) argument
24 #define OCELOT_VCAP_IS2_IPV6_EV_PTP_TRAP(ocelot) ((ocelot)->num_phys_ports * 2 + 5) argument
722 int ocelot_vcap_filter_add(struct ocelot *ocelot,
725 int ocelot_vcap_filter_del(struct ocelot *ocelot,
[all …]
H A Docelot_ptp.h57 int ocelot_init_timestamp(struct ocelot *ocelot,
59 int ocelot_deinit_timestamp(struct ocelot *ocelot);
/linux-6.15/drivers/net/dsa/ocelot/
H A Dfelix.c48 struct ocelot *ocelot = ds->priv; in felix_cpu_port_for_conduit() local
106 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_add_rx() local
155 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_del_rx() local
177 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_add_tx() local
244 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_del_tx() local
338 struct ocelot *ocelot = ds->priv; in felix_update_tag_8021q_rx_rules() local
384 struct ocelot *ocelot = ds->priv; in felix_update_trapping_destinations() local
1447 struct ocelot *ocelot = &felix->ocelot; in felix_request_regmap_by_name() local
1497 struct ocelot *ocelot = &felix->ocelot; in felix_init_structs() local
2323 struct ocelot *ocelot; in felix_register_switch() local
[all …]
H A Dfelix_vsc9959.c896 static int vsc9959_reset(struct ocelot *ocelot) in vsc9959_reset() argument
956 static int vsc9959_mdio_bus_alloc(struct ocelot *ocelot) in vsc9959_mdio_bus_alloc() argument
1044 static void vsc9959_mdio_bus_free(struct ocelot *ocelot) in vsc9959_mdio_bus_free() argument
1345 ocelot->ops->cut_through_fwd(ocelot); in vsc9959_tas_guard_bands_update()
1596 struct ocelot *ocelot = ds->priv; in vsc9959_qos_port_cbs_set() local
1677 struct ocelot *ocelot = ds->priv; in vsc9959_port_setup_tc() local
1905 static int vsc9959_psfp_sfi_set(struct ocelot *ocelot, in vsc9959_psfp_sfi_set() argument
2118 static int vsc9959_psfp_sgi_set(struct ocelot *ocelot, in vsc9959_psfp_sgi_set() argument
2523 static void vsc9959_psfp_init(struct ocelot *ocelot) in vsc9959_psfp_init() argument
2624 struct ocelot *ocelot = data; in vsc9959_irq_handler() local
[all …]
H A Dfelix.h7 #define ocelot_to_felix(o) container_of((o), struct felix, ocelot)
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, int port,
64 int (*configure_serdes)(struct ocelot *ocelot, int port,
66 int (*request_irq)(struct ocelot *ocelot);
89 struct ocelot ocelot; member
105 struct net_device *felix_port_to_netdev(struct ocelot *ocelot, int port);
H A Dseville_vsc9953.c785 static int vsc9953_gcb_soft_rst_status(struct ocelot *ocelot) in vsc9953_gcb_soft_rst_status() argument
794 static int vsc9953_sys_ram_init_status(struct ocelot *ocelot) in vsc9953_sys_ram_init_status() argument
808 static int vsc9953_reset(struct ocelot *ocelot) in vsc9953_reset() argument
813 ocelot_field_write(ocelot, GCB_SOFT_RST_SWC_RST, 1); in vsc9953_reset()
823 ocelot_field_write(ocelot, SYS_RESET_CFG_MEM_ENA, 1); in vsc9953_reset()
879 static int vsc9953_mdio_bus_alloc(struct ocelot *ocelot) in vsc9953_mdio_bus_alloc() argument
881 struct felix *felix = ocelot_to_felix(ocelot); in vsc9953_mdio_bus_alloc()
882 struct device *dev = ocelot->dev; in vsc9953_mdio_bus_alloc()
896 ocelot->targets[GCB], in vsc9953_mdio_bus_alloc()
936 static void vsc9953_mdio_bus_free(struct ocelot *ocelot) in vsc9953_mdio_bus_free() argument
[all …]
/linux-6.15/Documentation/devicetree/bindings/mfd/
H A Dmscc,ocelot.yaml4 $id: http://devicetree.org/schemas/mfd/mscc,ocelot.yaml#
42 $ref: /schemas/pinctrl/mscc,ocelot-pinctrl.yaml
50 - mscc,ocelot-sgpio
58 - mscc,ocelot-miim
79 ocelot_clock: ocelot-clock {
97 compatible = "mscc,ocelot-miim";
108 compatible = "mscc,ocelot-miim";
121 compatible = "mscc,ocelot-pinctrl";
139 compatible = "mscc,ocelot-sgpio";
/linux-6.15/arch/mips/boot/dts/mscc/
H A Docelot.dtsi7 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-hsio", "syscon", "simple-mfd";

123