1
0
Fork 0

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>
(cherry picked from commit 68db373cc5721a31e604604fefeaa66b71204da5)
5.4-rM2-2.2.x-imx-squashed
Roy Pledge 2020-02-18 14:02:21 -05:00 committed by Jason Liu
parent 603554005b
commit 444f9e85d6
2 changed files with 17 additions and 8 deletions

View File

@ -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_init(void)
{
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");

View File

@ -1457,13 +1457,16 @@ static int __init qman_debugfs_module_init(void)
fqid_max = 0;
init_ccsrmempeek();
if (qman_ccsr_start) {
if (!qman_ccsrmempeek(&reg, 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(&reg, 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);