Re: [PATCH v2 1/2] dmaengine: fsl-emda: add debugfs support

From: kernel test robot
Date: Tue Sep 19 2023 - 19:51:47 EST


Hi Frank,

kernel test robot noticed the following build warnings:

[auto build test WARNING on vkoul-dmaengine/next]
[also build test WARNING on linus/master v6.6-rc2 next-20230919]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Frank-Li/dmaengine-fsl-emda-add-debugfs-support/20230920-010257
base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next
patch link: https://lore.kernel.org/r/20230919151430.2919042-2-Frank.Li%40nxp.com
patch subject: [PATCH v2 1/2] dmaengine: fsl-emda: add debugfs support
config: x86_64-randconfig-123-20230920 (https://download.01.org/0day-ci/archive/20230920/202309200741.0Cx6Gz9M-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230920/202309200741.0Cx6Gz9M-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309200741.0Cx6Gz9M-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/dma/fsl-edma-debugfs.c:17:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-debugfs.c:17:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:18:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:18:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:19:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:19:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:20:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:20:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:21:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:21:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:22:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:22:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:23:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:23:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:24:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:24:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:25:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:25:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:26:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:26:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:27:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:27:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-debugfs.c:35:15: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-debugfs.c:72:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *cr @@
drivers/dma/fsl-edma-debugfs.c:72:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:72:9: sparse: got void [noderef] __iomem *cr
>> drivers/dma/fsl-edma-debugfs.c:73:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *es @@
drivers/dma/fsl-edma-debugfs.c:73:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:73:9: sparse: got void [noderef] __iomem *es
>> drivers/dma/fsl-edma-debugfs.c:74:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *erqh @@
drivers/dma/fsl-edma-debugfs.c:74:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:74:9: sparse: got void [noderef] __iomem *erqh
>> drivers/dma/fsl-edma-debugfs.c:75:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *erql @@
drivers/dma/fsl-edma-debugfs.c:75:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:75:9: sparse: got void [noderef] __iomem *erql
>> drivers/dma/fsl-edma-debugfs.c:76:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *eeih @@
drivers/dma/fsl-edma-debugfs.c:76:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:76:9: sparse: got void [noderef] __iomem *eeih
>> drivers/dma/fsl-edma-debugfs.c:77:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *eeil @@
drivers/dma/fsl-edma-debugfs.c:77:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:77:9: sparse: got void [noderef] __iomem *eeil
>> drivers/dma/fsl-edma-debugfs.c:78:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *seei @@
drivers/dma/fsl-edma-debugfs.c:78:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:78:9: sparse: got void [noderef] __iomem *seei
>> drivers/dma/fsl-edma-debugfs.c:79:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *ceei @@
drivers/dma/fsl-edma-debugfs.c:79:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:79:9: sparse: got void [noderef] __iomem *ceei
>> drivers/dma/fsl-edma-debugfs.c:80:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *serq @@
drivers/dma/fsl-edma-debugfs.c:80:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:80:9: sparse: got void [noderef] __iomem *serq
>> drivers/dma/fsl-edma-debugfs.c:81:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *cerq @@
drivers/dma/fsl-edma-debugfs.c:81:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:81:9: sparse: got void [noderef] __iomem *cerq
>> drivers/dma/fsl-edma-debugfs.c:82:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *cint @@
drivers/dma/fsl-edma-debugfs.c:82:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:82:9: sparse: got void [noderef] __iomem *cint
>> drivers/dma/fsl-edma-debugfs.c:83:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *cerr @@
drivers/dma/fsl-edma-debugfs.c:83:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:83:9: sparse: got void [noderef] __iomem *cerr
>> drivers/dma/fsl-edma-debugfs.c:84:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *ssrt @@
drivers/dma/fsl-edma-debugfs.c:84:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:84:9: sparse: got void [noderef] __iomem *ssrt
>> drivers/dma/fsl-edma-debugfs.c:85:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *cdne @@
drivers/dma/fsl-edma-debugfs.c:85:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:85:9: sparse: got void [noderef] __iomem *cdne
>> drivers/dma/fsl-edma-debugfs.c:86:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *inth @@
drivers/dma/fsl-edma-debugfs.c:86:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:86:9: sparse: got void [noderef] __iomem *inth
>> drivers/dma/fsl-edma-debugfs.c:87:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *errh @@
drivers/dma/fsl-edma-debugfs.c:87:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:87:9: sparse: got void [noderef] __iomem *errh
>> drivers/dma/fsl-edma-debugfs.c:88:9: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected unsigned int [usertype] *value @@ got void [noderef] __iomem *errl @@
drivers/dma/fsl-edma-debugfs.c:88:9: sparse: expected unsigned int [usertype] *value
drivers/dma/fsl-edma-debugfs.c:88:9: sparse: got void [noderef] __iomem *errl

vim +/__iomem +17 drivers/dma/fsl-edma-debugfs.c

11
12 #define fsl_edma_debugfs_regv1(reg, dir, __name) \
13 debugfs_create_x32(__stringify(__name), 0644, dir, reg.__name)
14
15 static void fsl_edma_debufs_tcdreg(struct fsl_edma_chan *chan, struct dentry *dir)
16 {
> 17 fsl_edma_debugfs_reg(chan->tcd, dir, saddr);
18 fsl_edma_debugfs_reg(chan->tcd, dir, soff);
19 fsl_edma_debugfs_reg(chan->tcd, dir, attr);
20 fsl_edma_debugfs_reg(chan->tcd, dir, nbytes);
21 fsl_edma_debugfs_reg(chan->tcd, dir, slast);
22 fsl_edma_debugfs_reg(chan->tcd, dir, daddr);
23 fsl_edma_debugfs_reg(chan->tcd, dir, doff);
> 24 fsl_edma_debugfs_reg(chan->tcd, dir, citer);
> 25 fsl_edma_debugfs_reg(chan->tcd, dir, dlast_sga);
26 fsl_edma_debugfs_reg(chan->tcd, dir, csr);
> 27 fsl_edma_debugfs_reg(chan->tcd, dir, biter);
28 }
29
30 static void fsl_edma3_debufs_chan(struct fsl_edma_chan *chan, struct dentry *entry)
31 {
32 struct fsl_edma3_ch_reg *reg;
33 struct dentry *dir;
34
35 reg = container_of(chan->tcd, struct fsl_edma3_ch_reg, tcd);
36 fsl_edma_debugfs_reg(reg, entry, ch_csr);
37 fsl_edma_debugfs_reg(reg, entry, ch_int);
38 fsl_edma_debugfs_reg(reg, entry, ch_sbr);
39 fsl_edma_debugfs_reg(reg, entry, ch_pri);
40 fsl_edma_debugfs_reg(reg, entry, ch_mux);
41 fsl_edma_debugfs_reg(reg, entry, ch_mattr);
42
43 dir = debugfs_create_dir("tcd_regs", entry);
44
45 fsl_edma_debufs_tcdreg(chan, dir);
46 }
47
48 static void fsl_edma3_debugfs_init(struct fsl_edma_engine *edma)
49 {
50 struct fsl_edma_chan *chan;
51 struct dentry *dir;
52 int i;
53
54 for (i = 0; i < edma->n_chans; i++) {
55 if (edma->chan_masked & BIT(i))
56 continue;
57
58 chan = &edma->chans[i];
59 dir = debugfs_create_dir(chan->chan_name, edma->dma_dev.dbg_dev_root);
60
61 fsl_edma3_debufs_chan(chan, dir);
62 }
63
64 }
65
66 static void fsl_edma_debugfs_init(struct fsl_edma_engine *edma)
67 {
68 struct fsl_edma_chan *chan;
69 struct dentry *dir;
70 int i;
71
> 72 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, cr);
> 73 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, es);
> 74 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, erqh);
> 75 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, erql);
> 76 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, eeih);
> 77 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, eeil);
> 78 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, seei);
> 79 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, ceei);
> 80 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, serq);
> 81 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, cerq);
> 82 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, cint);
> 83 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, cerr);
> 84 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, ssrt);
> 85 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, cdne);
> 86 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, inth);
> 87 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, errh);
> 88 fsl_edma_debugfs_regv1(edma->regs, edma->dma_dev.dbg_dev_root, errl);
89
90 for (i = 0; i < edma->n_chans; i++) {
91 if (edma->chan_masked & BIT(i))
92 continue;
93
94 chan = &edma->chans[i];
95 dir = debugfs_create_dir(chan->chan_name, edma->dma_dev.dbg_dev_root);
96
97 fsl_edma_debufs_tcdreg(chan, dir);
98 }
99 }
100

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki