Commit 5bca462d authored by Egor Starkov's avatar Egor Starkov Committed by Tejun Heo

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

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 can take 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
likelihood of the driver failing to perform a temperature reading,
especially at low CPU frequency.
Signed-off-by: default avatarEgor Starkov <egor.starkov@ge.com>
Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.co.uk>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 47e46613
...@@ -230,7 +230,7 @@ static int read_adc_sum(void *dev, u16 rtune_ctl_reg, void __iomem * mmio) ...@@ -230,7 +230,7 @@ static int read_adc_sum(void *dev, u16 rtune_ctl_reg, void __iomem * mmio)
{ {
u16 adc_out_reg, read_sum; u16 adc_out_reg, read_sum;
u32 index, read_attempt; 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_addressing(SATA_PHY_CR_CLOCK_RTUNE_CTL, mmio);
imx_phy_reg_write(rtune_ctl_reg, mmio); imx_phy_reg_write(rtune_ctl_reg, mmio);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment