Re: [PATCH v2 5/5] dmaengine: fsl-edma: integrate TCD64 support for i.MX95

From: kernel test robot
Date: Fri Nov 17 2023 - 18:03:33 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.7-rc1 next-20231117]
[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-edma-involve-help-macro-fsl_edma_set-get-_tcd/20231117-062946
base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next
patch link: https://lore.kernel.org/r/20231116222743.2984776-6-Frank.Li%40nxp.com
patch subject: [PATCH v2 5/5] dmaengine: fsl-edma: integrate TCD64 support for i.MX95
config: x86_64-randconfig-r113-20231117 (https://download.01.org/0day-ci/archive/20231118/202311180609.osug47KZ-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/20231118/202311180609.osug47KZ-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/202311180609.osug47KZ-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/dma/fsl-edma-main.c:59:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:63:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-main.c:554:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:554:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:554:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-main.c:676:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le16 * @@
drivers/dma/fsl-edma-main.c:676:17: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-main.c:676:17: sparse: got restricted __le16 *
--
drivers/dma/fsl-edma-common.c:76:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:93:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:104:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:106:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:131:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:140:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:361:26: sparse: sparse: cast to restricted __le16
drivers/dma/fsl-edma-common.c:361:26: sparse: sparse: cast from restricted __le32
>> drivers/dma/fsl-edma-common.c:361:26: sparse: sparse: cast to restricted __le64
drivers/dma/fsl-edma-common.c:361:26: sparse: sparse: cast from restricted __le32
drivers/dma/fsl-edma-common.c:364:33: sparse: sparse: cast to restricted __le32
drivers/dma/fsl-edma-common.c:364:33: sparse: sparse: cast from restricted __le16
drivers/dma/fsl-edma-common.c:364:33: sparse: sparse: cast to restricted __le64
drivers/dma/fsl-edma-common.c:364:33: sparse: sparse: cast from restricted __le16
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:373:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:373:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:373:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:373:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:373:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:373:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:373:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:373:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:373:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:373:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/fsl-edma-common.c:373:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:373:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:373:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:374:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:374:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:374:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:374:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:374:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:374:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:374:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:374:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:374:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:374:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:374:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:374:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:374:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:376:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:376:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:376:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:376:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:376:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:376:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:376:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:376:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:376:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:376:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:376:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:376:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:376:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:377:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:377:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:377:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:377:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/dma/fsl-edma-common.c:377:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:377:36: sparse: got restricted __le32 *
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:377:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:377:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:377:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:377:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/fsl-edma-common.c:377:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le64 * @@
drivers/dma/fsl-edma-common.c:377:36: sparse: expected void [noderef] __iomem *addr
drivers/dma/fsl-edma-common.c:377:36: sparse: got restricted __le64 *
drivers/dma/fsl-edma-common.c:383:26: sparse: sparse: cast to restricted __le16
drivers/dma/fsl-edma-common.c:383:26: sparse: sparse: cast from restricted __le32
drivers/dma/fsl-edma-common.c:383:26: sparse: sparse: cast to restricted __le64
drivers/dma/fsl-edma-common.c:383:26: sparse: sparse: cast from restricted __le32
drivers/dma/fsl-edma-common.c:387:33: sparse: sparse: cast to restricted __le32
drivers/dma/fsl-edma-common.c:387:33: sparse: sparse: cast from restricted __le16
drivers/dma/fsl-edma-common.c:387:33: sparse: sparse: cast to restricted __le64
drivers/dma/fsl-edma-common.c:387:33: sparse: sparse: cast from restricted __le16
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le64 degrades to integer
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le32 degrades to integer
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le64 degrades to integer
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le32 degrades to integer
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le64 degrades to integer
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le32 degrades to integer
drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: cast to restricted __le16
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le64 degrades to integer
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le32 degrades to integer
drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: cast to restricted __le32
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le64 degrades to integer
>> drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: restricted __le32 degrades to integer
drivers/dma/fsl-edma-common.c:390:36: sparse: sparse: cast to restricted __le64
drivers/dma/fsl-edma-common.c:392:36: sparse: sparse: too many warnings

vim +554 drivers/dma/fsl-edma-main.c

72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 427
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 428 static int fsl_edma_probe(struct platform_device *pdev)
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 429 {
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 430 struct device_node *np = pdev->dev.of_node;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 431 struct fsl_edma_engine *fsl_edma;
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 432 const struct fsl_edma_drvdata *drvdata = NULL;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 433 u32 chan_mask[2] = {0, 0};
377eaf3b3c4ad7 drivers/dma/fsl-edma.c Angelo Dureghello 2018-08-19 434 struct edma_regs *regs;
33a0b734543ed5 drivers/dma/fsl-edma.c Yu Liao 2023-08-21 435 int chans;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 436 int ret, i;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 437
a67ba97dfb3048 drivers/dma/fsl-edma-main.c Rob Herring 2023-10-06 438 drvdata = device_get_match_data(&pdev->dev);
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 439 if (!drvdata) {
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 440 dev_err(&pdev->dev, "unable to find driver data\n");
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 441 return -EINVAL;
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 442 }
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 443
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 444 ret = of_property_read_u32(np, "dma-channels", &chans);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 445 if (ret) {
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 446 dev_err(&pdev->dev, "Can't get dma-channels.\n");
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 447 return ret;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 448 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 449
33a0b734543ed5 drivers/dma/fsl-edma.c Yu Liao 2023-08-21 450 fsl_edma = devm_kzalloc(&pdev->dev, struct_size(fsl_edma, chans, chans),
33a0b734543ed5 drivers/dma/fsl-edma.c Yu Liao 2023-08-21 451 GFP_KERNEL);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 452 if (!fsl_edma)
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 453 return -ENOMEM;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 454
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 455 fsl_edma->drvdata = drvdata;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 456 fsl_edma->n_chans = chans;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 457 mutex_init(&fsl_edma->fsl_edma_mutex);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 458
4b23603a251d24 drivers/dma/fsl-edma.c Tudor Ambarus 2022-11-10 459 fsl_edma->membase = devm_platform_ioremap_resource(pdev, 0);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 460 if (IS_ERR(fsl_edma->membase))
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 461 return PTR_ERR(fsl_edma->membase);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 462
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 463 if (!(drvdata->flags & FSL_EDMA_DRV_SPLIT_REG)) {
377eaf3b3c4ad7 drivers/dma/fsl-edma.c Angelo Dureghello 2018-08-19 464 fsl_edma_setup_regs(fsl_edma);
377eaf3b3c4ad7 drivers/dma/fsl-edma.c Angelo Dureghello 2018-08-19 465 regs = &fsl_edma->regs;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 466 }
377eaf3b3c4ad7 drivers/dma/fsl-edma.c Angelo Dureghello 2018-08-19 467
9e006b243962a4 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 468 if (drvdata->flags & FSL_EDMA_DRV_HAS_DMACLK) {
a9903de3aa1673 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 469 fsl_edma->dmaclk = devm_clk_get_enabled(&pdev->dev, "dma");
232a7f18cf8ecb drivers/dma/fsl-edma.c Robin Gong 2019-07-24 470 if (IS_ERR(fsl_edma->dmaclk)) {
232a7f18cf8ecb drivers/dma/fsl-edma.c Robin Gong 2019-07-24 471 dev_err(&pdev->dev, "Missing DMA block clock.\n");
232a7f18cf8ecb drivers/dma/fsl-edma.c Robin Gong 2019-07-24 472 return PTR_ERR(fsl_edma->dmaclk);
232a7f18cf8ecb drivers/dma/fsl-edma.c Robin Gong 2019-07-24 473 }
232a7f18cf8ecb drivers/dma/fsl-edma.c Robin Gong 2019-07-24 474 }
232a7f18cf8ecb drivers/dma/fsl-edma.c Robin Gong 2019-07-24 475
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 476 if (drvdata->flags & FSL_EDMA_DRV_HAS_CHCLK) {
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 477 fsl_edma->chclk = devm_clk_get_enabled(&pdev->dev, "mp");
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 478 if (IS_ERR(fsl_edma->chclk)) {
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 479 dev_err(&pdev->dev, "Missing MP block clock.\n");
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 480 return PTR_ERR(fsl_edma->chclk);
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 481 }
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 482 }
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 483
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 484 ret = of_property_read_variable_u32_array(np, "dma-channel-mask", chan_mask, 1, 2);
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 485
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 486 if (ret > 0) {
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 487 fsl_edma->chan_masked = chan_mask[1];
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 488 fsl_edma->chan_masked <<= 32;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 489 fsl_edma->chan_masked |= chan_mask[0];
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 490 }
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 491
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 492 for (i = 0; i < fsl_edma->drvdata->dmamuxs; i++) {
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 493 char clkname[32];
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 494
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 495 /* eDMAv3 mux register move to TCD area if ch_mux exist */
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 496 if (drvdata->flags & FSL_EDMA_DRV_SPLIT_REG)
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 497 break;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 498
4b23603a251d24 drivers/dma/fsl-edma.c Tudor Ambarus 2022-11-10 499 fsl_edma->muxbase[i] = devm_platform_ioremap_resource(pdev,
4b23603a251d24 drivers/dma/fsl-edma.c Tudor Ambarus 2022-11-10 500 1 + i);
2610acf46b9ed5 drivers/dma/fsl-edma.c Andreas Platschek 2017-12-14 501 if (IS_ERR(fsl_edma->muxbase[i])) {
2610acf46b9ed5 drivers/dma/fsl-edma.c Andreas Platschek 2017-12-14 502 /* on error: disable all previously enabled clks */
2610acf46b9ed5 drivers/dma/fsl-edma.c Andreas Platschek 2017-12-14 503 fsl_disable_clocks(fsl_edma, i);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 504 return PTR_ERR(fsl_edma->muxbase[i]);
2610acf46b9ed5 drivers/dma/fsl-edma.c Andreas Platschek 2017-12-14 505 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 506
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 507 sprintf(clkname, "dmamux%d", i);
a9903de3aa1673 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 508 fsl_edma->muxclk[i] = devm_clk_get_enabled(&pdev->dev, clkname);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 509 if (IS_ERR(fsl_edma->muxclk[i])) {
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 510 dev_err(&pdev->dev, "Missing DMAMUX block clock.\n");
2610acf46b9ed5 drivers/dma/fsl-edma.c Andreas Platschek 2017-12-14 511 /* on error: disable all previously enabled clks */
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 512 return PTR_ERR(fsl_edma->muxclk[i]);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 513 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 514 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 515
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 516 fsl_edma->big_endian = of_property_read_bool(np, "big-endian");
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 517
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 518 if (drvdata->flags & FSL_EDMA_DRV_HAS_PD) {
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 519 ret = fsl_edma3_attach_pd(pdev, fsl_edma);
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 520 if (ret)
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 521 return ret;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 522 }
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 523
718250845ce432 drivers/dma/fsl-edma-main.c Frank Li 2023-11-16 524 if (drvdata->flags & FSL_EDMA_DRV_TCD64)
718250845ce432 drivers/dma/fsl-edma-main.c Frank Li 2023-11-16 525 dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
718250845ce432 drivers/dma/fsl-edma-main.c Frank Li 2023-11-16 526
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 527 INIT_LIST_HEAD(&fsl_edma->dma_dev.channels);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 528 for (i = 0; i < fsl_edma->n_chans; i++) {
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 529 struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i];
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 530 int len;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 531
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 532 if (fsl_edma->chan_masked & BIT(i))
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 533 continue;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 534
9b05554c5ca682 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 535 snprintf(fsl_chan->chan_name, sizeof(fsl_chan->chan_name), "%s-CH%02d",
9b05554c5ca682 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 536 dev_name(&pdev->dev), i);
9b05554c5ca682 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 537
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 538 fsl_chan->edma = fsl_edma;
82d149b86d31e1 drivers/dma/fsl-edma.c Yuan Yao 2015-10-30 539 fsl_chan->pm_state = RUNNING;
82d149b86d31e1 drivers/dma/fsl-edma.c Yuan Yao 2015-10-30 540 fsl_chan->slave_id = 0;
82d149b86d31e1 drivers/dma/fsl-edma.c Yuan Yao 2015-10-30 541 fsl_chan->idle = true;
0fa89f972da607 drivers/dma/fsl-edma.c Laurentiu Tudor 2019-01-18 542 fsl_chan->dma_dir = DMA_NONE;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 543 fsl_chan->vchan.desc_free = fsl_edma_free_desc;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 544
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 545 len = (drvdata->flags & FSL_EDMA_DRV_SPLIT_REG) ?
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 546 offsetof(struct fsl_edma3_ch_reg, tcd) : 0;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 547 fsl_chan->tcd = fsl_edma->membase
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 548 + i * drvdata->chreg_space_sz + drvdata->chreg_off + len;
9dc1dc9f63c698 drivers/dma/fsl-edma-main.c Frank Li 2023-11-16 549 fsl_chan->mux_addr = fsl_edma->membase + drvdata->mux_off + i * drvdata->mux_skip;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 550
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 551 fsl_chan->pdev = pdev;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 552 vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 553
7536f8b371adcc drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 @554 edma_write_tcdreg(fsl_chan, 0, csr);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 555 fsl_edma_chan_mux(fsl_chan, 0, false);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 556 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 557
af802728e4ab07 drivers/dma/fsl-edma.c Robin Gong 2019-06-25 558 ret = fsl_edma->drvdata->setup_irq(pdev, fsl_edma);
0fe25d61102d44 drivers/dma/fsl-edma.c Stefan Agner 2015-06-07 559 if (ret)
0fe25d61102d44 drivers/dma/fsl-edma.c Stefan Agner 2015-06-07 560 return ret;
0fe25d61102d44 drivers/dma/fsl-edma.c Stefan Agner 2015-06-07 561
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 562 dma_cap_set(DMA_PRIVATE, fsl_edma->dma_dev.cap_mask);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 563 dma_cap_set(DMA_SLAVE, fsl_edma->dma_dev.cap_mask);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 564 dma_cap_set(DMA_CYCLIC, fsl_edma->dma_dev.cap_mask);
e0674853943287 drivers/dma/fsl-edma.c Joy Zou 2021-10-26 565 dma_cap_set(DMA_MEMCPY, fsl_edma->dma_dev.cap_mask);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 566
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 567 fsl_edma->dma_dev.dev = &pdev->dev;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 568 fsl_edma->dma_dev.device_alloc_chan_resources
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 569 = fsl_edma_alloc_chan_resources;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 570 fsl_edma->dma_dev.device_free_chan_resources
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 571 = fsl_edma_free_chan_resources;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 572 fsl_edma->dma_dev.device_tx_status = fsl_edma_tx_status;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 573 fsl_edma->dma_dev.device_prep_slave_sg = fsl_edma_prep_slave_sg;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 574 fsl_edma->dma_dev.device_prep_dma_cyclic = fsl_edma_prep_dma_cyclic;
e0674853943287 drivers/dma/fsl-edma.c Joy Zou 2021-10-26 575 fsl_edma->dma_dev.device_prep_dma_memcpy = fsl_edma_prep_memcpy;
d80f381f321ab7 drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 576 fsl_edma->dma_dev.device_config = fsl_edma_slave_config;
d80f381f321ab7 drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 577 fsl_edma->dma_dev.device_pause = fsl_edma_pause;
d80f381f321ab7 drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 578 fsl_edma->dma_dev.device_resume = fsl_edma_resume;
d80f381f321ab7 drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 579 fsl_edma->dma_dev.device_terminate_all = fsl_edma_terminate_all;
ba1cab79cfc629 drivers/dma/fsl-edma.c Andrey Smirnov 2019-07-31 580 fsl_edma->dma_dev.device_synchronize = fsl_edma_synchronize;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 581 fsl_edma->dma_dev.device_issue_pending = fsl_edma_issue_pending;
f45c431148e1ba drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 582
f45c431148e1ba drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 583 fsl_edma->dma_dev.src_addr_widths = FSL_EDMA_BUSWIDTHS;
f45c431148e1ba drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 584 fsl_edma->dma_dev.dst_addr_widths = FSL_EDMA_BUSWIDTHS;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 585
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 586 if (drvdata->flags & FSL_EDMA_DRV_BUS_8BYTE) {
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 587 fsl_edma->dma_dev.src_addr_widths |= BIT(DMA_SLAVE_BUSWIDTH_8_BYTES);
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 588 fsl_edma->dma_dev.dst_addr_widths |= BIT(DMA_SLAVE_BUSWIDTH_8_BYTES);
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 589 }
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 590
f45c431148e1ba drivers/dma/fsl-edma.c Maxime Ripard 2014-11-17 591 fsl_edma->dma_dev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 592 if (drvdata->flags & FSL_EDMA_DRV_DEV_TO_DEV)
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 593 fsl_edma->dma_dev.directions |= BIT(DMA_DEV_TO_DEV);
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 594
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 595 fsl_edma->dma_dev.copy_align = drvdata->flags & FSL_EDMA_DRV_ALIGN_64BYTE ?
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 596 DMAENGINE_ALIGN_64_BYTES :
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 597 DMAENGINE_ALIGN_32_BYTES;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 598
e0674853943287 drivers/dma/fsl-edma.c Joy Zou 2021-10-26 599 /* Per worst case 'nbytes = 1' take CITER as the max_seg_size */
e0674853943287 drivers/dma/fsl-edma.c Joy Zou 2021-10-26 600 dma_set_max_seg_size(fsl_edma->dma_dev.dev, 0x3fff);
e0674853943287 drivers/dma/fsl-edma.c Joy Zou 2021-10-26 601
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 602 fsl_edma->dma_dev.residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 603
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 604 platform_set_drvdata(pdev, fsl_edma);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 605
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 606 ret = dma_async_device_register(&fsl_edma->dma_dev);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 607 if (ret) {
a86144da9d1a43 drivers/dma/fsl-edma.c Peter Griffin 2016-06-07 608 dev_err(&pdev->dev,
a86144da9d1a43 drivers/dma/fsl-edma.c Peter Griffin 2016-06-07 609 "Can't register Freescale eDMA engine. (%d)\n", ret);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 610 return ret;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 611 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 612
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 613 ret = of_dma_controller_register(np,
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 614 drvdata->flags & FSL_EDMA_DRV_SPLIT_REG ? fsl_edma3_xlate : fsl_edma_xlate,
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 615 fsl_edma);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 616 if (ret) {
a86144da9d1a43 drivers/dma/fsl-edma.c Peter Griffin 2016-06-07 617 dev_err(&pdev->dev,
a86144da9d1a43 drivers/dma/fsl-edma.c Peter Griffin 2016-06-07 618 "Can't register Freescale eDMA of_dma. (%d)\n", ret);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 619 dma_async_device_unregister(&fsl_edma->dma_dev);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 620 return ret;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 621 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 622
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 623 /* enable round robin arbitration */
72f5801a4e2b71 drivers/dma/fsl-edma-main.c Frank Li 2023-08-21 624 if (!(drvdata->flags & FSL_EDMA_DRV_SPLIT_REG))
377eaf3b3c4ad7 drivers/dma/fsl-edma.c Angelo Dureghello 2018-08-19 625 edma_writel(fsl_edma, EDMA_CR_ERGA | EDMA_CR_ERCA, regs->cr);
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 626
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 627 return 0;
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 628 }
d6be34fbd39b7d drivers/dma/fsl-edma.c Jingchang Lu 2014-02-18 629

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