git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
common/sfc_efx/base: separate target EvQ and IRQ config
[dpdk.git]
/
drivers
/
common
/
sfc_efx
/
base
/
efx_impl.h
diff --git
a/drivers/common/sfc_efx/base/efx_impl.h
b/drivers/common/sfc_efx/base/efx_impl.h
index
d6742f4
..
4fff9e1
100644
(file)
--- a/
drivers/common/sfc_efx/base/efx_impl.h
+++ b/
drivers/common/sfc_efx/base/efx_impl.h
@@
-318,6
+318,10
@@
typedef struct efx_virtio_ops_s {
efx_virtio_vq_dyncfg_t *);
efx_rc_t (*evo_get_doorbell_offset)(efx_virtio_vq_t *,
uint32_t *);
efx_virtio_vq_dyncfg_t *);
efx_rc_t (*evo_get_doorbell_offset)(efx_virtio_vq_t *,
uint32_t *);
+ efx_rc_t (*evo_get_features)(efx_nic_t *,
+ efx_virtio_device_type_t, uint64_t *);
+ efx_rc_t (*evo_verify_features)(efx_nic_t *,
+ efx_virtio_device_type_t, uint64_t);
} efx_virtio_ops_t;
#endif /* EFSYS_OPT_VIRTIO */
} efx_virtio_ops_t;
#endif /* EFSYS_OPT_VIRTIO */
@@
-1531,6
+1535,7
@@
efx_mcdi_init_evq(
__in efsys_mem_t *esmp,
__in size_t nevs,
__in uint32_t irq,
__in efsys_mem_t *esmp,
__in size_t nevs,
__in uint32_t irq,
+ __in uint32_t target_evq,
__in uint32_t us,
__in uint32_t flags,
__in boolean_t low_latency);
__in uint32_t us,
__in uint32_t flags,
__in boolean_t low_latency);
@@
-1716,15
+1721,18
@@
struct efx_mae_match_spec_s {
efx_mae_rule_type_t emms_type;
uint32_t emms_prio;
union emms_mask_value_pairs {
efx_mae_rule_type_t emms_type;
uint32_t emms_prio;
union emms_mask_value_pairs {
- uint8_t action[MAE_FIELD_MASK_VALUE_PAIRS_LEN];
+ uint8_t action[
+ MAE_FIELD_MASK_VALUE_PAIRS_V2_LEN];
uint8_t outer[MAE_ENC_FIELD_PAIRS_LEN];
} emms_mask_value_pairs;
};
typedef enum efx_mae_action_e {
/* These actions are strictly ordered. */
uint8_t outer[MAE_ENC_FIELD_PAIRS_LEN];
} emms_mask_value_pairs;
};
typedef enum efx_mae_action_e {
/* These actions are strictly ordered. */
+ EFX_MAE_ACTION_DECAP,
EFX_MAE_ACTION_VLAN_POP,
EFX_MAE_ACTION_VLAN_PUSH,
EFX_MAE_ACTION_VLAN_POP,
EFX_MAE_ACTION_VLAN_PUSH,
+ EFX_MAE_ACTION_ENCAP,
/*
* These actions are not strictly ordered and can
/*
* These actions are not strictly ordered and can
@@
-1752,6
+1760,10
@@
typedef struct efx_mae_action_vlan_push_s {
uint16_t emavp_tci_be;
} efx_mae_action_vlan_push_t;
uint16_t emavp_tci_be;
} efx_mae_action_vlan_push_t;
+typedef struct efx_mae_actions_rsrc_s {
+ efx_mae_eh_id_t emar_eh_id;
+} efx_mae_actions_rsrc_t;
+
struct efx_mae_actions_s {
/* Bitmap of actions in spec, indexed by action type */
uint32_t ema_actions;
struct efx_mae_actions_s {
/* Bitmap of actions in spec, indexed by action type */
uint32_t ema_actions;
@@
-1762,6
+1774,13
@@
struct efx_mae_actions_s {
EFX_MAE_VLAN_PUSH_MAX_NTAGS];
uint32_t ema_mark_value;
efx_mport_sel_t ema_deliver_mport;
EFX_MAE_VLAN_PUSH_MAX_NTAGS];
uint32_t ema_mark_value;
efx_mport_sel_t ema_deliver_mport;
+
+ /*
+ * Always keep this at the end of the struct since
+ * efx_mae_action_set_specs_equal() relies on that
+ * to make sure that resource IDs are not compared.
+ */
+ efx_mae_actions_rsrc_t ema_rsrc;
};
#endif /* EFSYS_OPT_MAE */
};
#endif /* EFSYS_OPT_MAE */