ahci: imx: Handle increased read failures for IMX53 temperature sensor in low frequency mode.

Message ID 1510347098-20472-1-git-send-email-martyn.welch@collabora.co.uk
State Not Applicable
Delegated to: David Miller
Headers show
Series
  • ahci: imx: Handle increased read failures for IMX53 temperature sensor in low frequency mode.
Related show

Commit Message

Martyn Welch Nov. 10, 2017, 8:51 p.m.
From: Egor Starkov <egor.starkov@ge.com>

Extended testing has shown that the imx ahci driver sometimes requires
more than the 100 attempts currently alotted in the driver to perform a
successful temperature reading when running at minimum (throttled) CPU
frequency.

Debugging suggests that the read cycle canitake 160 attempts (which given
that the driver averages 80 readings from the ADC equates to one failure
on each read).

Increase the attempt limit to 200 in order to greatly reduce the
likelyhood of the driver failing to perform a temperature reading,
especially at low CPU frequency.

Signed-off-by: Egor Starkov <egor.starkov@ge.com>
Signed-off-by: Martyn Welch <martyn.welch@collabora.co.uk>
---
 drivers/ata/ahci_imx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sergei Shtylyov Nov. 11, 2017, 10:08 a.m. | #1
Hello!

On 11/10/2017 11:51 PM, Martyn Welch wrote:

> From: Egor Starkov <egor.starkov@ge.com>
> 
> Extended testing has shown that the imx ahci driver sometimes requires
> more than the 100 attempts currently alotted in the driver to perform a
> successful temperature reading when running at minimum (throttled) CPU
> frequency.
> 
> Debugging suggests that the read cycle canitake 160 attempts (which given

    Can take?

> that the driver averages 80 readings from the ADC equates to one failure
> on each read).
> 
> Increase the attempt limit to 200 in order to greatly reduce the
> likelyhood of the driver failing to perform a temperature reading,

    Likelihood.

> especially at low CPU frequency.
> 
> Signed-off-by: Egor Starkov <egor.starkov@ge.com>
> Signed-off-by: Martyn Welch <martyn.welch@collabora.co.uk>
[...]

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/ata/ahci_imx.c b/drivers/ata/ahci_imx.c
index 787567e..a58bcc0 100644
--- a/drivers/ata/ahci_imx.c
+++ b/drivers/ata/ahci_imx.c
@@ -230,7 +230,7 @@  static int read_adc_sum(void *dev, u16 rtune_ctl_reg, void __iomem * mmio)
 {
 	u16 adc_out_reg, read_sum;
 	u32 index, read_attempt;
-	const u32 attempt_limit = 100;
+	const u32 attempt_limit = 200;
 
 	imx_phy_reg_addressing(SATA_PHY_CR_CLOCK_RTUNE_CTL, mmio);
 	imx_phy_reg_write(rtune_ctl_reg, mmio);