Re: [bug report] IIO: ADC: add stm32 DFSDM support for PDM microphone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Dan

On 01/16/2018 12:43 PM, Dan Carpenter wrote:
> Hello Arnaud Pouliquen,
> 
> The patch eca949800d2d: "IIO: ADC: add stm32 DFSDM support for PDM
> microphone" from Jan 10, 2018, leads to the following static checker
> warning:
> 
> 	drivers/iio/adc/stm32-dfsdm-adc.c:555 stm32_dfsdm_audio_dma_buffer_done()
> 	warn: potential shift truncation.  '0xffffff00 (0,256-4294967040) << 8'
> 
> drivers/iio/adc/stm32-dfsdm-adc.c
>    551          while (available >= indio_dev->scan_bytes) {
>    552                  u32 *buffer = (u32 *)&adc->rx_buf[adc->bufi];
>    553  
>    554                  /* Mask 8 LSB that contains the channel ID */
>    555                  *buffer = (*buffer & 0xFFFFFF00) << 8;
> 
> Is this shift, correct?  The comment just mentions that we're masking
> out the low bits.
Yes mask and shift are not correlated.
The Mask suppresses the 8 LSB that contain ID of the channel scanned
The shift is used for the 24 to 32 bits sample conversion.

Regards,
Arnaud
> 
>    556                  available -= indio_dev->scan_bytes;
>    557                  adc->bufi += indio_dev->scan_bytes;
>    558                  if (adc->bufi >= adc->buf_sz) {
>    559                          if (adc->cb)
>    560                                  adc->cb(&adc->rx_buf[old_pos],
>    561                                           adc->buf_sz - old_pos, adc->cb_priv);
>    562                          adc->bufi = 0;
>    563                          old_pos = 0;
>    564                  }
>    565          }
>    566          if (adc->cb)
>    567                  adc->cb(&adc->rx_buf[old_pos], adc->bufi - old_pos,
>    568                          adc->cb_priv);
>    569  }
> 
> regards,
> dan carpenter
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux