From: kernel test robot <lkp@intel.com>
To: Akhil R <akhilrajeev@nvidia.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org
Subject: Re: [PATCH v20 2/2] dmaengine: tegra: Add tegra gpcdma driver
Date: Wed, 23 Feb 2022 05:38:24 +0800 [thread overview]
Message-ID: <202202230559.bLOEMEUh-lkp@intel.com> (raw)
In-Reply-To: <20220221153934.5226-3-akhilrajeev@nvidia.com>
Hi Akhil,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on vkoul-dmaengine/next]
[also build test WARNING on v5.17-rc5 next-20220217]
[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]
url: https://github.com/0day-ci/linux/commits/Akhil-R/Add-NVIDIA-Tegra-GPC-DMA-driver/20220221-234342
base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next
config: hexagon-allyesconfig (https://download.01.org/0day-ci/archive/20220223/202202230559.bLOEMEUh-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/9788a023bf1c6b2221e7246794c13f3690bf5baa
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Akhil-R/Add-NVIDIA-Tegra-GPC-DMA-driver/20220221-234342
git checkout 9788a023bf1c6b2221e7246794c13f3690bf5baa
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/dma/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/dma/tegra186-gpc-dma.c:898:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (dest >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:65:41: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
>> drivers/dma/tegra186-gpc-dma.c:898:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (dest >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:66:39: note: expanded from macro '__BF_FIELD_CHECK'
~((_mask) >> __bf_shf(_mask)) & (_val) : 0, \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
>> drivers/dma/tegra186-gpc-dma.c:898:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (dest >> 32));
^ ~~
include/linux/bitfield.h:112:20: note: expanded from macro 'FIELD_PREP'
((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \
^~~~
drivers/dma/tegra186-gpc-dma.c:967:51: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_SRC_PTR, (src >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:65:41: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:967:51: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_SRC_PTR, (src >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:66:39: note: expanded from macro '__BF_FIELD_CHECK'
~((_mask) >> __bf_shf(_mask)) & (_val) : 0, \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:967:51: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_SRC_PTR, (src >> 32));
^ ~~
include/linux/bitfield.h:112:20: note: expanded from macro 'FIELD_PREP'
((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \
^~~~
drivers/dma/tegra186-gpc-dma.c:969:52: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (dest >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:65:41: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:969:52: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (dest >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:66:39: note: expanded from macro '__BF_FIELD_CHECK'
~((_mask) >> __bf_shf(_mask)) & (_val) : 0, \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:969:52: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (dest >> 32));
^ ~~
include/linux/bitfield.h:112:20: note: expanded from macro 'FIELD_PREP'
((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \
--
^ ~~
include/linux/bitfield.h:112:20: note: expanded from macro 'FIELD_PREP'
((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \
^~~~
drivers/dma/tegra186-gpc-dma.c:1200:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_SRC_PTR, (mem >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:65:41: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:1200:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_SRC_PTR, (mem >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:66:39: note: expanded from macro '__BF_FIELD_CHECK'
~((_mask) >> __bf_shf(_mask)) & (_val) : 0, \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:1200:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_SRC_PTR, (mem >> 32));
^ ~~
include/linux/bitfield.h:112:20: note: expanded from macro 'FIELD_PREP'
((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \
^~~~
drivers/dma/tegra186-gpc-dma.c:1205:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (mem >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:65:41: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:1205:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (mem >> 32));
^ ~~
include/linux/bitfield.h:111:33: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~
include/linux/bitfield.h:66:39: note: expanded from macro '__BF_FIELD_CHECK'
~((_mask) >> __bf_shf(_mask)) & (_val) : 0, \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:1205:53: warning: shift count >= width of type [-Wshift-count-overflow]
FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (mem >> 32));
^ ~~
include/linux/bitfield.h:112:20: note: expanded from macro 'FIELD_PREP'
((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \
^~~~
>> drivers/dma/tegra186-gpc-dma.c:1488:21: warning: attribute declaration must precede definition [-Wignored-attributes]
static const struct __maybe_unused dev_pm_ops tegra_dma_dev_pm_ops = {
^
include/linux/compiler_attributes.h:286:56: note: expanded from macro '__maybe_unused'
#define __maybe_unused __attribute__((__unused__))
^
include/linux/pm.h:278:8: note: previous definition is here
struct dev_pm_ops {
^
22 warnings generated.
vim +898 drivers/dma/tegra186-gpc-dma.c
843
844 static struct dma_async_tx_descriptor *
845 tegra_dma_prep_dma_memset(struct dma_chan *dc, dma_addr_t dest, int value,
846 size_t len, unsigned long flags)
847 {
848 struct tegra_dma_channel *tdc = to_tegra_dma_chan(dc);
849 unsigned int max_dma_count = tdc->tdma->chip_data->max_dma_count;
850 struct tegra_dma_sg_req *sg_req;
851 struct tegra_dma_desc *dma_desc;
852 u32 csr, mc_seq;
853
854 if ((len & 3) || (dest & 3) || len > max_dma_count) {
855 dev_err(tdc2dev(tdc),
856 "DMA length/memory address is not supported\n");
857 return NULL;
858 }
859
860 /* Set DMA mode to fixed pattern */
861 csr = TEGRA_GPCDMA_CSR_DMA_FIXED_PAT;
862 /* Enable once or continuous mode */
863 csr |= TEGRA_GPCDMA_CSR_ONCE;
864 /* Enable IRQ mask */
865 csr |= TEGRA_GPCDMA_CSR_IRQ_MASK;
866 /* Enable the DMA interrupt */
867 if (flags & DMA_PREP_INTERRUPT)
868 csr |= TEGRA_GPCDMA_CSR_IE_EOC;
869 /* Configure default priority weight for the channel */
870 csr |= FIELD_PREP(TEGRA_GPCDMA_CSR_WEIGHT, 1);
871
872 mc_seq = tdc_read(tdc, TEGRA_GPCDMA_CHAN_MCSEQ);
873 /* retain stream-id and clean rest */
874 mc_seq &= TEGRA_GPCDMA_MCSEQ_STREAM_ID0_MASK;
875
876 /* Set the address wrapping */
877 mc_seq |= FIELD_PREP(TEGRA_GPCDMA_MCSEQ_WRAP0,
878 TEGRA_GPCDMA_MCSEQ_WRAP_NONE);
879 mc_seq |= FIELD_PREP(TEGRA_GPCDMA_MCSEQ_WRAP1,
880 TEGRA_GPCDMA_MCSEQ_WRAP_NONE);
881
882 /* Program outstanding MC requests */
883 mc_seq |= FIELD_PREP(TEGRA_GPCDMA_MCSEQ_REQ_COUNT, 1);
884 /* Set burst size */
885 mc_seq |= TEGRA_GPCDMA_MCSEQ_BURST_16;
886
887 dma_desc = kzalloc(struct_size(dma_desc, sg_req, 1), GFP_NOWAIT);
888 if (!dma_desc)
889 return NULL;
890
891 dma_desc->bytes_req = len;
892 dma_desc->sg_count = 1;
893 sg_req = dma_desc->sg_req;
894
895 sg_req[0].ch_regs.src_ptr = 0;
896 sg_req[0].ch_regs.dst_ptr = dest;
897 sg_req[0].ch_regs.high_addr_ptr =
> 898 FIELD_PREP(TEGRA_GPCDMA_HIGH_ADDR_DST_PTR, (dest >> 32));
899 sg_req[0].ch_regs.fixed_pattern = value;
900 /* Word count reg takes value as (N +1) words */
901 sg_req[0].ch_regs.wcount = ((len - 4) >> 2);
902 sg_req[0].ch_regs.csr = csr;
903 sg_req[0].ch_regs.mmio_seq = 0;
904 sg_req[0].ch_regs.mc_seq = mc_seq;
905 sg_req[0].len = len;
906
907 dma_desc->cyclic = false;
908 return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
909 }
910
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
prev parent reply other threads:[~2022-02-22 21:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220221153934.5226-3-akhilrajeev@nvidia.com>
2022-02-22 4:59 ` [PATCH v20 2/2] dmaengine: tegra: Add tegra gpcdma driver kernel test robot
2022-02-22 21:38 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202202230559.bLOEMEUh-lkp@intel.com \
--to=lkp@intel.com \
--cc=akhilrajeev@nvidia.com \
--cc=kbuild-all@lists.01.org \
--cc=llvm@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox