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: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-21 15:39 [PATCH v20 0/2] Add NVIDIA Tegra GPC-DMA driver Akhil R
2022-02-21 15:39 ` [PATCH v20 1/2] dt-bindings: dmaengine: Add doc for tegra gpcdma Akhil R
2022-02-21 15:39 ` [PATCH v20 2/2] dmaengine: tegra: Add tegra gpcdma driver Akhil R
2022-02-22 4:59 ` kernel test robot
2022-02-22 15:31 ` Nathan Chancellor
2022-02-23 3:49 ` Akhil R
2022-02-23 18:43 ` Nathan Chancellor
2022-02-24 4:23 ` Akhil R
2022-02-24 4:38 ` Vinod Koul
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.