From: kernel test robot <lkp@intel.com>
To: Chris Packham <chris.packham@alliedtelesis.co.nz>,
broonie@kernel.org, miquel.raynal@bootlin.com
Cc: oe-kbuild-all@lists.linux.dev, linux-spi@vger.kernel.org,
linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
Chris Packham <chris.packham@alliedtelesis.co.nz>
Subject: Re: [PATCH] spi: spi-mem: rtl-snand: Correctly handle DMA transfers
Date: Wed, 30 Oct 2024 14:42:59 +0800 [thread overview]
Message-ID: <202410301452.7koB3V8S-lkp@intel.com> (raw)
In-Reply-To: <20241029215159.1975844-1-chris.packham@alliedtelesis.co.nz>
Hi Chris,
kernel test robot noticed the following build warnings:
[auto build test WARNING on broonie-spi/for-next]
[also build test WARNING on next-20241029]
[cannot apply to linus/master v6.12-rc5]
[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/Chris-Packham/spi-spi-mem-rtl-snand-Correctly-handle-DMA-transfers/20241030-055313
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
patch link: https://lore.kernel.org/r/20241029215159.1975844-1-chris.packham%40alliedtelesis.co.nz
patch subject: [PATCH] spi: spi-mem: rtl-snand: Correctly handle DMA transfers
config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20241030/202410301452.7koB3V8S-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241030/202410301452.7koB3V8S-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410301452.7koB3V8S-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/spi/spi-realtek-rtl-snand.c: In function 'rtl_snand_dma_xfer':
>> drivers/spi/spi-realtek-rtl-snand.c:252:21: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
252 | buf = op->data.buf.out;
| ^
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for GET_FREE_REGION
Depends on [n]: SPARSEMEM [=n]
Selected by [m]:
- RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
vim +/const +252 drivers/spi/spi-realtek-rtl-snand.c
231
232 static int rtl_snand_dma_xfer(struct rtl_snand *snand, int cs, const struct spi_mem_op *op)
233 {
234 unsigned int pos, nbytes;
235 int ret;
236 dma_addr_t buf_dma;
237 enum dma_data_direction dir;
238 u32 trig, len, maxlen;
239 void *buf;
240
241 ret = rtl_snand_xfer_head(snand, cs, op);
242 if (ret)
243 goto out_deselect;
244
245 if (op->data.dir == SPI_MEM_DATA_IN) {
246 maxlen = 2080;
247 buf = op->data.buf.in;
248 dir = DMA_FROM_DEVICE;
249 trig = 0;
250 } else if (op->data.dir == SPI_MEM_DATA_OUT) {
251 maxlen = 520;
> 252 buf = op->data.buf.out;
253 dir = DMA_TO_DEVICE;
254 trig = 1;
255 } else {
256 ret = -EOPNOTSUPP;
257 goto out_deselect;
258 }
259
260 buf_dma = dma_map_single(snand->dev, buf, op->data.nbytes, dir);
261 ret = dma_mapping_error(snand->dev, buf_dma);
262 if (ret)
263 goto out_deselect;
264
265 ret = regmap_write(snand->regmap, SNAFDIR, SNAFDIR_DMA_IP);
266 if (ret)
267 goto out_unmap;
268
269 ret = regmap_update_bits(snand->regmap, SNAFCFR, SNAFCFR_DMA_IE, SNAFCFR_DMA_IE);
270 if (ret)
271 goto out_unmap;
272
273 pos = 0;
274 len = op->data.nbytes;
275
276 while (pos < len) {
277 nbytes = len - pos;
278 if (nbytes > maxlen)
279 nbytes = maxlen;
280
281 reinit_completion(&snand->comp);
282
283 ret = regmap_write(snand->regmap, SNAFDRSAR, buf_dma + pos);
284 if (ret)
285 goto out_disable_int;
286
287 pos += nbytes;
288
289 ret = regmap_write(snand->regmap, SNAFDLR,
290 CMR_WID(op->data.buswidth) | nbytes);
291 if (ret)
292 goto out_disable_int;
293
294 ret = regmap_write(snand->regmap, SNAFDTR, trig);
295 if (ret)
296 goto out_disable_int;
297
298 if (!wait_for_completion_timeout(&snand->comp, usecs_to_jiffies(20000)))
299 ret = -ETIMEDOUT;
300
301 if (ret)
302 goto out_disable_int;
303 }
304
305 out_disable_int:
306 regmap_update_bits(snand->regmap, SNAFCFR, SNAFCFR_DMA_IE, 0);
307 out_unmap:
308 dma_unmap_single(snand->dev, buf_dma, op->data.nbytes, dir);
309 out_deselect:
310 rtl_snand_xfer_tail(snand, cs);
311
312 if (ret)
313 dev_err(snand->dev, "transfer failed %d\n", ret);
314
315 return ret;
316 }
317
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-10-30 6:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-29 0:38 ubifs_recover_master_node: failed to recover master node Chris Packham
2024-10-29 21:13 ` Chris Packham
2024-10-29 21:51 ` [PATCH] spi: spi-mem: rtl-snand: Correctly handle DMA transfers Chris Packham
2024-10-30 6:42 ` kernel test robot [this message]
2024-10-30 10:20 ` kernel test robot
2024-10-30 19:53 ` kernel test robot
2024-10-30 19:49 ` [PATCH v2] " Chris Packham
2024-11-04 14:06 ` Mark Brown
2024-11-06 16:12 ` ubifs_recover_master_node: failed to recover master node Miquel Raynal
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=202410301452.7koB3V8S-lkp@intel.com \
--to=lkp@intel.com \
--cc=broonie@kernel.org \
--cc=chris.packham@alliedtelesis.co.nz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=miquel.raynal@bootlin.com \
--cc=oe-kbuild-all@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
all inboxes | Powered by JetHome®