From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Fri, 10 Jul 2015 09:24:19 +0200 Subject: [U-Boot] [PATCH] thermal:imx_thermal: enter busywait cooling loop when over max CPU temp In-Reply-To: References: <1433857222-13217-1-git-send-email-tharvey@gateworks.com> Message-ID: <559F7323.2000800@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Tim, On 09/07/2015 00:46, Tim Harvey wrote: > On Tue, Jun 9, 2015 at 6:40 AM, Tim Harvey wrote: >> Remove the check for temperature being within the min/max range and enter the >> busywait cooling loop whenever the CPU temperature is over the critical temp. >> This fixes the issue where if a board was booted at a temp greater than >> the CPU temperature max, it would skip the loop and never indicate or try >> to address the overtemp issue. >> >> Cc: Ye Li >> Cc: Jason Liu >> Signed-off-by: Tim Harvey >> --- >> drivers/thermal/imx_thermal.c | 16 ++++++---------- >> 1 file changed, 6 insertions(+), 10 deletions(-) >> >> diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c >> index 0d893c9..42ca8d0 100644 >> --- a/drivers/thermal/imx_thermal.c >> +++ b/drivers/thermal/imx_thermal.c >> @@ -130,16 +130,12 @@ int imx_thermal_get_temp(struct udevice *dev, int *temp) >> int cpu_tmp = 0; >> >> cpu_tmp = read_cpu_temperature(dev); >> - while (cpu_tmp > priv->minc && cpu_tmp < priv->maxc) { >> - if (cpu_tmp >= priv->critical) { >> - printf("CPU Temperature (%dC) too close to max (%dC)", >> - cpu_tmp, priv->maxc); >> - puts(" waiting...\n"); >> - udelay(5000000); >> - cpu_tmp = read_cpu_temperature(dev); >> - } else { >> - break; >> - } >> + while (cpu_tmp >= priv->critical) { >> + printf("CPU Temperature (%dC) too close to max (%dC)", >> + cpu_tmp, priv->maxc); >> + puts(" waiting...\n"); >> + udelay(5000000); >> + cpu_tmp = read_cpu_temperature(dev); >> } >> >> *temp = cpu_tmp; >> -- >> 1.9.1 >> > > Stefano, > > Any feedback on this? Sure ! Applied to u-boot-imx, thanks ! Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================