Lars-Peter Clausen
557f3f5492
iio: xilinx-xadc: Make sure not exceed maximum samplerate
...
commit 3b7f9dbb827ce8680b98490215e698b6079a9ec5 upstream.
The XADC supports a samplerate of up to 1MSPS. Unfortunately the hardware
does not have a FIFO, which means it generates an interrupt for each
conversion sequence. At one 1MSPS this creates an interrupt storm that
causes the system to soft-lock.
For this reason the driver limits the maximum samplerate to 150kSPS.
Currently this check is only done when setting a new samplerate. But it is
also possible that the initial samplerate configured in the FPGA bitstream
exceeds the limit.
In this case when starting to capture data without first changing the
samplerate the system can overload.
To prevent this check the currently configured samplerate in the probe
function and reduce it to the maximum if necessary.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Fixes: bdc8cda1d0 ("iio:adc: Add Xilinx XADC driver")
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-29 16:33:13 +02:00
..
accel
iio: accel: adxl372: Set iio_chan BE
2020-03-25 08:25:53 +01:00
adc
iio: xilinx-xadc: Make sure not exceed maximum samplerate
2020-04-29 16:33:13 +02:00
afe
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
amplifiers
Second set of IIO device support, features, cleanups and minor fixes for 5.3.
2019-07-01 10:58:13 +02:00
buffer
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
chemical
iio: chemical: sps30: fix missing triggered buffer dependency
2020-03-25 08:25:53 +01:00
common
iio: st_sensors: rely on odr mask to know if odr can be set
2020-04-29 16:33:12 +02:00
dac
iio: dac: ad5446: Add support for new AD5600 DAC
2019-12-31 16:45:19 +01:00
dummy
spi: docs: convert to ReST and add it to the kABI bookset
2019-07-31 14:13:13 -06:00
frequency
iio: frequency: adf4371: Fix output frequency setting
2019-08-05 17:38:33 +01:00
gyro
iio: st_gyro: Correct data for LSM9DS0 gyro
2020-02-01 09:34:36 +00:00
health
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
humidity
iio: humidity: hdc100x: fix IIO_HUMIDITYRELATIVE channel reporting
2019-12-17 19:55:42 +01:00
imu
iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID
2020-01-23 08:22:33 +01:00
light
iio: si1133: read 24-bit signed integer for measurement
2020-04-23 10:36:43 +02:00
magnetometer
iio: magnetometer: ak8974: Fix negative raw values in sysfs
2020-03-25 08:25:53 +01:00
multiplexer
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
orientation
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 309
2019-06-05 17:37:04 +02:00
potentiometer
iio: potentiometer: add a driver for Maxim 5432-5435
2019-08-05 14:25:08 +01:00
potentiostat
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
pressure
iio: cros_ec_baro: set info_mask_shared_by_all_available field
2019-12-31 16:45:15 +01:00
proximity
iio: srf04: fix wrong limitation in distance measuring
2019-10-12 14:31:09 +01:00
resolver
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
temperature
iio: max31856: add missing of_node and parent references to iio_dev
2019-12-31 16:42:46 +01:00
trigger
iio: trigger: stm32-timer: disable master mode when stopping
2020-03-25 08:25:53 +01:00
iio_core.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
iio_core_trigger.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
industrialio-buffer.c
iio: buffer: align the size of scan bytes to size of the largest element
2020-01-23 08:22:33 +01:00
industrialio-configfs.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
industrialio-core.c
Staging / IIO driver update for 5.3-rc1
2019-07-11 15:36:02 -07:00
industrialio-event.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
industrialio-sw-device.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
industrialio-sw-trigger.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
industrialio-trigger.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
industrialio-triggered-event.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
inkern.c
Driver Core and debugfs changes for 5.3-rc1
2019-07-12 12:24:03 -07:00
Kconfig
Second set of IIO device support, features, cleanups and minor fixes for 5.3.
2019-07-01 10:58:13 +02:00
Makefile
counter: stm32-lptimer: add counter device
2019-04-25 21:33:41 +02:00