ocelot.h (ab3f97a9610a8d90dc9934517e82c3272d4e98a0) ocelot.h (6505b68056558357dc979d11921ed45cfd68ed69)
1/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
2/* Copyright (c) 2017 Microsemi Corporation
3 */
4
5#ifndef _SOC_MSCC_OCELOT_H
6#define _SOC_MSCC_OCELOT_H
7
8#include <linux/ptp_clock_kernel.h>

--- 501 unchanged lines hidden (view full) ---

510 DEV_MAC_TAGS_CFG,
511 DEV_MAC_ADV_CHK_CFG,
512 DEV_MAC_IFG_CFG,
513 DEV_MAC_HDX_CFG,
514 DEV_MAC_DBG_CFG,
515 DEV_MAC_FC_MAC_LOW_CFG,
516 DEV_MAC_FC_MAC_HIGH_CFG,
517 DEV_MAC_STICKY,
1/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
2/* Copyright (c) 2017 Microsemi Corporation
3 */
4
5#ifndef _SOC_MSCC_OCELOT_H
6#define _SOC_MSCC_OCELOT_H
7
8#include <linux/ptp_clock_kernel.h>

--- 501 unchanged lines hidden (view full) ---

510 DEV_MAC_TAGS_CFG,
511 DEV_MAC_ADV_CHK_CFG,
512 DEV_MAC_IFG_CFG,
513 DEV_MAC_HDX_CFG,
514 DEV_MAC_DBG_CFG,
515 DEV_MAC_FC_MAC_LOW_CFG,
516 DEV_MAC_FC_MAC_HIGH_CFG,
517 DEV_MAC_STICKY,
518 DEV_MM_ENABLE_CONFIG,
519 DEV_MM_VERIF_CONFIG,
520 DEV_MM_STATUS,
518 PCS1G_CFG,
519 PCS1G_MODE_CFG,
520 PCS1G_SD_CFG,
521 PCS1G_ANEG_CFG,
522 PCS1G_ANEG_NP_CFG,
523 PCS1G_LB_CFG,
524 PCS1G_DBG_CFG,
525 PCS1G_CDET_CFG,

--- 208 unchanged lines hidden (view full) ---

734 struct list_head list;
735};
736
737struct ocelot_mirror {
738 refcount_t refcount;
739 int to;
740};
741
521 PCS1G_CFG,
522 PCS1G_MODE_CFG,
523 PCS1G_SD_CFG,
524 PCS1G_ANEG_CFG,
525 PCS1G_ANEG_NP_CFG,
526 PCS1G_LB_CFG,
527 PCS1G_DBG_CFG,
528 PCS1G_CDET_CFG,

--- 208 unchanged lines hidden (view full) ---

737 struct list_head list;
738};
739
740struct ocelot_mirror {
741 refcount_t refcount;
742 int to;
743};
744
745struct ocelot_mm_state {
746 struct mutex lock;
747 enum ethtool_mm_verify_status verify_status;
748 bool tx_active;
749};
750
742struct ocelot_port;
743
744struct ocelot_port {
745 struct ocelot *ocelot;
746
747 struct regmap *target;
748
749 struct net_device *bond;

--- 109 unchanged lines hidden (view full) ---

859 /* Protects the 2-step TX timestamp ID logic */
860 spinlock_t ts_id_lock;
861 /* Protects the PTP interface state */
862 struct mutex ptp_lock;
863 /* Protects the PTP clock */
864 spinlock_t ptp_clock_lock;
865 struct ptp_pin_desc ptp_pins[OCELOT_PTP_PINS_NUM];
866
751struct ocelot_port;
752
753struct ocelot_port {
754 struct ocelot *ocelot;
755
756 struct regmap *target;
757
758 struct net_device *bond;

--- 109 unchanged lines hidden (view full) ---

868 /* Protects the 2-step TX timestamp ID logic */
869 spinlock_t ts_id_lock;
870 /* Protects the PTP interface state */
871 struct mutex ptp_lock;
872 /* Protects the PTP clock */
873 spinlock_t ptp_clock_lock;
874 struct ptp_pin_desc ptp_pins[OCELOT_PTP_PINS_NUM];
875
876 struct ocelot_mm_state *mm;
877
867 struct ocelot_fdma *fdma;
868};
869
870struct ocelot_policer {
871 u32 rate; /* kilobit per second */
872 u32 burst; /* bytes */
873};
874

--- 242 unchanged lines hidden (view full) ---

1117
1118int ocelot_migrate_mdbs(struct ocelot *ocelot, unsigned long from_mask,
1119 unsigned long to_mask);
1120
1121int ocelot_vcap_policer_add(struct ocelot *ocelot, u32 pol_ix,
1122 struct ocelot_policer *pol);
1123int ocelot_vcap_policer_del(struct ocelot *ocelot, u32 pol_ix);
1124
878 struct ocelot_fdma *fdma;
879};
880
881struct ocelot_policer {
882 u32 rate; /* kilobit per second */
883 u32 burst; /* bytes */
884};
885

--- 242 unchanged lines hidden (view full) ---

1128
1129int ocelot_migrate_mdbs(struct ocelot *ocelot, unsigned long from_mask,
1130 unsigned long to_mask);
1131
1132int ocelot_vcap_policer_add(struct ocelot *ocelot, u32 pol_ix,
1133 struct ocelot_policer *pol);
1134int ocelot_vcap_policer_del(struct ocelot *ocelot, u32 pol_ix);
1135
1136void ocelot_port_mm_irq(struct ocelot *ocelot, int port);
1137int ocelot_port_set_mm(struct ocelot *ocelot, int port,
1138 struct ethtool_mm_cfg *cfg,
1139 struct netlink_ext_ack *extack);
1140int ocelot_port_get_mm(struct ocelot *ocelot, int port,
1141 struct ethtool_mm_state *state);
1142
1125#if IS_ENABLED(CONFIG_BRIDGE_MRP)
1126int ocelot_mrp_add(struct ocelot *ocelot, int port,
1127 const struct switchdev_obj_mrp *mrp);
1128int ocelot_mrp_del(struct ocelot *ocelot, int port,
1129 const struct switchdev_obj_mrp *mrp);
1130int ocelot_mrp_add_ring_role(struct ocelot *ocelot, int port,
1131 const struct switchdev_obj_ring_role_mrp *mrp);
1132int ocelot_mrp_del_ring_role(struct ocelot *ocelot, int port,

--- 30 unchanged lines hidden ---
1143#if IS_ENABLED(CONFIG_BRIDGE_MRP)
1144int ocelot_mrp_add(struct ocelot *ocelot, int port,
1145 const struct switchdev_obj_mrp *mrp);
1146int ocelot_mrp_del(struct ocelot *ocelot, int port,
1147 const struct switchdev_obj_mrp *mrp);
1148int ocelot_mrp_add_ring_role(struct ocelot *ocelot, int port,
1149 const struct switchdev_obj_ring_role_mrp *mrp);
1150int ocelot_mrp_del_ring_role(struct ocelot *ocelot, int port,

--- 30 unchanged lines hidden ---