lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 21 Oct 2017 09:02:54 -0700
From:   Guenter Roeck <linux@...ck-us.net>
To:     Martyn Welch <martyn.welch@...labora.co.uk>
Cc:     Support Opensource <support.opensource@...semi.com>,
        Jean Delvare <jdelvare@...e.com>, linux-hwmon@...r.kernel.org,
        linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: hwmon: da9052 Increase sample rate when using TSI

On Thu, Oct 19, 2017 at 04:51:44PM +0100, Martyn Welch wrote:
> The TSI channel, which is usually used for touchscreen support, but can
> be used as 4 general purpose ADCs. When used as a touchscreen interface
> the touchscreen driver switches the device into 1ms sampling mode (rather
> than the default 10ms economy mode) as recommended by the manufacturer.
> When using the TSI channels as a general purpose ADC we are currently not
> doing this and testing suggests that this can result in ADC timeouts:
> 
> [ 5827.198289] da9052 spi2.0: timeout waiting for ADC conversion interrupt
> [ 5827.728293] da9052 spi2.0: timeout waiting for ADC conversion interrupt
> [ 5993.808335] da9052 spi2.0: timeout waiting for ADC conversion interrupt
> [ 5994.328441] da9052 spi2.0: timeout waiting for ADC conversion interrupt
> [ 5994.848291] da9052 spi2.0: timeout waiting for ADC conversion interrupt
> 
> Switching to the 1ms timing resolves this issue.
> 
> Cc: stable@...r.kernel.org
> Signed-off-by: Martyn Welch <martyn.welch@...labora.co.uk>
> Acked-by: Steve Twiss <stwiss.opensource@...semi.com>

Applied; replaced Cc: stable@ with Fixes:

> ---
>  drivers/hwmon/da9052-hwmon.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/hwmon/da9052-hwmon.c b/drivers/hwmon/da9052-hwmon.c
> index 97a62f5..a973eb6 100644
> --- a/drivers/hwmon/da9052-hwmon.c
> +++ b/drivers/hwmon/da9052-hwmon.c
> @@ -477,6 +477,11 @@ static int da9052_hwmon_probe(struct platform_device *pdev)
>  		/* disable touchscreen features */
>  		da9052_reg_write(hwmon->da9052, DA9052_TSI_CONT_A_REG, 0x00);
>  
> +		/* Sample every 1ms */
> +		da9052_reg_update(hwmon->da9052, DA9052_ADC_CONT_REG,
> +					  DA9052_ADCCONT_ADCMODE,
> +					  DA9052_ADCCONT_ADCMODE);
> +
>  		err = da9052_request_irq(hwmon->da9052, DA9052_IRQ_TSIREADY,
>  					 "tsiready-irq", da9052_tsi_datardy_irq,
>  					 hwmon);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ