summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorMarian Chereji <marian.chereji@freescale.com>2014-07-21 14:51:41 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:39:27 (GMT)
commitd819390700a74461259e2f6d078b51a15bf07686 (patch)
treeb950dc79c264aaca53612af5b68125206887c4e8 /drivers/staging
parentad6a7ef8c32893a0888b46c6bff5601435178bae (diff)
downloadlinux-fsl-qoriq-d819390700a74461259e2f6d078b51a15bf07686.tar.xz
dpa_offload: Adjust debug information for dpa_classifier
Added possibility to display some more debugging information. Change-Id: I66a7a110953b6dbcea15b3ee983cd5814fc65ce7 Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/15222 Reviewed-by: Radu-Andrei Bulie <Radu.Bulie@freescale.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/fsl_dpa_offload/dpa_classifier.c86
1 files changed, 78 insertions, 8 deletions
diff --git a/drivers/staging/fsl_dpa_offload/dpa_classifier.c b/drivers/staging/fsl_dpa_offload/dpa_classifier.c
index ae96fce..fe22df8 100644
--- a/drivers/staging/fsl_dpa_offload/dpa_classifier.c
+++ b/drivers/staging/fsl_dpa_offload/dpa_classifier.c
@@ -3777,6 +3777,8 @@ static int import_hm_nodes_to_chain(void * const *node_array,
/* Node does not exist, we need to create it */
hm->hm_node[i] = kzalloc(sizeof(struct dpa_cls_hm_node),
GFP_KERNEL);
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm->hm_node[i]));
if (!hm->hm_node[i]) {
log_err("Not enough memory for HM node "
"management.\n");
@@ -4009,8 +4011,8 @@ static int init_hm_chain(void *fm_pcd, struct list_head *chain_head,
pcurrent->params.h_NextManip = (pnext) ? (t_Handle)pnext->node : NULL;
#ifdef DPA_CLASSIFIER_DEBUG
- dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Dumping HM node params.\n",
- __func__, __LINE__));
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Dumping HM node params for hm_node @ 0x%p\n",
+ __func__, __LINE__, pcurrent));
switch (pcurrent->params.type) {
case e_FM_PCD_MANIP_HDR:
dpa_cls_dbg((" hm_node_params.type = "
@@ -4018,9 +4020,33 @@ static int init_hm_chain(void *fm_pcd, struct list_head *chain_head,
dpa_cls_dbg((" hm_node_params.u.hdr.rmv = %d\n",
pcurrent->params.u.hdr.rmv));
if (pcurrent->params.u.hdr.rmv) {
- dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams"
- ".type = %d\n",
- pcurrent->params.u.hdr.rmvParams.type));
+ switch (pcurrent->params.u.hdr.rmvParams.type) {
+ case e_FM_PCD_MANIP_RMV_GENERIC:
+ dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams"
+ ".type = e_FM_PCD_MANIP_RMV_GENERIC\n"));
+ dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams."
+ "u.generic.offset = %u\n",
+ pcurrent->params.u.hdr.rmvParams.u.generic.offset));
+ dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams."
+ "u.generic.size = %u\n",
+ pcurrent->params.u.hdr.rmvParams.u.generic.size));
+ break;
+ case e_FM_PCD_MANIP_RMV_BY_HDR:
+ dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams"
+ ".type = e_FM_PCD_MANIP_RMV_BY_HDR\n"));
+ if (pcurrent->params.u.hdr.rmvParams.u.byHdr.type == e_FM_PCD_MANIP_RMV_BY_HDR_SPECIFIC_L2) {
+ dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams."
+ "u.byHdr.type = e_FM_PCD_MANIP_RMV_BY_HDR_SPECIFIC_L2\n"));
+ dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams."
+ "u.byHdr.u.specificL2 = %d\n",
+ pcurrent->params.u.hdr.rmvParams.u.byHdr.u.specificL2));
+ } else {
+ dpa_cls_dbg((" hm_node_params.u.hdr.rmvParams."
+ "u.byHdr.type = %d\n",
+ pcurrent->params.u.hdr.rmvParams.u.byHdr.type));
+ }
+ break;
+ }
}
dpa_cls_dbg((" hm_node_params.u.hdr.insrt = %d\n",
pcurrent->params.u.hdr.insrt));
@@ -4113,10 +4139,26 @@ static int init_hm_chain(void *fm_pcd, struct list_head *chain_head,
dpa_cls_dbg((" hm_node_params.u.hdr.custom = %d\n",
pcurrent->params.u.hdr.custom));
if (pcurrent->params.u.hdr.custom) {
- dpa_cls_dbg((" hm_node_params.u.hdr."
- "custom.type = %d\n",
- pcurrent->params.u.hdr.customParams.type));
+ if (pcurrent->params.u.hdr.customParams.type ==
+ e_FM_PCD_MANIP_HDR_CUSTOM_IP_REPLACE) {
+ dpa_cls_dbg((" hm_node_params.u.hdr.customParams."
+ "type = e_FM_PCD_MANIP_HDR_CUSTOM_IP_REPLACE\n"));
+ dpa_cls_dbg((" hm_node_params.u.hdr.customParams.u.ipHdrReplace.replaceType = %d\n",
+ pcurrent->params.u.hdr.customParams.u.ipHdrReplace.replaceType));
+ dpa_cls_dbg((" hm_node_params.u.hdr.customParams.u.ipHdrReplace.decTtlHl = %d\n",
+ pcurrent->params.u.hdr.customParams.u.ipHdrReplace.decTtlHl));
+ dpa_cls_dbg((" hm_node_params.u.hdr.customParams.u.ipHdrReplace.updateIpv4Id = %d\n",
+ pcurrent->params.u.hdr.customParams.u.ipHdrReplace.updateIpv4Id));
+ dpa_cls_dbg((" hm_node_params.u.hdr.customParams.u.ipHdrReplace.id = %u\n",
+ pcurrent->params.u.hdr.customParams.u.ipHdrReplace.id));
+ dpa_cls_dbg((" hm_node_params.u.hdr.customParams.u.ipHdrReplace.hdrSize = %u\n",
+ pcurrent->params.u.hdr.customParams.u.ipHdrReplace.hdrSize));
+ } else
+ dpa_cls_dbg((" hm_node_params.u.hdr.customParams.type = %d\n",
+ pcurrent->params.u.hdr.customParams.type));
}
+ dpa_cls_dbg((" hm_node_params.u.hdr.dontParseAfterManip = %d\n",
+ pcurrent->params.u.hdr.dontParseAfterManip));
break;
case e_FM_PCD_MANIP_FRAG:
dpa_cls_dbg((" hm_node_params.type = "
@@ -4464,6 +4506,9 @@ static int nat_hm_prepare_nodes(struct dpa_cls_hm *pnat_hm,
if (res) { /* Import HM nodes */
phm_nodes = &res->l3_update_node;
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d) <--\n", __func__,
+ __LINE__));
+
return import_hm_nodes_to_chain(phm_nodes,
pnat_hm->num_nodes,
pnat_hm);
@@ -4973,6 +5018,9 @@ static int fwd_hm_prepare_nodes(struct dpa_cls_hm *pfwd_hm,
if (res) { /* Import HM nodes */
phm_nodes = &res->fwd_node;
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d) <--\n", __func__,
+ __LINE__));
+
return import_hm_nodes_to_chain(phm_nodes,
pfwd_hm->num_nodes,
pfwd_hm);
@@ -4980,6 +5028,9 @@ static int fwd_hm_prepare_nodes(struct dpa_cls_hm *pfwd_hm,
/* Create a header manip node: */
hm_node = kzalloc(sizeof(*hm_node), GFP_KERNEL);
+
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm_node));
if (!hm_node) {
log_err("No more memory for header manip nodes.\n");
return -ENOMEM;
@@ -4996,6 +5047,8 @@ static int fwd_hm_prepare_nodes(struct dpa_cls_hm *pfwd_hm,
/* IP fragmentation option is enabled */
/* Create a header manip node: */
hm_node = kzalloc(sizeof(*hm_node), GFP_KERNEL);
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm_node));
if (!hm_node) {
log_err("No more memory for header manip nodes.\n");
return -ENOMEM;
@@ -5418,6 +5471,9 @@ static int remove_hm_prepare_nodes(struct dpa_cls_hm *premove_hm,
if (hm_node == NULL) {
/* Create a header manip node for this remove: */
hm_node = kzalloc(sizeof(*hm_node), GFP_KERNEL);
+
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm_node));
if (!hm_node) {
log_err("No more memory for header manip nodes.\n");
return -ENOMEM;
@@ -5716,6 +5772,9 @@ static int insert_hm_prepare_nodes(struct dpa_cls_hm *pinsert_hm,
if (hm_node == NULL) {
/* Create a header manip node for this insert: */
hm_node = kzalloc(sizeof(*hm_node), GFP_KERNEL);
+
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm_node));
if (!hm_node) {
log_err("No more memory for header manip nodes.\n");
return -ENOMEM;
@@ -6121,6 +6180,9 @@ static int update_hm_prepare_nodes(struct dpa_cls_hm *pupdate_hm,
if (res) { /* Import HM nodes */
phm_nodes = &res->update_node;
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d) <--\n", __func__,
+ __LINE__));
+
return import_hm_nodes_to_chain(phm_nodes,
pupdate_hm->num_nodes,
pupdate_hm);
@@ -6151,6 +6213,8 @@ static int update_hm_prepare_nodes(struct dpa_cls_hm *pupdate_hm,
/* IP fragmentation option is enabled */
/* Create a header manip node: */
hm_node = kzalloc(sizeof(*hm_node), GFP_KERNEL);
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm_node));
if (!hm_node) {
log_err("No more memory for header manip nodes.\n");
return -ENOMEM;
@@ -6758,6 +6822,9 @@ static int vlan_hm_prepare_nodes(struct dpa_cls_hm *pvlan_hm,
if (hm_node == NULL) {
/* Create a header manip node for this insert: */
hm_node = kzalloc(sizeof(*hm_node), GFP_KERNEL);
+
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm_node));
if (!hm_node) {
log_err("No more memory for header manip nodes.\n");
return -ENOMEM;
@@ -7156,6 +7223,9 @@ static int mpls_hm_prepare_nodes(struct dpa_cls_hm *pmpls_hm,
if (hm_node == NULL) {
/* Create a header manip node for this insert: */
hm_node = kzalloc(sizeof(*hm_node), GFP_KERNEL);
+
+ dpa_cls_dbg(("DEBUG: dpa_classifier %s (%d): Created new hm_node = 0x%p\n", __func__,
+ __LINE__, hm_node));
if (!hm_node) {
log_err("No more memory for header manip nodes.\n");
return -ENOMEM;