net/ice: fix fast mbuf freeing
[dpdk.git] / drivers / net / mlx5 / mlx5.h
index a045cf4..c9bc45c 100644 (file)
@@ -502,6 +502,7 @@ struct mlx5_aso_sq_elem {
 
 struct mlx5_aso_sq {
        uint16_t log_desc_n;
+       rte_spinlock_t sqsl;
        struct mlx5_aso_cq cq;
        struct mlx5_devx_sq sq_obj;
        volatile uint64_t *uar_addr;
@@ -592,14 +593,6 @@ struct mlx5_dev_shared_port {
 /* Modify this value if enum rte_mtr_color changes. */
 #define RTE_MTR_DROPPED RTE_COLORS
 
-/* Meter policer statistics */
-struct mlx5_flow_policer_stats {
-       uint32_t pass_cnt;
-       /**< Color counter for pass. */
-       uint32_t drop_cnt;
-       /**< Color counter for drop. */
-};
-
 /* Meter table structure. */
 struct mlx5_meter_domain_info {
        struct mlx5_flow_tbl_resource *tbl;
@@ -638,24 +631,12 @@ struct mlx5_meter_domains_infos {
 
 /* Meter parameter structure. */
 struct mlx5_flow_meter_info {
-       uint32_t meter_id;
-       /**< Meter id. */
        struct mlx5_flow_meter_profile *profile;
        /**< Meter profile parameters. */
        rte_spinlock_t sl; /**< Meter action spinlock. */
-       /** Policer actions (per meter output color). */
-       enum rte_mtr_policer_action action[RTE_COLORS];
        /** Set of stats counters to be enabled.
         * @see enum rte_mtr_stats_type
         */
-       uint32_t green_bytes:1;
-       /** Set green bytes stats to be enabled. */
-       uint32_t green_pkts:1;
-       /** Set green packets stats to be enabled. */
-       uint32_t red_bytes:1;
-       /** Set red bytes stats to be enabled. */
-       uint32_t red_pkts:1;
-       /** Set red packets stats to be enabled. */
        uint32_t bytes_dropped:1;
        /** Set bytes dropped stats to be enabled. */
        uint32_t pkts_dropped:1;
@@ -690,8 +671,8 @@ struct mlx5_flow_meter_info {
        uint32_t transfer:1;
        struct mlx5_meter_domains_infos *mfts;
        /**< Flow table created for this meter. */
-       struct mlx5_flow_policer_stats policer_stats;
-       /**< Meter policer statistics. */
+       uint32_t drop_cnt;
+       /**< Color counter for drop. */
        uint32_t ref_cnt;
        /**< Use count. */
        struct mlx5_indexed_pool *flow_ipool;
@@ -778,10 +759,12 @@ struct mlx5_aso_mtr_pools_mng {
 union mlx5_flow_tbl_key {
        struct {
                /* Table ID should be at the lowest address. */
-               uint32_t table_id;      /**< ID of the table. */
-               uint16_t dummy;         /**< Dummy table for DV API. */
-               uint8_t domain;         /**< 1 - FDB, 0 - NIC TX/RX. */
-               uint8_t direction;      /**< 1 - egress, 0 - ingress. */
+               uint32_t level; /**< Level of the table. */
+               uint32_t id:22; /**< ID of the table. */
+               uint32_t dummy:1;       /**< Dummy table for DV API. */
+               uint32_t is_fdb:1;      /**< 1 - FDB, 0 - NIC TX/RX. */
+               uint32_t is_egress:1;   /**< 1 - egress, 0 - ingress. */
+               uint32_t reserved:7;    /**< must be zero for comparison. */
        };
        uint64_t v64;                   /**< full 64bits value of key */
 };