All of lore.kernel.org
 help / color / mirror / Atom feed
* [chrome-os:chromeos-4.19 21350/21402] drivers/misc/echo/echo.c:384:27: error: equality comparison with extraneous parentheses
@ 2020-04-14 22:09 kbuild test robot
       [not found] ` <20200415002618.GB19509@ubuntu-s3-xlarge-x86>
  0 siblings, 1 reply; 9+ messages in thread
From: kbuild test robot @ 2020-04-14 22:09 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 34049 bytes --]

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@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@line 384 was first introduced by commit
:::::: 10602db812fa270fc923f5e48fb47202288828f3 Staging: add echo cancelation module

:::::: TO: David Rowe <david@rowetel.com>
:::::: CC: Greg Kroah-Hartman <gregkh@suse.de>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30775 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-04-16  3:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-14 22:09 [chrome-os:chromeos-4.19 21350/21402] drivers/misc/echo/echo.c:384:27: error: equality comparison with extraneous parentheses kbuild test robot
     [not found] ` <20200415002618.GB19509@ubuntu-s3-xlarge-x86>
2020-04-15  0:56   ` Guenter Roeck
2020-04-15 17:51     ` Nick Desaulniers
2020-04-15 17:51       ` Nick Desaulniers
2020-04-15 18:08       ` Kees Cook
2020-04-15 18:08         ` Kees Cook
2020-04-16  3:31       ` Sasha Levin
2020-04-16  3:31         ` Sasha Levin
2020-04-16  3:39         ` Nathan Chancellor

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.