diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0406-sdk_qbman-Only-create-debugfs-entries-when-QBMan-is-.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0406-sdk_qbman-Only-create-debugfs-entries-when-QBMan-is-.patch | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0406-sdk_qbman-Only-create-debugfs-entries-when-QBMan-is-.patch b/target/linux/layerscape/patches-5.4/701-net-0406-sdk_qbman-Only-create-debugfs-entries-when-QBMan-is-.patch new file mode 100644 index 0000000000..889aecc383 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0406-sdk_qbman-Only-create-debugfs-entries-when-QBMan-is-.patch @@ -0,0 +1,69 @@ +From f34c01773d5dbd2db04200079bb4d32ecb0cd847 Mon Sep 17 00:00:00 2001 +From: Roy Pledge <roy.pledge@nxp.com> +Date: Tue, 18 Feb 2020 14:02:21 -0500 +Subject: [PATCH] sdk_qbman: Only create debugfs entries when QBMan is part of + device tree + +Only create debugfs entries if the QBMan nodes exist in the device +tree. + +Signed-off-by: Roy Pledge <roy.pledge@nxp.com> +Acked-by: Madalin Bucur <madalin.bucur@nxp.com> +Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> +--- + drivers/staging/fsl_qbman/bman_debugfs.c | 8 +++++++- + drivers/staging/fsl_qbman/qman_debugfs.c | 17 ++++++++++------- + 2 files changed, 17 insertions(+), 8 deletions(-) + +--- a/drivers/staging/fsl_qbman/bman_debugfs.c ++++ b/drivers/staging/fsl_qbman/bman_debugfs.c +@@ -33,6 +33,7 @@ + #include <linux/debugfs.h> + #include <linux/seq_file.h> + #include <linux/uaccess.h> ++#include <linux/of.h> + + static struct dentry *dfs_root; /* debugfs root directory */ + +@@ -83,9 +84,14 @@ static int __init bman_debugfs_module_in + { + int ret = 0; + struct dentry *d; ++ struct device_node *dn; + ++ dn = of_find_compatible_node(NULL, NULL, "fsl,bman"); ++ if (!dn) { ++ pr_debug("No fsl,bman node\n"); ++ return 0; ++ } + dfs_root = debugfs_create_dir("bman", NULL); +- + if (dfs_root == NULL) { + ret = -ENOMEM; + pr_err("Cannot create bman debugfs dir\n"); +--- a/drivers/staging/fsl_qbman/qman_debugfs.c ++++ b/drivers/staging/fsl_qbman/qman_debugfs.c +@@ -1457,13 +1457,16 @@ static int __init qman_debugfs_module_in + + fqid_max = 0; + init_ccsrmempeek(); +- if (qman_ccsr_start) { +- if (!qman_ccsrmempeek(®, QM_FQD_AR)) { +- /* extract the size of the FQD window */ +- reg = reg & 0x3f; +- /* calculate valid frame queue descriptor range */ +- fqid_max = (1 << (reg + 1)) / QM_FQD_BLOCK_SIZE; +- } ++ if (!qman_ccsr_start) { ++ /* No QMan node found in device tree */ ++ return 0; ++ } ++ ++ if (!qman_ccsrmempeek(®, QM_FQD_AR)) { ++ /* extract the size of the FQD window */ ++ reg = reg & 0x3f; ++ /* calculate valid frame queue descriptor range */ ++ fqid_max = (1 << (reg + 1)) / QM_FQD_BLOCK_SIZE; + } + dfs_root = debugfs_create_dir("qman", NULL); + fqd_root = debugfs_create_dir("fqd", dfs_root); |