CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Mike Rapoport <rppt(a)linux.ibm.com>
CC: Andrew Morton <akpm(a)linux-foundation.org>
CC: Linux Memory Management List <linux-mm(a)kvack.org>
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0513e464f9007b70b96740271a948ca5ab6e7dd7
commit: 050b2da268f8fc4f8123f6462c430a61547b2f7b arc: use FLATMEM with freeing of unused
memory map instead of DISCONTIGMEM
date: 10 months ago
:::::: branch date: 18 hours ago
:::::: commit date: 10 months ago
config: arc-randconfig-m031-20210928 (attached as .config)
compiler: arc-elf-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
arch/arc/mm/dma.c:30 arch_dma_prep_coherent() warn: should '((page - mem_map) +
arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:90 __dma_direct_alloc_pages() warn: should '((page - mem_map) +
arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:129 dma_direct_alloc_from_pool() warn: should '((page - mem_map) +
arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:152 dma_direct_alloc() warn: should '((page - mem_map) +
arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:310 dma_direct_alloc_pages() warn: should '((page - mem_map) +
arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/pool.c:123 atomic_pool_expand() warn: should '((page - mem_map) +
arch_pfn_offset) << 13' be a 64 bit type?
Old smatch warnings:
arch/arc/include/asm/thread_info.h:65 current_thread_info() error: uninitialized symbol
'sp'.
arch/arc/include/asm/thread_info.h:65 current_thread_info() error: uninitialized symbol
'sp'.
vim +30 arch/arc/mm/dma.c
1162b0701b14ba Vineet Gupta 2013-01-18 9
2820a708d5a321 Eugeniy Paltsev 2018-07-30 10 /*
f73c9045343931 Christoph Hellwig 2019-06-14 11 * ARCH specific callbacks for generic
noncoherent DMA ops
2820a708d5a321 Eugeniy Paltsev 2018-07-30 12 * - hardware IOC not available (or
"dma-coherent" not set for device in DT)
2820a708d5a321 Eugeniy Paltsev 2018-07-30 13 * - But still handle both coherent and
non-coherent requests from caller
2820a708d5a321 Eugeniy Paltsev 2018-07-30 14 *
2820a708d5a321 Eugeniy Paltsev 2018-07-30 15 * For DMA coherent hardware (IOC)
generic code suffices
2820a708d5a321 Eugeniy Paltsev 2018-07-30 16 */
1162b0701b14ba Vineet Gupta 2013-01-18 17
f73c9045343931 Christoph Hellwig 2019-06-14 18 void arch_dma_prep_coherent(struct page
*page, size_t size)
f73c9045343931 Christoph Hellwig 2019-06-14 19 {
795f4558562fd5 Vineet Gupta 2015-04-03 20 /*
795f4558562fd5 Vineet Gupta 2015-04-03 21 * Evict any existing L1 and/or L2 lines
for the backing page
795f4558562fd5 Vineet Gupta 2015-04-03 22 * in case it was used earlier as a
normal "cached" page.
795f4558562fd5 Vineet Gupta 2015-04-03 23 * Yeah this bit us - STAR 9000898266
795f4558562fd5 Vineet Gupta 2015-04-03 24 *
795f4558562fd5 Vineet Gupta 2015-04-03 25 * Although core does call
flush_cache_vmap(), it gets kvaddr hence
795f4558562fd5 Vineet Gupta 2015-04-03 26 * can't be used to efficiently
flush L1 and/or L2 which need paddr
795f4558562fd5 Vineet Gupta 2015-04-03 27 * Currently flush_cache_vmap nukes the
L1 cache completely which
795f4558562fd5 Vineet Gupta 2015-04-03 28 * will be optimized as a separate
commit
795f4558562fd5 Vineet Gupta 2015-04-03 29 */
f73c9045343931 Christoph Hellwig 2019-06-14 @30 dma_cache_wback_inv(page_to_phys(page),
size);
a79a812131b072 Alexey Brodkin 2016-11-03 31 }
a79a812131b072 Alexey Brodkin 2016-11-03 32
:::::: The code at line 30 was first introduced by commit
:::::: f73c904534393133e7ddbbe5c36bb007f9c2fb7f arc: use the generic remapping allocator
for coherent DMA allocations
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org