Re: [PATCH V3 6/9] objtool: Report inconsistent stack changes in alternative
by kbuild test robot
Hi Alexandre,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tip/auto-latest]
[also build test WARNING on linus/master v5.7-rc1 next-20200414]
[cannot apply to tip/x86/core linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Alexandre-Chartre/objtool-change...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 354a2fb98a37f696a1cffdc58dbff48a02e7c611
config: x86_64-randconfig-g003-20200414 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> kernel/trace/trace_branch.o: warning: objtool: ftrace_likely_update()+0x4: error in alternative
>> kernel/trace/trace_branch.o: warning: objtool: .altinstr_replacement+0x0: in alternative 1
>> kernel/trace/trace_branch.o: warning: objtool: .altinstr_replacement+0x1: invalid alternative state
kernel/trace/trace_branch.o: warning: objtool: ftrace_likely_update()+0x21: error in alternative
kernel/trace/trace_branch.o: warning: objtool: .altinstr_replacement+0x5: in alternative 1
kernel/trace/trace_branch.o: warning: objtool: .altinstr_replacement+0x6: invalid alternative state
--
>> lib/ubsan.o: warning: objtool: ubsan_type_mismatch_common()+0xc: error in alternative
>> lib/ubsan.o: warning: objtool: .altinstr_replacement+0x0: in alternative 1
>> lib/ubsan.o: warning: objtool: .altinstr_replacement+0x1: invalid alternative state
lib/ubsan.o: warning: objtool: ubsan_type_mismatch_common()+0x10a: error in alternative
lib/ubsan.o: warning: objtool: .altinstr_replacement+0x6: in alternative 1
>> lib/ubsan.o: warning: objtool: .altinstr_replacement+0x8: misaligned alternative state change
>> lib/ubsan.o: warning: objtool: __ubsan_handle_shift_out_of_bounds()+0x2b: error in alternative
lib/ubsan.o: warning: objtool: .altinstr_replacement+0x9: in alternative 1
lib/ubsan.o: warning: objtool: .altinstr_replacement+0xa: invalid alternative state
lib/ubsan.o: warning: objtool: __ubsan_handle_shift_out_of_bounds()+0x103: error in alternative
lib/ubsan.o: warning: objtool: .altinstr_replacement+0xf: in alternative 1
lib/ubsan.o: warning: objtool: .altinstr_replacement+0x11: misaligned alternative state change
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
scu-pd.c:undefined reference to `imx_scu_call_rpc'
by kbuild test robot
Hi Anson,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8632e9b5645bbc2331d21d892b0d6961c1a08429
commit: a9f85f93ed735ebdacdaeb9652844b74c94c8c9c firmware: imx: add COMPILE_TEST support
date: 4 weeks ago
config: i386-randconfig-g003-20200415 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout a9f85f93ed735ebdacdaeb9652844b74c94c8c9c
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: drivers/firmware/imx/scu-pd.o: in function `imx_sc_pd_power':
>> scu-pd.c:(.text+0x70): undefined reference to `imx_scu_call_rpc'
ld: drivers/firmware/imx/scu-pd.o: in function `imx_sc_pd_probe':
>> scu-pd.c:(.text+0xe8): undefined reference to `imx_scu_get_handle'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
Re: [PATCH V3 6/9] objtool: Report inconsistent stack changes in alternative
by kbuild test robot
Hi Alexandre,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tip/auto-latest]
[also build test WARNING on linus/master v5.7-rc1 next-20200414]
[cannot apply to tip/x86/core linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Alexandre-Chartre/objtool-change...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 354a2fb98a37f696a1cffdc58dbff48a02e7c611
config: x86_64-randconfig-b002-20200415 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> mm/kasan/common.o: warning: objtool: kasan_report()+0x13: error in alternative
>> mm/kasan/common.o: warning: objtool: .altinstr_replacement+0xa: in alternative 1
>> mm/kasan/common.o: warning: objtool: .altinstr_replacement+0xb: invalid alternative state
mm/kasan/common.o: warning: objtool: kasan_report()+0x3b: error in alternative
mm/kasan/common.o: warning: objtool: .altinstr_replacement+0xf: in alternative 1
mm/kasan/common.o: warning: objtool: .altinstr_replacement+0x10: invalid alternative state
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[chrome-os:chromeos-4.19 21350/21402] drivers/misc/echo/echo.c:384:27: error: equality comparison with extraneous parentheses
by kbuild test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.19
head: e747fc8dfce13c501be9b7032a5a3d8249bc27ab
commit: 12bd892cc0bd4a700dd41aa4b0d1e0cfc128e3e4 [21350/21402] CHROMIUM: Merge 'v4.19.114' into chromeos-4.19
config: x86_64-randconfig-c002-20200414 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project f3da6b7ab5698bb0b9bd208972115dbcbbc59f27)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 12bd892cc0bd4a700dd41aa4b0d1e0cfc128e3e4
# save the attached .config to linux build tree
COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/misc/echo/echo.c:384:27: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
if ((ec->nonupdate_dwell == 0)) {
~~~~~~~~~~~~~~~~~~~~^~~~
drivers/misc/echo/echo.c:384:27: note: remove extraneous parentheses around the comparison to silence this warning
if ((ec->nonupdate_dwell == 0)) {
~ ^ ~
drivers/misc/echo/echo.c:384:27: note: use '=' to turn this equality comparison into an assignment
if ((ec->nonupdate_dwell == 0)) {
^~
=
1 error generated.
--
>> net/decnet/dn_dev.c:1366:10: error: address of array 'dev->name' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
dev->name ? dev->name : "???",
~~~~~^~~~ ~
1 error generated.
--
>> drivers/regulator/da903x.c:395:2: error: division by zero is undefined [-Werror,-Wdivision-by-zero]
DA9030_LDO(13, 2100, 2100, 0, INVAL, 0, 0, RCTL11, 3), /* fixed @2.1V */
^ ~
drivers/regulator/da903x.c:359:2: note: expanded from macro 'DA9030_LDO'
DA903x_LDO(DA9030, _id, min, max, step, vreg, shift, nbits, ereg, ebit)
^ ~~~~
drivers/regulator/da903x.c:320:39: note: expanded from macro 'DA903x_LDO'
.n_voltages = (step) ? ((max - min) / step + 1) : 1, \
^ ~~~~
drivers/regulator/da903x.c:415:2: error: division by zero is undefined [-Werror,-Wdivision-by-zero]
DA9034_LDO(5, 3100, 3100, 0, INVAL, 0, 0, OVER3, 7), /* fixed @3.1V */
^ ~
drivers/regulator/da903x.c:356:2: note: expanded from macro 'DA9034_LDO'
DA903x_LDO(DA9034, _id, min, max, step, vreg, shift, nbits, ereg, ebit)
^ ~~~~
drivers/regulator/da903x.c:320:39: note: expanded from macro 'DA903x_LDO'
.n_voltages = (step) ? ((max - min) / step + 1) : 1, \
^ ~~~~
2 errors generated.
--
In file included from drivers/scsi/osd/osd_uld.c:60:
In file included from include/scsi/osd_initiator.h:18:
>> include/scsi/osd_types.h:31:21: error: 'weak' attribute only applies to variables, functions, and classes [-Werror,-Wignored-attributes]
static const struct __weak osd_obj_id osd_root_object = {0, 0};
^
include/linux/compiler_types.h:219:33: note: expanded from macro '__weak'
#define __weak __attribute__((weak))
^
1 error generated.
vim +384 drivers/misc/echo/echo.c
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 273
9d8f2d5dfbcc9d drivers/staging/echo/echo.c Tzafrir Cohen 2008-10-12 274 int16_t oslec_update(struct oslec_state *ec, int16_t tx, int16_t rx)
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 275 {
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 276 int32_t echo_value;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 277 int clean_bg;
3ec50be588d773 drivers/staging/echo/echo.c Jesper Juhl 2012-06-27 278 int tmp;
3ec50be588d773 drivers/staging/echo/echo.c Jesper Juhl 2012-06-27 279 int tmp1;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 280
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 281 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 282 * Input scaling was found be required to prevent problems when tx
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 283 * starts clipping. Another possible way to handle this would be the
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 284 * filter coefficent scaling.
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 285 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 286
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 287 ec->tx = tx;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 288 ec->rx = rx;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 289 tx >>= 1;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 290 rx >>= 1;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 291
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 292 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 293 * Filter DC, 3dB point is 160Hz (I think), note 32 bit precision
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 294 * required otherwise values do not track down to 0. Zero at DC, Pole
196e76e86a3a90 drivers/staging/echo/echo.c David Rowe 2009-08-23 295 * at (1-Beta) on real axis. Some chip sets (like Si labs) don't
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 296 * need this, but something like a $10 X100P card does. Any DC really
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 297 * slows down convergence.
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 298 *
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 299 * Note: removes some low frequency from the signal, this reduces the
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 300 * speech quality when listening to samples through headphones but may
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 301 * not be obvious through a telephone handset.
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 302 *
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 303 * Note that the 3dB frequency in radians is approx Beta, e.g. for Beta
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 304 * = 2^(-3) = 0.125, 3dB freq is 0.125 rads = 159Hz.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 305 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 306
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 307 if (ec->adaption_mode & ECHO_CAN_USE_RX_HPF) {
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 308 tmp = rx << 15;
196e76e86a3a90 drivers/staging/echo/echo.c David Rowe 2009-08-23 309
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 310 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 311 * Make sure the gain of the HPF is 1.0. This can still
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 312 * saturate a little under impulse conditions, and it might
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 313 * roll to 32768 and need clipping on sustained peak level
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 314 * signals. However, the scale of such clipping is small, and
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 315 * the error due to any saturation should not markedly affect
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 316 * the downstream processing.
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 317 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 318 tmp -= (tmp >> 4);
196e76e86a3a90 drivers/staging/echo/echo.c David Rowe 2009-08-23 319
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 320 ec->rx_1 += -(ec->rx_1 >> DC_LOG2BETA) + tmp - ec->rx_2;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 321
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 322 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 323 * hard limit filter to prevent clipping. Note that at this
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 324 * stage rx should be limited to +/- 16383 due to right shift
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 325 * above
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 326 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 327 tmp1 = ec->rx_1 >> 15;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 328 if (tmp1 > 16383)
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 329 tmp1 = 16383;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 330 if (tmp1 < -16383)
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 331 tmp1 = -16383;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 332 rx = tmp1;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 333 ec->rx_2 = tmp;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 334 }
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 335
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 336 /* Block average of power in the filter states. Used for
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 337 adaption power calculation. */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 338
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 339 {
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 340 int new, old;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 341
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 342 /* efficient "out with the old and in with the new" algorithm so
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 343 we don't have to recalculate over the whole block of
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 344 samples. */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 345 new = (int)tx * (int)tx;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 346 old = (int)ec->fir_state.history[ec->fir_state.curr_pos] *
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 347 (int)ec->fir_state.history[ec->fir_state.curr_pos];
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 348 ec->pstates +=
0f51010e87636e drivers/staging/echo/echo.c David Rowe 2009-05-20 349 ((new - old) + (1 << (ec->log2taps - 1))) >> ec->log2taps;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 350 if (ec->pstates < 0)
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 351 ec->pstates = 0;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 352 }
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 353
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 354 /* Calculate short term average levels using simple single pole IIRs */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 355
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 356 ec->ltxacc += abs(tx) - ec->ltx;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 357 ec->ltx = (ec->ltxacc + (1 << 4)) >> 5;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 358 ec->lrxacc += abs(rx) - ec->lrx;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 359 ec->lrx = (ec->lrxacc + (1 << 4)) >> 5;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 360
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 361 /* Foreground filter */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 362
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 363 ec->fir_state.coeffs = ec->fir_taps16[0];
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 364 echo_value = fir16(&ec->fir_state, tx);
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 365 ec->clean = rx - echo_value;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 366 ec->lcleanacc += abs(ec->clean) - ec->lclean;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 367 ec->lclean = (ec->lcleanacc + (1 << 4)) >> 5;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 368
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 369 /* Background filter */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 370
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 371 echo_value = fir16(&ec->fir_state_bg, tx);
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 372 clean_bg = rx - echo_value;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 373 ec->lclean_bgacc += abs(clean_bg) - ec->lclean_bg;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 374 ec->lclean_bg = (ec->lclean_bgacc + (1 << 4)) >> 5;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 375
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 376 /* Background Filter adaption */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 377
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 378 /* Almost always adap bg filter, just simple DT and energy
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 379 detection to minimise adaption in cases of strong double talk.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 380 However this is not critical for the dual path algorithm.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 381 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 382 ec->factor = 0;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 383 ec->shift = 0;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 @384 if ((ec->nonupdate_dwell == 0)) {
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 385 int p, logp, shift;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 386
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 387 /* Determine:
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 388
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 389 f = Beta * clean_bg_rx/P ------ (1)
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 390
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 391 where P is the total power in the filter states.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 392
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 393 The Boffins have shown that if we obey (1) we converge
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 394 quickly and avoid instability.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 395
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 396 The correct factor f must be in Q30, as this is the fixed
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 397 point format required by the lms_adapt_bg() function,
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 398 therefore the scaled version of (1) is:
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 399
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 400 (2^30) * f = (2^30) * Beta * clean_bg_rx/P
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 401 factor = (2^30) * Beta * clean_bg_rx/P ----- (2)
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 402
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 403 We have chosen Beta = 0.25 by experiment, so:
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 404
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 405 factor = (2^30) * (2^-2) * clean_bg_rx/P
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 406
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 407 (30 - 2 - log2(P))
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 408 factor = clean_bg_rx 2 ----- (3)
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 409
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 410 To avoid a divide we approximate log2(P) as top_bit(P),
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 411 which returns the position of the highest non-zero bit in
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 412 P. This approximation introduces an error as large as a
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 413 factor of 2, but the algorithm seems to handle it OK.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 414
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 415 Come to think of it a divide may not be a big deal on a
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 416 modern DSP, so its probably worth checking out the cycles
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 417 for a divide versus a top_bit() implementation.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 418 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 419
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 420 p = MIN_TX_POWER_FOR_ADAPTION + ec->pstates;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 421 logp = top_bit(p) + ec->log2taps;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 422 shift = 30 - 2 - logp;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 423 ec->shift = shift;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 424
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 425 lms_adapt_bg(ec, clean_bg, shift);
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 426 }
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 427
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 428 /* very simple DTD to make sure we dont try and adapt with strong
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 429 near end speech */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 430
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 431 ec->adapt = 0;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 432 if ((ec->lrx > MIN_RX_POWER_FOR_ADAPTION) && (ec->lrx > ec->ltx))
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 433 ec->nonupdate_dwell = DTD_HANGOVER;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 434 if (ec->nonupdate_dwell)
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 435 ec->nonupdate_dwell--;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 436
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 437 /* Transfer logic */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 438
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 439 /* These conditions are from the dual path paper [1], I messed with
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 440 them a bit to improve performance. */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 441
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 442 if ((ec->adaption_mode & ECHO_CAN_USE_ADAPTION) &&
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 443 (ec->nonupdate_dwell == 0) &&
dc57a3ea80a85a drivers/staging/echo/echo.c Alexander Beregalov 2009-03-12 444 /* (ec->Lclean_bg < 0.875*ec->Lclean) */
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 445 (8 * ec->lclean_bg < 7 * ec->lclean) &&
dc57a3ea80a85a drivers/staging/echo/echo.c Alexander Beregalov 2009-03-12 446 /* (ec->Lclean_bg < 0.125*ec->Ltx) */
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 447 (8 * ec->lclean_bg < ec->ltx)) {
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 448 if (ec->cond_met == 6) {
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 449 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 450 * BG filter has had better results for 6 consecutive
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 451 * samples
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 452 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 453 ec->adapt = 1;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 454 memcpy(ec->fir_taps16[0], ec->fir_taps16[1],
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 455 ec->taps * sizeof(int16_t));
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 456 } else
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 457 ec->cond_met++;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 458 } else
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 459 ec->cond_met = 0;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 460
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 461 /* Non-Linear Processing */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 462
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 463 ec->clean_nlp = ec->clean;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 464 if (ec->adaption_mode & ECHO_CAN_USE_NLP) {
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 465 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 466 * Non-linear processor - a fancy way to say "zap small
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 467 * signals, to avoid residual echo due to (uLaw/ALaw)
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 468 * non-linearity in the channel.".
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 469 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 470
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 471 if ((16 * ec->lclean < ec->ltx)) {
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 472 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 473 * Our e/c has improved echo by at least 24 dB (each
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 474 * factor of 2 is 6dB, so 2*2*2*2=16 is the same as
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 475 * 6+6+6+6=24dB)
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 476 */
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 477 if (ec->adaption_mode & ECHO_CAN_USE_CNG) {
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 478 ec->cng_level = ec->lbgn;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 479
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 480 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 481 * Very elementary comfort noise generation.
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 482 * Just random numbers rolled off very vaguely
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 483 * Hoth-like. DR: This noise doesn't sound
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 484 * quite right to me - I suspect there are some
83aa3c7bf3f04a drivers/staging/echo/echo.c Jonathan Neuschäfer 2011-03-01 485 * overflow issues in the filtering as it's too
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 486 * "crackly".
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 487 * TODO: debug this, maybe just play noise at
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 488 * high level or look at spectrum.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 489 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 490
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 491 ec->cng_rndnum =
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 492 1664525U * ec->cng_rndnum + 1013904223U;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 493 ec->cng_filter =
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 494 ((ec->cng_rndnum & 0xFFFF) - 32768 +
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 495 5 * ec->cng_filter) >> 3;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 496 ec->clean_nlp =
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 497 (ec->cng_filter * ec->cng_level * 8) >> 14;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 498
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 499 } else if (ec->adaption_mode & ECHO_CAN_USE_CLIP) {
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 500 /* This sounds much better than CNG */
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 501 if (ec->clean_nlp > ec->lbgn)
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 502 ec->clean_nlp = ec->lbgn;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 503 if (ec->clean_nlp < -ec->lbgn)
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 504 ec->clean_nlp = -ec->lbgn;
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 505 } else {
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 506 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 507 * just mute the residual, doesn't sound very
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 508 * good, used mainly in G168 tests
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 509 */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 510 ec->clean_nlp = 0;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 511 }
4460a860f72898 drivers/staging/echo/echo.c J.R. Mauro 2008-10-20 512 } else {
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 513 /*
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 514 * Background noise estimator. I tried a few
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 515 * algorithms here without much luck. This very simple
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 516 * one seems to work best, we just average the level
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 517 * using a slow (1 sec time const) filter if the
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 518 * current level is less than a (experimentally
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 519 * derived) constant. This means we dont include high
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 520 * level signals like near end speech. When combined
49bb9e6d753469 drivers/staging/echo/echo.c Greg Kroah-Hartman 2009-08-10 521 * with CNG or especially CLIP seems to work OK.
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 522 */
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 523 if (ec->lclean < 40) {
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 524 ec->lbgn_acc += abs(ec->clean) - ec->lbgn;
0c474826cfdd24 drivers/staging/echo/echo.c Lisa Nguyen 2013-05-05 525 ec->lbgn = (ec->lbgn_acc + (1 << 11)) >> 12;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 526 }
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 527 }
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 528 }
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 529
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 530 /* Roll around the taps buffer */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 531 if (ec->curr_pos <= 0)
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 532 ec->curr_pos = ec->taps;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 533 ec->curr_pos--;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 534
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 535 if (ec->adaption_mode & ECHO_CAN_DISABLE)
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 536 ec->clean_nlp = rx;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 537
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 538 /* Output scaled back up again to match input scaling */
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 539
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 540 return (int16_t) ec->clean_nlp << 1;
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 541 }
9d8f2d5dfbcc9d drivers/staging/echo/echo.c Tzafrir Cohen 2008-10-12 542 EXPORT_SYMBOL_GPL(oslec_update);
10602db812fa27 drivers/staging/echo/echo.c David Rowe 2008-10-06 543
:::::: The code at line 384 was first introduced by commit
:::::: 10602db812fa270fc923f5e48fb47202288828f3 Staging: add echo cancelation module
:::::: TO: David Rowe <david(a)rowetel.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
Re: [PATCH v11 24/25] fuse: Convert from readpages to readahead
by kbuild test robot
Hi Matthew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on xfs-linux/for-next]
[also build test WARNING on linus/master v5.7-rc1 next-20200414]
[cannot apply to ext4/dev f2fs/dev-test]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox/Change-readahead-...
base: https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git for-next
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce:
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
GCC_VERSION=9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs/fuse/fuse_i.h:17,
from fs/fuse/file.c:9:
fs/fuse/file.c: In function 'fuse_readahead':
include/linux/kernel.h:842:29: warning: comparison of distinct pointer types lacks a cast
842 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^~
include/linux/kernel.h:856:4: note: in expansion of macro '__typecheck'
856 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~
include/linux/kernel.h:866:24: note: in expansion of macro '__safe_cmp'
866 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/kernel.h:875:19: note: in expansion of macro '__careful_cmp'
875 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
>> fs/fuse/file.c:927:14: note: in expansion of macro 'min'
927 | max_pages = min(fc->max_pages, fc->max_read / PAGE_SIZE);
| ^~~
vim +/min +927 fs/fuse/file.c
917
918 static void fuse_readahead(struct readahead_control *rac)
919 {
920 struct inode *inode = rac->mapping->host;
921 struct fuse_conn *fc = get_fuse_conn(inode);
922 unsigned int i, max_pages, nr_pages = 0;
923
924 if (is_bad_inode(inode))
925 return;
926
> 927 max_pages = min(fc->max_pages, fc->max_read / PAGE_SIZE);
928
929 for (;;) {
930 struct fuse_io_args *ia;
931 struct fuse_args_pages *ap;
932
933 nr_pages = readahead_count(rac) - nr_pages;
934 if (nr_pages > max_pages)
935 nr_pages = max_pages;
936 if (nr_pages == 0)
937 break;
938 ia = fuse_io_alloc(NULL, nr_pages);
939 if (!ia)
940 return;
941 ap = &ia->ap;
942 nr_pages = __readahead_batch(rac, ap->pages, nr_pages);
943 for (i = 0; i < nr_pages; i++) {
944 fuse_wait_on_page_writeback(inode,
945 readahead_index(rac) + i);
946 ap->descs[i].length = PAGE_SIZE;
947 }
948 ap->num_pages = nr_pages;
949 fuse_send_readpages(ia, rac->file);
950 }
951 }
952
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[stable:linux-4.4.y 9934/9999] drivers/scsi/NCR5380.c:951:124: warning: for loop has empty body
by kbuild test robot
Hi Dirk,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.4.y
head: 10d9c6f92756c1b9049e409cd5e7faed40f95294
commit: ce513359d8507123e63f34b56e67ad558074be22 [9934/9999] scripts/dtc: Remove redundant YYLOC global declaration
config: x86_64-randconfig-c003-20200414 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project f3da6b7ab5698bb0b9bd208972115dbcbbc59f27)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout ce513359d8507123e63f34b56e67ad558074be22
# save the attached .config to linux build tree
COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/scsi/dmx3191d.c:52:
>> drivers/scsi/NCR5380.c:951:124: warning: for loop has empty body [-Wempty-body]
for (tmp = (struct scsi_cmnd *) hostdata->issue_queue; tmp->host_scribble; tmp = (struct scsi_cmnd *) tmp->host_scribble);
^
drivers/scsi/NCR5380.c:951:124: note: put the semicolon on a separate line to silence this warning
1 warning generated.
--
>> drivers/scsi/mpt3sas/mpt3sas_scsih.c:2393:20: warning: address of array 'sas_device->connector_name' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (sas_device->connector_name)
~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~
drivers/scsi/mpt3sas/mpt3sas_scsih.c:3128:19: warning: address of array 'sas_device->connector_name' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (sas_device->connector_name)
~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~
2 warnings generated.
--
>> drivers/net/ethernet/via/via-velocity.c:1731:14: warning: address of array 'tdinfo->skb_dma' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (tdinfo->skb_dma) {
~~ ~~~~~~~~^~~~~~~
1 warning generated.
--
>> arch/x86/kernel/cpu/perf_event_amd_iommu.c:36:30: warning: tentative definition of variable with internal linkage has incomplete non-array type 'struct perf_amd_iommu' [-Wtentative-definition-incomplete-type]
static struct perf_amd_iommu __perf_iommu;
^
arch/x86/kernel/cpu/perf_event_amd_iommu.c:36:15: note: forward declaration of 'struct perf_amd_iommu'
static struct perf_amd_iommu __perf_iommu;
^
1 warning generated.
vim +951 drivers/scsi/NCR5380.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 929
^1da177e4c3f41 Linus Torvalds 2005-04-16 930 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 931 * We use the host_scribble field as a pointer to the next command
^1da177e4c3f41 Linus Torvalds 2005-04-16 932 * in a queue
^1da177e4c3f41 Linus Torvalds 2005-04-16 933 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 934
^1da177e4c3f41 Linus Torvalds 2005-04-16 935 cmd->host_scribble = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 936 cmd->scsi_done = done;
^1da177e4c3f41 Linus Torvalds 2005-04-16 937 cmd->result = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 938
^1da177e4c3f41 Linus Torvalds 2005-04-16 939 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 940 * Insert the cmd into the issue queue. Note that REQUEST SENSE
^1da177e4c3f41 Linus Torvalds 2005-04-16 941 * commands are added to the head of the queue since any command will
^1da177e4c3f41 Linus Torvalds 2005-04-16 942 * clear the contingent allegiance condition that exists and the
^1da177e4c3f41 Linus Torvalds 2005-04-16 943 * sense data is only guaranteed to be valid while the condition exists.
^1da177e4c3f41 Linus Torvalds 2005-04-16 944 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 945
^1da177e4c3f41 Linus Torvalds 2005-04-16 946 if (!(hostdata->issue_queue) || (cmd->cmnd[0] == REQUEST_SENSE)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 947 LIST(cmd, hostdata->issue_queue);
^1da177e4c3f41 Linus Torvalds 2005-04-16 948 cmd->host_scribble = (unsigned char *) hostdata->issue_queue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 949 hostdata->issue_queue = cmd;
^1da177e4c3f41 Linus Torvalds 2005-04-16 950 } else {
710ddd0d50d22b Finn Thain 2014-11-12 @951 for (tmp = (struct scsi_cmnd *) hostdata->issue_queue; tmp->host_scribble; tmp = (struct scsi_cmnd *) tmp->host_scribble);
^1da177e4c3f41 Linus Torvalds 2005-04-16 952 LIST(cmd, tmp);
^1da177e4c3f41 Linus Torvalds 2005-04-16 953 tmp->host_scribble = (unsigned char *) cmd;
^1da177e4c3f41 Linus Torvalds 2005-04-16 954 }
52a6a1cbd9615d Finn Thain 2014-03-18 955 dprintk(NDEBUG_QUEUES, "scsi%d : command added to %s of queue\n", instance->host_no, (cmd->cmnd[0] == REQUEST_SENSE) ? "head" : "tail");
^1da177e4c3f41 Linus Torvalds 2005-04-16 956
^1da177e4c3f41 Linus Torvalds 2005-04-16 957 /* Run the coroutine if it isn't already running. */
^1da177e4c3f41 Linus Torvalds 2005-04-16 958 /* Kick off command processing */
c4028958b6ecad David Howells 2006-11-22 959 schedule_delayed_work(&hostdata->coroutine, 0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 960 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 961 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 962
:::::: The code at line 951 was first introduced by commit
:::::: 710ddd0d50d22b40e3b644ea35966489ad178978 ncr5380: Drop legacy scsi.h include
:::::: TO: Finn Thain <fthain(a)telegraphics.com.au>
:::::: 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
2 years, 5 months
[linux-next:pending-fixes 51/162] drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c:38:4: error: implicit declaration of function 'dynamic_hex_dump'; did you mean 'seq_hex_dump'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git pending-fixes
head: b5846b2442395eadc4a7bac721fd691d95151bbf
commit: 7e4d47596b686bb2714d05f8774ada884ec8983d [51/162] ionic: replay filters after fw upgrade
config: x86_64-randconfig-d001-20200415 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout 7e4d47596b686bb2714d05f8774ada884ec8983d
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c: In function 'ionic_rx_filter_replay':
>> drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c:38:4: error: implicit declaration of function 'dynamic_hex_dump'; did you mean 'seq_hex_dump'? [-Werror=implicit-function-declaration]
dynamic_hex_dump("cmd ", DUMP_PREFIX_OFFSET, 16, 1,
^~~~~~~~~~~~~~~~
seq_hex_dump
cc1: some warnings being treated as errors
vim +38 drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c
19
20 void ionic_rx_filter_replay(struct ionic_lif *lif)
21 {
22 struct ionic_rx_filter_add_cmd *ac;
23 struct ionic_admin_ctx ctx;
24 struct ionic_rx_filter *f;
25 struct hlist_head *head;
26 struct hlist_node *tmp;
27 unsigned int i;
28 int err = 0;
29
30 ac = &ctx.cmd.rx_filter_add;
31
32 for (i = 0; i < IONIC_RX_FILTER_HLISTS; i++) {
33 head = &lif->rx_filters.by_id[i];
34 hlist_for_each_entry_safe(f, tmp, head, by_id) {
35 ctx.work = COMPLETION_INITIALIZER_ONSTACK(ctx.work);
36 memcpy(ac, &f->cmd, sizeof(f->cmd));
37 dev_dbg(&lif->netdev->dev, "replay filter command:\n");
> 38 dynamic_hex_dump("cmd ", DUMP_PREFIX_OFFSET, 16, 1,
39 &ctx.cmd, sizeof(ctx.cmd), true);
40
41 err = ionic_adminq_post_wait(lif, &ctx);
42 if (err) {
43 switch (le16_to_cpu(ac->match)) {
44 case IONIC_RX_FILTER_MATCH_VLAN:
45 netdev_info(lif->netdev, "Replay failed - %d: vlan %d\n",
46 err,
47 le16_to_cpu(ac->vlan.vlan));
48 break;
49 case IONIC_RX_FILTER_MATCH_MAC:
50 netdev_info(lif->netdev, "Replay failed - %d: mac %pM\n",
51 err, ac->mac.addr);
52 break;
53 case IONIC_RX_FILTER_MATCH_MAC_VLAN:
54 netdev_info(lif->netdev, "Replay failed - %d: vlan %d mac %pM\n",
55 err,
56 le16_to_cpu(ac->vlan.vlan),
57 ac->mac.addr);
58 break;
59 }
60 }
61 }
62 }
63 }
64
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
Re: [PATCH v2 3/6] soc: xilinx: vcu: implement clock provider for output clocks
by kbuild test robot
Hi Michael,
I love your patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on ljones-mfd/for-mfd-next rockchip/for-next keystone/next arm64/for-next/core arm-soc/for-next shawnguo/for-next v5.7-rc1 next-20200414]
[cannot apply to xlnx/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Michael-Tretter/soc-xilinx-vcu-p...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: x86_64-randconfig-a002-20200414 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/err.h:5:0,
from include/linux/clk.h:12,
from drivers/soc/xilinx/xlnx_vcu.c:9:
drivers/soc/xilinx/xlnx_vcu.c: In function 'xvcu_reset':
drivers/soc/xilinx/xlnx_vcu.c:540:11: error: 'struct xvcu_device' has no member named 'reset_gpio'
if (!xvcu->reset_gpio)
^
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> drivers/soc/xilinx/xlnx_vcu.c:540:2: note: in expansion of macro 'if'
if (!xvcu->reset_gpio)
^~
drivers/soc/xilinx/xlnx_vcu.c:540:11: error: 'struct xvcu_device' has no member named 'reset_gpio'
if (!xvcu->reset_gpio)
^
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> drivers/soc/xilinx/xlnx_vcu.c:540:2: note: in expansion of macro 'if'
if (!xvcu->reset_gpio)
^~
drivers/soc/xilinx/xlnx_vcu.c:540:11: error: 'struct xvcu_device' has no member named 'reset_gpio'
if (!xvcu->reset_gpio)
^
include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
(cond) ? \
^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~~~~~~~~~~~
>> drivers/soc/xilinx/xlnx_vcu.c:540:2: note: in expansion of macro 'if'
if (!xvcu->reset_gpio)
^~
drivers/soc/xilinx/xlnx_vcu.c:543:2: error: implicit declaration of function 'gpiod_set_value'; did you mean 'bitmap_set_value8'? [-Werror=implicit-function-declaration]
gpiod_set_value(xvcu->reset_gpio, 0);
^~~~~~~~~~~~~~~
bitmap_set_value8
drivers/soc/xilinx/xlnx_vcu.c:543:22: error: 'struct xvcu_device' has no member named 'reset_gpio'
gpiod_set_value(xvcu->reset_gpio, 0);
^~
drivers/soc/xilinx/xlnx_vcu.c:545:2: error: implicit declaration of function 'usleep_range'; did you mean 'sort_range'? [-Werror=implicit-function-declaration]
usleep_range(60, 120);
^~~~~~~~~~~~
sort_range
drivers/soc/xilinx/xlnx_vcu.c:546:22: error: 'struct xvcu_device' has no member named 'reset_gpio'
gpiod_set_value(xvcu->reset_gpio, 1);
^~
At top level:
drivers/soc/xilinx/xlnx_vcu.c:538:13: warning: 'xvcu_reset' defined but not used [-Wunused-function]
static void xvcu_reset(struct xvcu_device *xvcu)
^~~~~~~~~~
cc1: some warnings being treated as errors
vim +/if +540 drivers/soc/xilinx/xlnx_vcu.c
537
538 static void xvcu_reset(struct xvcu_device *xvcu)
539 {
> 540 if (!xvcu->reset_gpio)
541 return;
542
543 gpiod_set_value(xvcu->reset_gpio, 0);
544 /* min 2 clock cycle of vcu pll_ref, slowest freq is 33.33KHz */
545 usleep_range(60, 120);
546 gpiod_set_value(xvcu->reset_gpio, 1);
547 usleep_range(60, 120);
548 }
549
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[arc:topic-zol-remove 21/22] arch/arc/include/asm/atomic-nps.h:90:21: error: 'CTOP_INST_AADD_DI_R2_R2_R3' undeclared
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git topic-zol-remove
head: a8a3f635306d6df3190880d1fd2fc32e55ba58af
commit: 690740e20ee5dd78c913116dd41593fc59dd9652 [21/22] ARC: atomics: break off header off for specific platforms
config: arc-allyesconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 690740e20ee5dd78c913116dd41593fc59dd9652
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/arc/include/asm/atomic.h:13,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:190,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:19,
from arch/arc/include/asm/bug.h:29,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/cmpxchg.h: In function '__xchg':
arch/arc/include/asm/cmpxchg.h:191:19: error: 'CTOP_INST_XEX_DI_R2_R2_R3' undeclared (first use in this function)
191 | : "r"(ptr), "i"(CTOP_INST_XEX_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/cmpxchg.h:191:19: note: each undeclared identifier is reported only once for each function it appears in
In file included from arch/arc/include/asm/atomic.h:21,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/arc/include/asm/bitops.h:190,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:19,
from arch/arc/include/asm/bug.h:29,
from include/linux/bug.h:5,
from include/linux/page-flags.h:10,
from kernel/bounds.c:10:
arch/arc/include/asm/atomic-nps.h: In function 'atomic_add':
>> arch/arc/include/asm/atomic-nps.h:90:21: error: 'CTOP_INST_AADD_DI_R2_R2_R3' undeclared (first use in this function)
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro 'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
>> arch/arc/include/asm/atomic-nps.h:90:1: note: in expansion of macro 'ATOMIC_OPS'
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_add_return':
>> arch/arc/include/asm/atomic-nps.h:90:21: error: 'CTOP_INST_AADD_DI_R2_R2_R3' undeclared (first use in this function)
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:53:26: note: in definition of macro 'ATOMIC_OP_RETURN'
53 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
>> arch/arc/include/asm/atomic-nps.h:90:1: note: in expansion of macro 'ATOMIC_OPS'
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_add':
>> arch/arc/include/asm/atomic-nps.h:90:21: error: 'CTOP_INST_AADD_DI_R2_R2_R3' undeclared (first use in this function)
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro 'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
>> arch/arc/include/asm/atomic-nps.h:90:1: note: in expansion of macro 'ATOMIC_OPS'
90 | ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_and':
>> arch/arc/include/asm/atomic-nps.h:101:21: error: 'CTOP_INST_AAND_DI_R2_R2_R3' undeclared (first use in this function)
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro 'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:101:1: note: in expansion of macro 'ATOMIC_OPS'
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_and':
>> arch/arc/include/asm/atomic-nps.h:101:21: error: 'CTOP_INST_AAND_DI_R2_R2_R3' undeclared (first use in this function)
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro 'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:101:1: note: in expansion of macro 'ATOMIC_OPS'
101 | ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_or':
>> arch/arc/include/asm/atomic-nps.h:102:20: error: 'CTOP_INST_AOR_DI_R2_R2_R3' undeclared (first use in this function)
102 | ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro 'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:102:1: note: in expansion of macro 'ATOMIC_OPS'
102 | ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_or':
>> arch/arc/include/asm/atomic-nps.h:102:20: error: 'CTOP_INST_AOR_DI_R2_R2_R3' undeclared (first use in this function)
102 | ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro 'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:102:1: note: in expansion of macro 'ATOMIC_OPS'
102 | ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_xor':
>> arch/arc/include/asm/atomic-nps.h:103:21: error: 'CTOP_INST_AXOR_DI_R2_R2_R3' undeclared (first use in this function)
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:35:34: note: in definition of macro 'ATOMIC_OP'
35 | : "r"(i), "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:103:1: note: in expansion of macro 'ATOMIC_OPS'
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~
arch/arc/include/asm/atomic-nps.h: In function 'atomic_fetch_xor':
>> arch/arc/include/asm/atomic-nps.h:103:21: error: 'CTOP_INST_AXOR_DI_R2_R2_R3' undeclared (first use in this function)
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arc/include/asm/atomic-nps.h:77:26: note: in definition of macro 'ATOMIC_FETCH_OP'
77 | : "r"(&v->counter), "i"(asm_op) \
| ^~~~~~
arch/arc/include/asm/atomic-nps.h:103:1: note: in expansion of macro 'ATOMIC_OPS'
103 | ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
| ^~~~~~~~~~
make[2]: *** [scripts/Makefile.build:101: kernel/bounds.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1113: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:180: sub-make] Error 2
20 real 6 user 11 sys 85.02% cpu make prepare
vim +/CTOP_INST_AADD_DI_R2_R2_R3 +90 arch/arc/include/asm/atomic-nps.h
84
85 #define ATOMIC_OPS(op, c_op, asm_op) \
86 ATOMIC_OP(op, c_op, asm_op) \
87 ATOMIC_OP_RETURN(op, c_op, asm_op) \
88 ATOMIC_FETCH_OP(op, c_op, asm_op)
89
> 90 ATOMIC_OPS(add, +=, CTOP_INST_AADD_DI_R2_R2_R3)
91
92 #define atomic_sub(i, v) atomic_add(-(i), (v))
93 #define atomic_sub_return(i, v) atomic_add_return(-(i), (v))
94 #define atomic_fetch_sub(i, v) atomic_fetch_add(-(i), (v))
95
96 #undef ATOMIC_OPS
97 #define ATOMIC_OPS(op, c_op, asm_op) \
98 ATOMIC_OP(op, c_op, asm_op) \
99 ATOMIC_FETCH_OP(op, c_op, asm_op)
100
> 101 ATOMIC_OPS(and, &=, CTOP_INST_AAND_DI_R2_R2_R3)
> 102 ATOMIC_OPS(or, |=, CTOP_INST_AOR_DI_R2_R2_R3)
> 103 ATOMIC_OPS(xor, ^=, CTOP_INST_AXOR_DI_R2_R2_R3)
104
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months