Re: [powerpc:next-test 103/106] arch/powerpc/mm/book3s64/radix_pgtable.c:513:21: error: use of undeclared identifier 'SECTION_SIZE_BITS'
by Michael Ellerman
Christophe Leroy <christophe.leroy(a)csgroup.eu> writes:
> "Aneesh Kumar K.V" <aneesh.kumar(a)linux.ibm.com> a écrit :
...
>>
>> diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c
>> b/arch/powerpc/mm/book3s64/radix_pgtable.c
>> index bba45fc0b7b2..c5bf2ef73c36 100644
>> --- a/arch/powerpc/mm/book3s64/radix_pgtable.c
>> +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
>> @@ -492,6 +492,7 @@ static int __init
>> @@ -532,6 +533,15 @@ static unsigned long radix_memory_block_size(void)
>> return mem_block_size;
>> }
>>
>> +#else /* CONFIG_MEMORY_HOTPLUG */
>> +
>> +static unsigned long radix_memory_block_size(void)
>> +{
>> + return 1UL * 1024 * 1024 * 1024;
>
> Use SZ_1G instead ?
I've already squashed that in.
I'd take a patch to convert all cases though, I see at least:
arch/powerpc/boot/ep8248e.c: mem_size *= 1024 * 1024;
arch/powerpc/boot/ep88xc.c: mem_size *= 1024 * 1024;
arch/powerpc/include/asm/kexec.h:#define KEXEC_SOURCE_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1)
arch/powerpc/include/asm/kexec.h:#define KEXEC_DESTINATION_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1)
arch/powerpc/include/asm/kexec.h:#define KEXEC_CONTROL_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1)
arch/powerpc/kernel/iommu.c: if ((tbl->it_size << tbl->it_page_shift) >= (1UL * 1024 * 1024 * 1024))
arch/powerpc/kernel/setup-common.c: (unsigned int)(total_memory / (1024 * 1024)));
arch/powerpc/mm/book3s64/radix_pgtable.c: mem_block_size = 1UL * 1024 * 1024 * 1024;
arch/powerpc/mm/book3s64/radix_pgtable.c: return 1UL * 1024 * 1024 * 1024;
arch/powerpc/mm/ioremap_32.c: if (p < 16 * 1024 * 1024)
arch/powerpc/platforms/powernv/setup.c: return 256UL * 1024 * 1024;
arch/powerpc/platforms/pseries/cmm.c: signed long min_mem_pages = (min_mem_mb * 1024 * 1024) / PAGE_SIZE;
cheers
2 years, 2 months
Re: [PATCH v10 12/13] drm/msm/a6xx: Add support for per-instance pagetables
by kernel test robot
Hi Jordan,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on next-20200720]
[also build test ERROR on v5.8-rc6]
[cannot apply to iommu/next robh/for-next arm-perf/for-next/perf arm64/for-next/core linus/master v5.8-rc6 v5.8-rc5 v5.8-rc4]
[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/Jordan-Crouse/iommu-arm-smmu-Add...
base: ab8be66e724ecf4bffb2895c9c91bbd44fa687c7
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/msm/adreno/a6xx_gpu.c:33:6: warning: no previous prototype for 'a6xx_idle' [-Wmissing-prototypes]
33 | bool a6xx_idle(struct msm_gpu *gpu, struct msm_ringbuffer *ring)
| ^~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_gpu.c: In function 'a6xx_set_pagetable':
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:97:17: error: implicit declaration of function 'CP_SMMU_TABLE_UPDATE_0_TTBR0_LO' [-Werror=implicit-function-declaration]
97 | OUT_RING(ring, CP_SMMU_TABLE_UPDATE_0_TTBR0_LO(lower_32_bits(ttbr)));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:99:3: error: implicit declaration of function 'CP_SMMU_TABLE_UPDATE_1_TTBR0_HI' [-Werror=implicit-function-declaration]
99 | CP_SMMU_TABLE_UPDATE_1_TTBR0_HI(upper_32_bits(ttbr)) |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:100:3: error: implicit declaration of function 'CP_SMMU_TABLE_UPDATE_1_ASID' [-Werror=implicit-function-declaration]
100 | CP_SMMU_TABLE_UPDATE_1_ASID(asid));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:101:17: error: implicit declaration of function 'CP_SMMU_TABLE_UPDATE_2_CONTEXTIDR' [-Werror=implicit-function-declaration]
101 | OUT_RING(ring, CP_SMMU_TABLE_UPDATE_2_CONTEXTIDR(0));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:102:17: error: implicit declaration of function 'CP_SMMU_TABLE_UPDATE_3_CONTEXTBANK' [-Werror=implicit-function-declaration]
102 | OUT_RING(ring, CP_SMMU_TABLE_UPDATE_3_CONTEXTBANK(0));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:108:17: error: implicit declaration of function 'CP_MEM_WRITE_0_ADDR_LO'; did you mean 'CP_EVENT_WRITE_1_ADDR_0_LO'? [-Werror=implicit-function-declaration]
108 | OUT_RING(ring, CP_MEM_WRITE_0_ADDR_LO(lower_32_bits(memptr)));
| ^~~~~~~~~~~~~~~~~~~~~~
| CP_EVENT_WRITE_1_ADDR_0_LO
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:109:17: error: implicit declaration of function 'CP_MEM_WRITE_1_ADDR_HI'; did you mean 'CP_EVENT_WRITE_2_ADDR_0_HI'? [-Werror=implicit-function-declaration]
109 | OUT_RING(ring, CP_MEM_WRITE_1_ADDR_HI(upper_32_bits(memptr)));
| ^~~~~~~~~~~~~~~~~~~~~~
| CP_EVENT_WRITE_2_ADDR_0_HI
cc1: some warnings being treated as errors
vim +/CP_SMMU_TABLE_UPDATE_0_TTBR0_LO +97 drivers/gpu/drm/msm/adreno/a6xx_gpu.c
81
82 static void a6xx_set_pagetable(struct a6xx_gpu *a6xx_gpu,
83 struct msm_ringbuffer *ring, struct msm_file_private *ctx)
84 {
85 phys_addr_t ttbr;
86 u32 asid;
87 u64 memptr = rbmemptr(ring, ttbr0);
88
89 if (ctx == a6xx_gpu->cur_ctx)
90 return;
91
92 if (msm_iommu_pagetable_params(ctx->aspace->mmu, &ttbr, &asid))
93 return;
94
95 /* Execute the table update */
96 OUT_PKT7(ring, CP_SMMU_TABLE_UPDATE, 4);
> 97 OUT_RING(ring, CP_SMMU_TABLE_UPDATE_0_TTBR0_LO(lower_32_bits(ttbr)));
98 OUT_RING(ring,
> 99 CP_SMMU_TABLE_UPDATE_1_TTBR0_HI(upper_32_bits(ttbr)) |
> 100 CP_SMMU_TABLE_UPDATE_1_ASID(asid));
> 101 OUT_RING(ring, CP_SMMU_TABLE_UPDATE_2_CONTEXTIDR(0));
> 102 OUT_RING(ring, CP_SMMU_TABLE_UPDATE_3_CONTEXTBANK(0));
103
104 /*
105 * Write the new TTBR0 to the memstore. This is good for debugging.
106 */
107 OUT_PKT7(ring, CP_MEM_WRITE, 4);
> 108 OUT_RING(ring, CP_MEM_WRITE_0_ADDR_LO(lower_32_bits(memptr)));
> 109 OUT_RING(ring, CP_MEM_WRITE_1_ADDR_HI(upper_32_bits(memptr)));
110 OUT_RING(ring, lower_32_bits(ttbr));
111 OUT_RING(ring, (asid << 16) | upper_32_bits(ttbr));
112
113
114 a6xx_gpu->cur_ctx = ctx;
115 }
116
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linuxppc:next-test 166/176] arch/powerpc/include/asm/ppc-opcode.h:277:22: error: called object is not a function or function pointer
by kernel test robot
tree: https://github.com/linuxppc/linux next-test
head: 08b8bb849948ff5e2305d1115ce8bbdd55364a70
commit: 5f76364326a841f50b29e9fd340baa32182308b3 [166/176] powerpc sstep: Add tests for prefixed integer load/stores
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
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
git checkout 5f76364326a841f50b29e9fd340baa32182308b3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/powerpc/include/asm/uprobes.h:14,
from include/linux/uprobes.h:49,
from include/linux/mm_types.h:14,
from include/linux/mmzone.h:21,
from arch/powerpc/include/asm/pgtable.h:7,
from include/linux/pgtable.h:6,
from arch/powerpc/include/asm/kup.h:42,
from arch/powerpc/include/asm/uaccess.h:9,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/ptrace.h:7,
from arch/powerpc/lib/test_emulate_step.c:10:
arch/powerpc/lib/test_emulate_step.c: In function 'test_pld':
>> arch/powerpc/include/asm/ppc-opcode.h:277:22: error: called object is not a function or function pointer
277 | #define ___PPC_RA(a) (((a) & 0x1f) << 16)
| ^
arch/powerpc/include/asm/inst.h:31:74: note: in definition of macro 'ppc_inst_prefix'
31 | #define ppc_inst_prefix(x, y) ((struct ppc_inst){ .val = (x), .suffix = (y) })
| ^
arch/powerpc/lib/test_emulate_step.c:24:34: note: in expansion of macro '___PPC_RA'
24 | PPC_INST_PLD | ___PPC_RT(r) | ___PPC_RA(base) IMM_L(i))
| ^~~~~~~~~
arch/powerpc/lib/test_emulate_step.c:100:32: note: in expansion of macro 'TEST_PLD'
100 | stepped = emulate_step(®s, TEST_PLD(5, 3, 0, 0));
| ^~~~~~~~
arch/powerpc/lib/test_emulate_step.c: In function 'test_plwz':
>> arch/powerpc/lib/test_emulate_step.c:28:4: error: 'PPC_INST_LWZ' undeclared (first use in this function); did you mean 'PPC_INST_LSWI'?
28 | PPC_INST_LWZ | ___PPC_RT(r) | ___PPC_RA(base) | IMM_L(i))
| ^~~~~~~~~~~~
arch/powerpc/include/asm/inst.h:31:74: note: in definition of macro 'ppc_inst_prefix'
31 | #define ppc_inst_prefix(x, y) ((struct ppc_inst){ .val = (x), .suffix = (y) })
| ^
arch/powerpc/lib/test_emulate_step.c:142:32: note: in expansion of macro 'TEST_PLWZ'
142 | stepped = emulate_step(®s, TEST_PLWZ(5, 3, 0, 0));
| ^~~~~~~~~
arch/powerpc/lib/test_emulate_step.c:28:4: note: each undeclared identifier is reported only once for each function it appears in
28 | PPC_INST_LWZ | ___PPC_RT(r) | ___PPC_RA(base) | IMM_L(i))
| ^~~~~~~~~~~~
arch/powerpc/include/asm/inst.h:31:74: note: in definition of macro 'ppc_inst_prefix'
31 | #define ppc_inst_prefix(x, y) ((struct ppc_inst){ .val = (x), .suffix = (y) })
| ^
arch/powerpc/lib/test_emulate_step.c:142:32: note: in expansion of macro 'TEST_PLWZ'
142 | stepped = emulate_step(®s, TEST_PLWZ(5, 3, 0, 0));
| ^~~~~~~~~
vim +277 arch/powerpc/include/asm/ppc-opcode.h
5f76364326a841f Jordan Niethe 2020-05-25 275
16c57b3620d77e0 Kumar Gala 2009-02-10 276 /* macros to insert fields into opcodes */
55a5db184667433 Michael Neuling 2012-06-25 @277 #define ___PPC_RA(a) (((a) & 0x1f) << 16)
55a5db184667433 Michael Neuling 2012-06-25 278 #define ___PPC_RB(b) (((b) & 0x1f) << 11)
930d6288a26787d Sandipan Das 2019-02-22 279 #define ___PPC_RC(c) (((c) & 0x1f) << 6)
55a5db184667433 Michael Neuling 2012-06-25 280 #define ___PPC_RS(s) (((s) & 0x1f) << 21)
55a5db184667433 Michael Neuling 2012-06-25 281 #define ___PPC_RT(t) ___PPC_RS(t)
8cd6d3c23e226ec Balbir Singh 2016-07-13 282 #define ___PPC_R(r) (((r) & 0x1) << 16)
8cd6d3c23e226ec Balbir Singh 2016-07-13 283 #define ___PPC_PRS(prs) (((prs) & 0x1) << 17)
8cd6d3c23e226ec Balbir Singh 2016-07-13 284 #define ___PPC_RIC(ric) (((ric) & 0x3) << 18)
0b7673c35e9240a Michael Neuling 2012-06-25 285 #define __PPC_RA(a) ___PPC_RA(__REG_##a)
f4c015795c74ec3 Michael Neuling 2012-06-25 286 #define __PPC_RA0(a) ___PPC_RA(__REGA0_##a)
0b7673c35e9240a Michael Neuling 2012-06-25 287 #define __PPC_RB(b) ___PPC_RB(__REG_##b)
0b7673c35e9240a Michael Neuling 2012-06-25 288 #define __PPC_RS(s) ___PPC_RS(__REG_##s)
0b7673c35e9240a Michael Neuling 2012-06-25 289 #define __PPC_RT(t) ___PPC_RT(__REG_##t)
0016a4cf5582415 Paul Mackerras 2010-06-15 290 #define __PPC_XA(a) ((((a) & 0x1f) << 16) | (((a) & 0x20) >> 3))
0016a4cf5582415 Paul Mackerras 2010-06-15 291 #define __PPC_XB(b) ((((b) & 0x1f) << 11) | (((b) & 0x20) >> 4))
dfb432cb960bfcb Michael Neuling 2009-04-29 292 #define __PPC_XS(s) ((((s) & 0x1f) << 21) | (((s) & 0x20) >> 5))
0016a4cf5582415 Paul Mackerras 2010-06-15 293 #define __PPC_XT(s) __PPC_XS(s)
da6b43c833f885d Michael Neuling 2009-04-29 294 #define __PPC_T_TLB(t) (((t) & 0x3) << 21)
da6b43c833f885d Michael Neuling 2009-04-29 295 #define __PPC_WC(w) (((w) & 0x3) << 21)
931e1241a266e70 Benjamin Herrenschmidt 2011-04-14 296 #define __PPC_WS(w) (((w) & 0x1f) << 11)
0ca87f05ba8bdc6 Matt Evans 2011-07-20 297 #define __PPC_SH(s) __PPC_WS(s)
c233f5979b3dbb3 Naveen N. Rao 2017-02-08 298 #define __PPC_SH64(s) (__PPC_SH(s) | (((s) & 0x20) >> 4))
930d6288a26787d Sandipan Das 2019-02-22 299 #define __PPC_MB(s) ___PPC_RC(s)
0ca87f05ba8bdc6 Matt Evans 2011-07-20 300 #define __PPC_ME(s) (((s) & 0x1f) << 1)
277285b854c6663 Naveen N. Rao 2016-06-22 301 #define __PPC_MB64(s) (__PPC_MB(s) | ((s) & 0x20))
277285b854c6663 Naveen N. Rao 2016-06-22 302 #define __PPC_ME64(s) __PPC_MB64(s)
0ca87f05ba8bdc6 Matt Evans 2011-07-20 303 #define __PPC_BI(s) (((s) & 0x1f) << 16)
1afc149def25ac1 Tony Breeds 2012-10-02 304 #define __PPC_CT(t) (((t) & 0x0f) << 21)
cd99ddbea250ee7 Christophe Leroy 2018-01-12 305 #define __PPC_SPR(r) ((((r) & 0x1f) << 16) | ((((r) >> 5) & 0x1f) << 11))
f1ecbaf466be5a7 Simon Guo 2018-06-07 306 #define __PPC_RC21 (0x1 << 10)
5f76364326a841f Jordan Niethe 2020-05-25 307 #define __PPC_PRFX_R(r) (((r) & 0x1) << 20)
931e1241a266e70 Benjamin Herrenschmidt 2011-04-14 308
:::::: The code at line 277 was first introduced by commit
:::::: 55a5db184667433add3c8136c9e3b27899c79d3c powerpc: Introduce new ___PPC_RA/B/S/T macros
:::::: TO: Michael Neuling <mikey(a)neuling.org>
:::::: CC: Benjamin Herrenschmidt <benh(a)kernel.crashing.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH bpf-next v3 04/14] xsk: move fill and completion rings to buffer pool
by kernel test robot
Hi Magnus,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Magnus-Karlsson/xsk-support-shar...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cf1105069648446d58adfb7a6cc590013d6886ba)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> net/xdp/xsk_diag.c:88:72: error: no member named 'fq' in 'struct xdp_umem'
du.n_fill_ring_empty = xs->umem ? xskq_nb_queue_empty_descs(xs->umem->fq) : 0;
~~~~~~~~ ^
1 error generated.
vim +88 net/xdp/xsk_diag.c
a36b38aa2af6114 Björn Töpel 2019-01-24 80
0d80cb4612aa32d Ciara Loftus 2020-07-08 81 static int xsk_diag_put_stats(const struct xdp_sock *xs, struct sk_buff *nlskb)
0d80cb4612aa32d Ciara Loftus 2020-07-08 82 {
0d80cb4612aa32d Ciara Loftus 2020-07-08 83 struct xdp_diag_stats du = {};
0d80cb4612aa32d Ciara Loftus 2020-07-08 84
0d80cb4612aa32d Ciara Loftus 2020-07-08 85 du.n_rx_dropped = xs->rx_dropped;
0d80cb4612aa32d Ciara Loftus 2020-07-08 86 du.n_rx_invalid = xskq_nb_invalid_descs(xs->rx);
0d80cb4612aa32d Ciara Loftus 2020-07-08 87 du.n_rx_full = xs->rx_queue_full;
0d80cb4612aa32d Ciara Loftus 2020-07-08 @88 du.n_fill_ring_empty = xs->umem ? xskq_nb_queue_empty_descs(xs->umem->fq) : 0;
0d80cb4612aa32d Ciara Loftus 2020-07-08 89 du.n_tx_invalid = xskq_nb_invalid_descs(xs->tx);
0d80cb4612aa32d Ciara Loftus 2020-07-08 90 du.n_tx_ring_empty = xskq_nb_queue_empty_descs(xs->tx);
0d80cb4612aa32d Ciara Loftus 2020-07-08 91 return nla_put(nlskb, XDP_DIAG_STATS, sizeof(du), &du);
0d80cb4612aa32d Ciara Loftus 2020-07-08 92 }
0d80cb4612aa32d Ciara Loftus 2020-07-08 93
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[arm64:for-next/read-barrier-depends 53/67] include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/read-barrier-depends
head: 9d46618e4524f4fd2116700af7bf39c29256d7f2
commit: 1785af9a7be7f3071ecbb7dc92239316478a0a3a [53/67] compiler.h: Split {READ,WRITE}_ONCE definitions out into rwonce.h
config: parisc-randconfig-r016-20200720 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
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
git checkout 1785af9a7be7f3071ecbb7dc92239316478a0a3a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from include/linux/console.h:17,
from drivers/gpu/drm/tiny/cirrus.c:19:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from include/linux/console.h:17,
from drivers/gpu/drm/radeon/radeon_device.c:29:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/radeon/radeon_device.c: At top level:
drivers/gpu/drm/radeon/radeon_device.c:637:6: warning: no previous prototype for 'radeon_device_is_virtual' [-Wmissing-prototypes]
637 | bool radeon_device_is_virtual(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from drivers/gpu/drm/radeon/radeon.h:63,
from drivers/gpu/drm/radeon/atombios_i2c.c:27:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/radeon/atombios_i2c.c: At top level:
drivers/gpu/drm/radeon/atombios_i2c.c:100:5: warning: no previous prototype for 'radeon_atom_hw_i2c_xfer' [-Wmissing-prototypes]
100 | int radeon_atom_hw_i2c_xfer(struct i2c_adapter *i2c_adap,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/radeon/atombios_i2c.c:150:5: warning: no previous prototype for 'radeon_atom_hw_i2c_func' [-Wmissing-prototypes]
150 | u32 radeon_atom_hw_i2c_func(struct i2c_adapter *adap)
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from drivers/gpu/drm/radeon/radeon.h:63,
from drivers/gpu/drm/radeon/rv770_dpm.c:25:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/radeon/rv770_dpm.c: At top level:
drivers/gpu/drm/radeon/rv770_dpm.c:47:18: warning: no previous prototype for 'rv770_get_ps' [-Wmissing-prototypes]
47 | struct rv7xx_ps *rv770_get_ps(struct radeon_ps *rps)
| ^~~~~~~~~~~~
drivers/gpu/drm/radeon/rv770_dpm.c:54:26: warning: no previous prototype for 'rv770_get_pi' [-Wmissing-prototypes]
54 | struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev)
| ^~~~~~~~~~~~
drivers/gpu/drm/radeon/rv770_dpm.c:61:30: warning: no previous prototype for 'evergreen_get_pi' [-Wmissing-prototypes]
61 | struct evergreen_power_info *evergreen_get_pi(struct radeon_device *rdev)
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from drivers/gpu/drm/radeon/radeon.h:63,
from drivers/gpu/drm/radeon/sumo_dpm.c:24:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/radeon/sumo_dpm.c: At top level:
drivers/gpu/drm/radeon/sumo_dpm.c:81:25: warning: no previous prototype for 'sumo_get_pi' [-Wmissing-prototypes]
81 | struct sumo_power_info *sumo_get_pi(struct radeon_device *rdev)
| ^~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from drivers/gpu/drm/radeon/radeon.h:63,
from drivers/gpu/drm/radeon/r200.c:31:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/radeon/r200.c: At top level:
drivers/gpu/drm/radeon/r200.c:35:10: fatal error: r200_reg_safe.h: No such file or directory
35 | #include "r200_reg_safe.h"
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from drivers/gpu/drm/radeon/radeon.h:63,
from drivers/gpu/drm/radeon/evergreen_cs.c:29:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/radeon/evergreen_cs.c: At top level:
drivers/gpu/drm/radeon/evergreen_cs.c:32:10: fatal error: evergreen_reg_safe.h: No such file or directory
32 | #include "evergreen_reg_safe.h"
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from include/drm/spsc_queue.h:27,
from include/drm/gpu_scheduler.h:27,
from drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h:28,
from drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:43,
from drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c:29:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c:29:
At top level:
drivers/gpu/drm/amd/amdgpu/amdgpu.h:190:18: warning: 'sched_policy' defined but not used [-Wunused-const-variable=]
190 | static const int sched_policy = KFD_SCHED_POLICY_HWS;
| ^~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dc_types.h:33,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:65,
from drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c:29:
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:76:32: warning: 'dc_fixpt_ln2_div_2' defined but not used [-Wunused-const-variable=]
76 | static const struct fixed31_32 dc_fixpt_ln2_div_2 = { 1488522236LL };
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:75:32: warning: 'dc_fixpt_ln2' defined but not used [-Wunused-const-variable=]
75 | static const struct fixed31_32 dc_fixpt_ln2 = { 2977044471LL };
| ^~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:74:32: warning: 'dc_fixpt_e' defined but not used [-Wunused-const-variable=]
74 | static const struct fixed31_32 dc_fixpt_e = { 11674931555LL };
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:73:32: warning: 'dc_fixpt_two_pi' defined but not used [-Wunused-const-variable=]
73 | static const struct fixed31_32 dc_fixpt_two_pi = { 26986075409LL };
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:72:32: warning: 'dc_fixpt_pi' defined but not used [-Wunused-const-variable=]
72 | static const struct fixed31_32 dc_fixpt_pi = { 13493037705LL };
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:67:32: warning: 'dc_fixpt_zero' defined but not used [-Wunused-const-variable=]
67 | static const struct fixed31_32 dc_fixpt_zero = { 0 };
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from include/drm/spsc_queue.h:27,
from include/drm/gpu_scheduler.h:27,
from drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h:28,
from drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:43,
from drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c:25:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c: In function 'amdgpu_allocate_static_csa':
drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c:40:6: warning: variable 'r' set but not used [-Wunused-but-set-variable]
40 | int r;
| ^
In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c:25:
At top level:
drivers/gpu/drm/amd/amdgpu/amdgpu.h:190:18: warning: 'sched_policy' defined but not used [-Wunused-const-variable=]
190 | static const int sched_policy = KFD_SCHED_POLICY_HWS;
| ^~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dc_types.h:33,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:65,
from drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c:25:
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:76:32: warning: 'dc_fixpt_ln2_div_2' defined but not used [-Wunused-const-variable=]
76 | static const struct fixed31_32 dc_fixpt_ln2_div_2 = { 1488522236LL };
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:75:32: warning: 'dc_fixpt_ln2' defined but not used [-Wunused-const-variable=]
75 | static const struct fixed31_32 dc_fixpt_ln2 = { 2977044471LL };
| ^~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:74:32: warning: 'dc_fixpt_e' defined but not used [-Wunused-const-variable=]
74 | static const struct fixed31_32 dc_fixpt_e = { 11674931555LL };
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:73:32: warning: 'dc_fixpt_two_pi' defined but not used [-Wunused-const-variable=]
73 | static const struct fixed31_32 dc_fixpt_two_pi = { 26986075409LL };
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:72:32: warning: 'dc_fixpt_pi' defined but not used [-Wunused-const-variable=]
72 | static const struct fixed31_32 dc_fixpt_pi = { 13493037705LL };
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:67:32: warning: 'dc_fixpt_zero' defined but not used [-Wunused-const-variable=]
67 | static const struct fixed31_32 dc_fixpt_zero = { 0 };
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from ./arch/parisc/include/generated/asm/rwonce.h:1,
from include/asm-generic/barrier.h:16,
from arch/parisc/include/asm/barrier.h:29,
from arch/parisc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from include/drm/spsc_queue.h:27,
from include/drm/gpu_scheduler.h:27,
from drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h:28,
from drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:43,
from drivers/gpu/drm/amd/amdgpu/kv_dpm.c:24:
arch/parisc/include/asm/atomic.h: In function 'atomic_read':
>> include/asm-generic/rwonce.h:38:2: error: implicit declaration of function 'compiletime_assert' [-Werror=implicit-function-declaration]
38 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:57:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
57 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/parisc/include/asm/atomic.h:73:9: note: in expansion of macro 'READ_ONCE'
73 | return READ_ONCE((v)->counter);
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/kv_dpm.c: In function 'kv_get_acp_boot_level':
drivers/gpu/drm/amd/amdgpu/kv_dpm.c:1617:29: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
1617 | if (table->entries[i].clk >= 0) /* XXX */
| ^~
drivers/gpu/drm/amd/amdgpu/kv_dpm.c: In function 'kv_dpm_powergate_uvd':
drivers/gpu/drm/amd/amdgpu/kv_dpm.c:1678:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
1678 | int ret;
| ^~~
drivers/gpu/drm/amd/amdgpu/kv_dpm.c: In function 'kv_dpm_powergate_vce':
drivers/gpu/drm/amd/amdgpu/kv_dpm.c:1706:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
1706 | int ret;
| ^~~
In file included from drivers/gpu/drm/amd/amdgpu/kv_dpm.c:24:
At top level:
drivers/gpu/drm/amd/amdgpu/amdgpu.h:190:18: warning: 'sched_policy' defined but not used [-Wunused-const-variable=]
190 | static const int sched_policy = KFD_SCHED_POLICY_HWS;
| ^~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dc_types.h:33,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:65,
from drivers/gpu/drm/amd/amdgpu/kv_dpm.c:24:
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:76:32: warning: 'dc_fixpt_ln2_div_2' defined but not used [-Wunused-const-variable=]
76 | static const struct fixed31_32 dc_fixpt_ln2_div_2 = { 1488522236LL };
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:75:32: warning: 'dc_fixpt_ln2' defined but not used [-Wunused-const-variable=]
75 | static const struct fixed31_32 dc_fixpt_ln2 = { 2977044471LL };
| ^~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:74:32: warning: 'dc_fixpt_e' defined but not used [-Wunused-const-variable=]
74 | static const struct fixed31_32 dc_fixpt_e = { 11674931555LL };
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:73:32: warning: 'dc_fixpt_two_pi' defined but not used [-Wunused-const-variable=]
73 | static const struct fixed31_32 dc_fixpt_two_pi = { 26986075409LL };
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:72:32: warning: 'dc_fixpt_pi' defined but not used [-Wunused-const-variable=]
72 | static const struct fixed31_32 dc_fixpt_pi = { 13493037705LL };
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:67:32: warning: 'dc_fixpt_zero' defined but not used [-Wunused-const-variable=]
67 | static const struct fixed31_32 dc_fixpt_zero = { 0 };
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
..
vim +/compiletime_assert +38 include/asm-generic/rwonce.h
30
31 /*
32 * Yes, this permits 64-bit accesses on 32-bit architectures. These will
33 * actually be atomic in some cases (namely Armv7 + LPAE), but for others we
34 * rely on the access being split into 2x32-bit accesses for a 32-bit quantity
35 * (e.g. a virtual address) and a strong prevailing wind.
36 */
37 #define compiletime_assert_rwonce_type(t) \
> 38 compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
39 "Unsupported access size for {READ,WRITE}_ONCE().")
40
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH] vfio dma_map/unmap: optimized for hugetlbfs pages
by kernel test robot
Hi Jay,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on vfio/next]
[also build test ERROR on linux/master linus/master v5.8-rc6 next-20200720]
[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/Jay-Zhou/vfio-dma_map-unmap-opti...
base: https://github.com/awilliam/linux-vfio.git next
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/vfio/vfio_iommu_type1.c:522:52: error: 'HUGE_MAX_HSTATE' undeclared here (not in a function)
522 | struct vfio_hupetlbpage_info vfio_hugetlbpage_info[HUGE_MAX_HSTATE] = {
| ^~~~~~~~~~~~~~~
In file included from include/linux/mm.h:679,
from include/linux/scatterlist.h:8,
from include/linux/iommu.h:10,
from drivers/vfio/vfio_iommu_type1.c:27:
include/linux/huge_mm.h:319:25: error: braced-group within expression allowed only inside a function
319 | #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
| ^
drivers/vfio/vfio_iommu_type1.c:523:45: note: in expansion of macro 'HPAGE_PMD_SHIFT'
523 | {vfio_hugetlbpage_2M, PMD_SIZE, ~((1ULL << HPAGE_PMD_SHIFT) - 1)},
| ^~~~~~~~~~~~~~~
include/linux/huge_mm.h:323:25: error: braced-group within expression allowed only inside a function
323 | #define HPAGE_PUD_SHIFT ({ BUILD_BUG(); 0; })
| ^
drivers/vfio/vfio_iommu_type1.c:524:45: note: in expansion of macro 'HPAGE_PUD_SHIFT'
524 | {vfio_hugetlbpage_1G, PUD_SIZE, ~((1ULL << HPAGE_PUD_SHIFT) - 1)},
| ^~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c: In function 'hugetlb_is_last_page':
>> drivers/vfio/vfio_iommu_type1.c:554:81: warning: parameter 'type' set but not used [-Wunused-but-set-parameter]
554 | static bool hugetlb_is_last_page(unsigned long addr, enum vfio_hugetlbpage_type type)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
vim +/HUGE_MAX_HSTATE +522 drivers/vfio/vfio_iommu_type1.c
521
> 522 struct vfio_hupetlbpage_info vfio_hugetlbpage_info[HUGE_MAX_HSTATE] = {
523 {vfio_hugetlbpage_2M, PMD_SIZE, ~((1ULL << HPAGE_PMD_SHIFT) - 1)},
524 {vfio_hugetlbpage_1G, PUD_SIZE, ~((1ULL << HPAGE_PUD_SHIFT) - 1)},
525 };
526
527 static bool is_hugetlbpage(unsigned long pfn, enum vfio_hugetlbpage_type *type)
528 {
529 struct page *page = NULL;
530
531 if (!pfn_valid(pfn) || !type)
532 return false;
533
534 page = pfn_to_page(pfn);
535 /* only check for hugetlbfs pages */
536 if (!page || !PageHuge(page))
537 return false;
538
539 switch (compound_order(compound_head(page))) {
540 case PMD_ORDER:
541 *type = vfio_hugetlbpage_2M;
542 break;
543 case PUD_ORDER:
544 *type = vfio_hugetlbpage_1G;
545 break;
546 default:
547 return false;
548 }
549
550 return true;
551 }
552
553 /* Is the addr in the last page in hugetlbfs pages? */
> 554 static bool hugetlb_is_last_page(unsigned long addr, enum vfio_hugetlbpage_type type)
555 {
556 unsigned int num = 0;
557
558 num = hugetlb_get_resdual_pages(addr & ~(PAGE_SIZE - 1), type);
559
560 if (num == 1)
561 return true;
562 else
563 return false;
564 }
565
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[android-common:android-trusty-5.4 28/32] drivers/trusty/trusty-test.c:81:6: warning: Variable 'ret' is reassigned a value before the old one has been used.
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-trusty-5.4
head: 055ccbe92295978be3d8d20275b35b5e8779664d
commit: ad087eec5da18a8b73a9db488cc60fc48a10a026 [28/32] ANDROID: trusty: Add stdcalltest
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> drivers/trusty/trusty-test.c:81:6: warning: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment]
ret = sg_alloc_table_from_pages(&obj->sgt, obj->pages, page_count,
^
drivers/trusty/trusty-test.c:43:0: note: Variable 'ret' is reassigned a value before the old one has been used.
int ret = -ENOMEM;
^
drivers/trusty/trusty-test.c:81:6: note: Variable 'ret' is reassigned a value before the old one has been used.
ret = sg_alloc_table_from_pages(&obj->sgt, obj->pages, page_count,
^
drivers/trusty/trusty-test.c:311:10: warning: Uninitialized variable: obj [uninitvar]
ret, obj->mem_id, i, repeat_share);
^
vim +/ret +81 drivers/trusty/trusty-test.c
32
33 /*
34 * Allocate a test object with @page_count number of pages, map it and add it to
35 * @list.
36 * For multi-page allocations, order the pages so they are not contiguous.
37 */
38 static int trusty_test_alloc_obj(struct trusty_test_state *s,
39 size_t page_count,
40 struct list_head *list)
41 {
42 size_t i;
43 int ret = -ENOMEM;
44 struct trusty_test_shmem_obj *obj;
45
46 obj = kzalloc(sizeof(*obj), GFP_KERNEL);
47 if (!obj)
48 goto err_alloc_obj;
49 obj->page_count = page_count;
50
51 obj->pages = kmalloc_array(page_count, sizeof(*obj->pages), GFP_KERNEL);
52 if (!obj->pages) {
53 ret = -ENOMEM;
54 dev_err(s->dev, "failed to allocate page array, count %zd\n",
55 page_count);
56 goto err_alloc_pages;
57 }
58
59 for (i = 0; i < page_count; i++) {
60 obj->pages[i] = alloc_page(GFP_KERNEL);
61 if (!obj->pages[i]) {
62 ret = -ENOMEM;
63 dev_err(s->dev, "failed to allocate page %zd/%zd\n",
64 i, page_count);
65 goto err_alloc_page;
66 }
67 if (i > 0 && obj->pages[i - 1] + 1 == obj->pages[i]) {
68 /* swap adacent pages to increase fragmentation */
69 swap(obj->pages[i - 1], obj->pages[i]);
70 }
71 }
72
73 obj->buf = vmap(obj->pages, page_count, VM_MAP, PAGE_KERNEL);
74 if (!obj->buf) {
75 ret = -ENOMEM;
76 dev_err(s->dev, "failed to map test buffer page count %zd\n",
77 page_count);
78 goto err_map_pages;
79 }
80
> 81 ret = sg_alloc_table_from_pages(&obj->sgt, obj->pages, page_count,
82 0, page_count * PAGE_SIZE, GFP_KERNEL);
83 if (ret) {
84 dev_err(s->dev, "sg_alloc_table_from_pages failed: %d\n", ret);
85 goto err_alloc_sgt;
86 }
87 list_add_tail(&obj->node, list);
88 dev_dbg(s->dev, "buffer has %d page runs\n", obj->sgt.nents);
89 return 0;
90
91 err_alloc_sgt:
92 vunmap(obj->buf);
93 err_map_pages:
94 for (i = page_count; i > 0; i--) {
95 __free_page(obj->pages[i - 1]);
96 err_alloc_page:
97 ;
98 }
99 kfree(obj->pages);
100 err_alloc_pages:
101 kfree(obj);
102 err_alloc_obj:
103 return ret;
104 }
105
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH 3/4] fs: add mount_setattr()
by kernel test robot
Hi Christian,
I love your patch! Yet something to improve:
[auto build test ERROR on dcb7fd82c75ee2d6e6f9d8cc71c52519ed52e258]
url: https://github.com/0day-ci/linux/commits/Christian-Brauner/fs-add-mount_s...
base: dcb7fd82c75ee2d6e6f9d8cc71c52519ed52e258
config: x86_64-randconfig-s022-20200719 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from <command-line>:32:
./usr/include/linux/mount.h:124:2: error: unknown type name '__u64'
124 | __u64 attr_set;
| ^~~~~
./usr/include/linux/mount.h:125:2: error: unknown type name '__u64'
125 | __u64 attr_clr;
| ^~~~~
>> ./usr/include/linux/mount.h:126:2: error: unknown type name '__u32'
126 | __u32 propagation;
| ^~~~~
./usr/include/linux/mount.h:127:2: error: unknown type name '__u32'
127 | __u32 atime;
| ^~~~~
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH 7/7] soc: imx8: Add the SC SECVIO driver
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linux/master linus/master v5.8-rc6]
[cannot apply to shawnguo/for-next next-20200720]
[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/franck-lenormand-oss-nxp-com/Add...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cf1105069648446d58adfb7a6cc590013d6886ba)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/soc/imx/secvio/imx-secvio-sc.c:200:5: warning: no previous prototype for function 'int_imx_secvio_sc_check_state' [-Wmissing-prototypes]
int int_imx_secvio_sc_check_state(struct device *dev)
^
drivers/soc/imx/secvio/imx-secvio-sc.c:200:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int int_imx_secvio_sc_check_state(struct device *dev)
^
static
1 warning generated.
--
>> drivers/soc/imx/secvio/imx-secvio-debugfs.c:45:5: warning: no previous prototype for function 'fuse_reader' [-Wmissing-prototypes]
int fuse_reader(struct device *dev, u32 id, u32 *value, u8 mul)
^
drivers/soc/imx/secvio/imx-secvio-debugfs.c:45:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int fuse_reader(struct device *dev, u32 id, u32 *value, u8 mul)
^
static
>> drivers/soc/imx/secvio/imx-secvio-debugfs.c:78:5: warning: no previous prototype for function 'snvs_reader' [-Wmissing-prototypes]
int snvs_reader(struct device *dev, u32 id, u32 *value, u8 mul)
^
drivers/soc/imx/secvio/imx-secvio-debugfs.c:78:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int snvs_reader(struct device *dev, u32 id, u32 *value, u8 mul)
^
static
>> drivers/soc/imx/secvio/imx-secvio-debugfs.c:129:5: warning: no previous prototype for function 'snvs_dgo_reader' [-Wmissing-prototypes]
int snvs_dgo_reader(struct device *dev, u32 id, u32 *value, u8 mul)
^
drivers/soc/imx/secvio/imx-secvio-debugfs.c:129:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int snvs_dgo_reader(struct device *dev, u32 id, u32 *value, u8 mul)
^
static
3 warnings generated.
--
>> drivers/soc/imx/secvio/imx-secvio-audit.c:23:5: warning: no previous prototype for function 'report_to_audit_notify' [-Wmissing-prototypes]
int report_to_audit_notify(struct notifier_block *nb, unsigned long status,
^
drivers/soc/imx/secvio/imx-secvio-audit.c:23:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int report_to_audit_notify(struct notifier_block *nb, unsigned long status,
^
static
1 warning generated.
vim +/int_imx_secvio_sc_check_state +200 drivers/soc/imx/secvio/imx-secvio-sc.c
189
190 /**
191 * int_imx_secvio_sc_check_state() - Get the state and call chain of notifier
192 * if there is a status
193 *
194 * @dev: secvio device
195 *
196 * Return:
197 * 0 - OK
198 * < 0 - error.
199 */
> 200 int int_imx_secvio_sc_check_state(struct device *dev)
201 {
202 struct secvio_sc_notifier_info info = {0};
203 int ret = 0;
204
205 ret = int_imx_secvio_sc_get_state(dev, &info);
206 if (ret) {
207 dev_err(dev, "Failed to get secvio state\n");
208 goto exit;
209 }
210
211 /* Call chain of CB registered to this module if status detected */
212 if (info.hpsvs || info.lps || info.lptds)
213 if (imx_secvio_sc_notifier_call_chain(&info))
214 dev_warn(dev,
215 "Issues when calling the notifier chain\n");
216
217 exit:
218 return ret;
219 }
220
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH] PCI/ATS: PASID and PRI are only enumerated in PF devices.
by kernel test robot
Hi Ashok,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pci/next]
[also build test ERROR on iommu/next linux/master linus/master v5.8-rc6 next-20200720]
[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/Ashok-Raj/PCI-ATS-PASID-and-PRI-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
config: x86_64-kexec (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/iommu/intel/iommu.c: In function 'dmar_insert_one_dev_info':
>> drivers/iommu/intel/iommu.c:2557:8: error: implicit declaration of function 'pci_pri_supported'; did you mean 'pci_ats_supported'? [-Werror=implicit-function-declaration]
2557 | pci_pri_supported(pdev))
| ^~~~~~~~~~~~~~~~~
| pci_ats_supported
cc1: some warnings being treated as errors
vim +2557 drivers/iommu/intel/iommu.c
2504
2505 static struct dmar_domain *dmar_insert_one_dev_info(struct intel_iommu *iommu,
2506 int bus, int devfn,
2507 struct device *dev,
2508 struct dmar_domain *domain)
2509 {
2510 struct dmar_domain *found = NULL;
2511 struct device_domain_info *info;
2512 unsigned long flags;
2513 int ret;
2514
2515 info = alloc_devinfo_mem();
2516 if (!info)
2517 return NULL;
2518
2519 if (!dev_is_real_dma_subdevice(dev)) {
2520 info->bus = bus;
2521 info->devfn = devfn;
2522 info->segment = iommu->segment;
2523 } else {
2524 struct pci_dev *pdev = to_pci_dev(dev);
2525
2526 info->bus = pdev->bus->number;
2527 info->devfn = pdev->devfn;
2528 info->segment = pci_domain_nr(pdev->bus);
2529 }
2530
2531 info->ats_supported = info->pasid_supported = info->pri_supported = 0;
2532 info->ats_enabled = info->pasid_enabled = info->pri_enabled = 0;
2533 info->ats_qdep = 0;
2534 info->dev = dev;
2535 info->domain = domain;
2536 info->iommu = iommu;
2537 info->pasid_table = NULL;
2538 info->auxd_enabled = 0;
2539 INIT_LIST_HEAD(&info->auxiliary_domains);
2540
2541 if (dev && dev_is_pci(dev)) {
2542 struct pci_dev *pdev = to_pci_dev(info->dev);
2543
2544 if (ecap_dev_iotlb_support(iommu->ecap) &&
2545 pci_ats_supported(pdev) &&
2546 dmar_find_matched_atsr_unit(pdev))
2547 info->ats_supported = 1;
2548
2549 if (sm_supported(iommu)) {
2550 if (pasid_supported(iommu)) {
2551 int features = pci_pasid_features(pdev);
2552 if (features >= 0)
2553 info->pasid_supported = features | 1;
2554 }
2555
2556 if (info->ats_supported && ecap_prs(iommu->ecap) &&
> 2557 pci_pri_supported(pdev))
2558 info->pri_supported = 1;
2559 }
2560 }
2561
2562 spin_lock_irqsave(&device_domain_lock, flags);
2563 if (dev)
2564 found = find_domain(dev);
2565
2566 if (!found) {
2567 struct device_domain_info *info2;
2568 info2 = dmar_search_domain_by_dev_info(info->segment, info->bus,
2569 info->devfn);
2570 if (info2) {
2571 found = info2->domain;
2572 info2->dev = dev;
2573 }
2574 }
2575
2576 if (found) {
2577 spin_unlock_irqrestore(&device_domain_lock, flags);
2578 free_devinfo_mem(info);
2579 /* Caller must free the original domain */
2580 return found;
2581 }
2582
2583 spin_lock(&iommu->lock);
2584 ret = domain_attach_iommu(domain, iommu);
2585 spin_unlock(&iommu->lock);
2586
2587 if (ret) {
2588 spin_unlock_irqrestore(&device_domain_lock, flags);
2589 free_devinfo_mem(info);
2590 return NULL;
2591 }
2592
2593 list_add(&info->link, &domain->devices);
2594 list_add(&info->global, &device_domain_list);
2595 if (dev)
2596 dev->archdata.iommu = info;
2597 spin_unlock_irqrestore(&device_domain_lock, flags);
2598
2599 /* PASID table is mandatory for a PCI device in scalable mode. */
2600 if (dev && dev_is_pci(dev) && sm_supported(iommu)) {
2601 ret = intel_pasid_alloc_table(dev);
2602 if (ret) {
2603 dev_err(dev, "PASID table allocation failed\n");
2604 dmar_remove_one_dev_info(dev);
2605 return NULL;
2606 }
2607
2608 /* Setup the PASID entry for requests without PASID: */
2609 spin_lock(&iommu->lock);
2610 if (hw_pass_through && domain_type_is_si(domain))
2611 ret = intel_pasid_setup_pass_through(iommu, domain,
2612 dev, PASID_RID2PASID);
2613 else if (domain_use_first_level(domain))
2614 ret = domain_setup_first_level(iommu, domain, dev,
2615 PASID_RID2PASID);
2616 else
2617 ret = intel_pasid_setup_second_level(iommu, domain,
2618 dev, PASID_RID2PASID);
2619 spin_unlock(&iommu->lock);
2620 if (ret) {
2621 dev_err(dev, "Setup RID2PASID failed\n");
2622 dmar_remove_one_dev_info(dev);
2623 return NULL;
2624 }
2625 }
2626
2627 if (dev && domain_context_mapping(domain, dev)) {
2628 dev_err(dev, "Domain context map failed\n");
2629 dmar_remove_one_dev_info(dev);
2630 return NULL;
2631 }
2632
2633 return domain;
2634 }
2635
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months