summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnca Jeanina FLOAREA <anca.floarea@freescale.com>2013-08-02 11:56:08 (GMT)
committerSchmitt Richard-B43082 <B43082@freescale.com>2013-08-08 20:29:58 (GMT)
commitaf2dcedf4b69a94ed42689be537d3f66e3bb2cbd (patch)
tree65ee71fdb6eb6be5e85bfa1ff10712b758a85fe6 /include
parent56fefd712b54327e340ece05a7f115a1d5af5fff (diff)
downloadlinux-fsl-qoriq-af2dcedf4b69a94ed42689be537d3f66e3bb2cbd.tar.xz
dpa_offload: Add support in DPA Stats for miss statistics
Added support in DPA Stats to retrieve the statistics for the miss-entry of either a Classification Node or a Classification Table. The user can request statistics for miss-entry by providing the key set to NULL. The Classification counter API was changed in order to allow the user to provide NULL instead of a valid key. Signed-off-by: Anca Jeanina FLOAREA <anca.floarea@freescale.com> Change-Id: Id871766e5cc7b494c934096829e12af15ded7544 Reviewed-on: http://git.am.freescale.net:8181/3830 Reviewed-by: Zanoschi Aurelian-B43522 <Aurelian.Zanoschi@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Schmitt Richard-B43082 <B43082@freescale.com> Tested-by: Schmitt Richard-B43082 <B43082@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/fsl_dpa_stats.h67
1 files changed, 46 insertions, 21 deletions
diff --git a/include/linux/fsl_dpa_stats.h b/include/linux/fsl_dpa_stats.h
index ba11791..b8fe850 100644
--- a/include/linux/fsl_dpa_stats.h
+++ b/include/linux/fsl_dpa_stats.h
@@ -396,8 +396,11 @@ struct dpa_stats_cnt_classif_tbl {
/* Table descriptor */
int td;
- /* Key to identify a specific entry */
- struct dpa_offload_lookup_key key;
+ /*
+ * Pointer to a key that identifies a specific entry or NULL in order
+ * to obtain statistics for miss entry
+ */
+ struct dpa_offload_lookup_key *key;
/*
* Single or multiple selection of Classifier Table counters
@@ -429,8 +432,11 @@ struct dpa_stats_cnt_classif_node {
/* The type of FMAN Classification Node */
enum dpa_stats_classif_node_type ccnode_type;
- /* Key to identify a specific entry */
- struct dpa_offload_lookup_key key;
+ /*
+ * Pointer to a key that identifies a specific entry or NULL in order
+ * to obtain statistics for miss entry
+ */
+ struct dpa_offload_lookup_key *key;
/*
* Single or multiple selection of Classifier
@@ -576,11 +582,17 @@ enum dpa_stats_classif_key_type {
/* DPA Stats Classification counter - pair of keys */
struct dpa_offload_lookup_key_pair {
- /* Key to identify the first entry */
- struct dpa_offload_lookup_key first_key;
+ /*
+ * Pointer to a key that identifies the first entry or NULL in order
+ * to identify the miss entry of the first table
+ */
+ struct dpa_offload_lookup_key *first_key;
- /* Key to identify the entry connected to the first entry */
- struct dpa_offload_lookup_key second_key;
+ /*
+ * Pointer to a key that identifies the entry connected to the first
+ * entry first entry or NULL in order to identify the miss entry
+ */
+ struct dpa_offload_lookup_key *second_key;
};
/* DPA Stats Classifier Table class counter parameters */
@@ -601,18 +613,28 @@ struct dpa_stats_cls_cnt_classif_tbl {
*/
/*
- * Array of keys to identify specific entries. A key can be
- * 'invalidated' by providing the 'byte' and 'mask' pointers
- * set to NULL.
+ * Pointer to an array of keys, where each element of the array
+ * can either be a key that identifies a specific entry or NULL
+ * in order to obtain the statistics for the miss entry. A key
+ * can be'invalidated' by providing the 'byte' pointer set
+ * to NULL.
*/
- struct dpa_offload_lookup_key *keys;
+ struct dpa_offload_lookup_key **keys;
/*
* Array of 'pair-keys' to identify specific entries. A key pair
* can be 'invalidated' by providing the 'byte' and 'mask'
* pointers of the first key set to NULL
*/
- struct dpa_offload_lookup_key_pair *pairs;
+
+ /*
+ * Pointer to an array of ‘pair-keys’, where each element of the
+ * array can either be a ‘pair-key’ that identifies a specific
+ * entry or NULL in in order to obtain the statistics for the
+ * miss entry. A key pair can be 'invalidated' by providing the
+ * 'byte' pointer of the first key set to NULL.
+ */
+ struct dpa_offload_lookup_key_pair **pairs;
};
/*
@@ -636,7 +658,7 @@ struct dpa_stats_cls_cnt_classif_node {
enum dpa_stats_classif_node_type ccnode_type;
/* Array of keys to identify specific entries */
- struct dpa_offload_lookup_key *keys;
+ struct dpa_offload_lookup_key **keys;
/*
* Single or multiple selection of Classifier counters
@@ -739,17 +761,20 @@ struct dpa_stats_cls_member_params {
union {
/*
- * Key to set or update in case the byte and mask pointers are
- * not NULL, or class member to invalidate otherwise
+ * Pointer to a key to set or update in case the byte pointer is
+ * not NULL, or class member to invalidate otherwise. The
+ * pointer can be NULL, in which case it represents the miss
+ * entry.
*/
- struct dpa_offload_lookup_key key;
+ struct dpa_offload_lookup_key *key;
/*
- * Key to set or update in case the byte and mask pointers of
- * the first key are not NULL, or class member to invalidate
- * otherwise
+ * Pointer to a 'pair-key' to set or update in case the byte
+ * pointer of the first key is not NULL, or class member to
+ * invalidate otherwise. The pointer can be NULL, in which case
+ * it represents the miss entry.
*/
- struct dpa_offload_lookup_key_pair pair;
+ struct dpa_offload_lookup_key_pair *pair;
/*
* Security association identifier to set or update or class