Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1237302 > unrolled thread

[PATCH] thermal: exynos: fix register read in TMU

Started bySudip Mukherjee <sudipm.mukherjee@gmail.com>
First post2015-10-01 13:50 +0200
Last post2015-10-02 02:10 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] thermal: exynos: fix register read in TMU Sudip Mukherjee <sudipm.mukherjee@gmail.com> - 2015-10-01 13:50 +0200
    Re: [PATCH] thermal: exynos: fix register read in TMU Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-10-01 15:20 +0200
      Re: [PATCH] thermal: exynos: fix register read in TMU Sudip Mukherjee <sudipm.mukherjee@gmail.com> - 2015-10-01 16:20 +0200
        Re: [PATCH] thermal: exynos: fix register read in TMU Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-10-02 01:50 +0200
    Re: [PATCH] thermal: exynos: fix register read in TMU Chanwoo Choi <cw00.choi@samsung.com> - 2015-10-02 02:10 +0200

#1237302 — [PATCH] thermal: exynos: fix register read in TMU

FromSudip Mukherjee <sudipm.mukherjee@gmail.com>
Date2015-10-01 13:50 +0200
Subject[PATCH] thermal: exynos: fix register read in TMU
Message-ID<qeKx3-2WG-1@gated-at.bofh.it>
The value of emul_con was getting overwritten if the selected soc is
SOC_ARCH_EXYNOS5260. And so as a result we were reading from the wrong
register in the case of SOC_ARCH_EXYNOS5260.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
---
 drivers/thermal/samsung/exynos_tmu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
index 0bae8cc..ca920b0 100644
--- a/drivers/thermal/samsung/exynos_tmu.c
+++ b/drivers/thermal/samsung/exynos_tmu.c
@@ -932,7 +932,7 @@ static void exynos4412_tmu_set_emulation(struct exynos_tmu_data *data,
 
 	if (data->soc == SOC_ARCH_EXYNOS5260)
 		emul_con = EXYNOS5260_EMUL_CON;
-	if (data->soc == SOC_ARCH_EXYNOS5433)
+	else if (data->soc == SOC_ARCH_EXYNOS5433)
 		emul_con = EXYNOS5433_TMU_EMUL_CON;
 	else if (data->soc == SOC_ARCH_EXYNOS7)
 		emul_con = EXYNOS7_TMU_REG_EMUL_CON;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1237423

FromKrzysztof Kozlowski <k.kozlowski@samsung.com>
Date2015-10-01 15:20 +0200
Message-ID<qeLW9-5iU-9@gated-at.bofh.it>
In reply to#1237302
2015-10-01 20:39 GMT+09:00 Sudip Mukherjee <sudipm.mukherjee@gmail.com>:
> The value of emul_con was getting overwritten if the selected soc is
> SOC_ARCH_EXYNOS5260. And so as a result we were reading from the wrong
> register in the case of SOC_ARCH_EXYNOS5260.

How the value is overwritten if the soc is Exynos5260? I can't see it
(although the "else if" is still more obvious than "if" but how does
the description match the code?).

Best regards,
Krzysztof

>
> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
> ---
>  drivers/thermal/samsung/exynos_tmu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
> index 0bae8cc..ca920b0 100644
> --- a/drivers/thermal/samsung/exynos_tmu.c
> +++ b/drivers/thermal/samsung/exynos_tmu.c
> @@ -932,7 +932,7 @@ static void exynos4412_tmu_set_emulation(struct exynos_tmu_data *data,
>
>         if (data->soc == SOC_ARCH_EXYNOS5260)
>                 emul_con = EXYNOS5260_EMUL_CON;
> -       if (data->soc == SOC_ARCH_EXYNOS5433)
> +       else if (data->soc == SOC_ARCH_EXYNOS5433)
>                 emul_con = EXYNOS5433_TMU_EMUL_CON;
>         else if (data->soc == SOC_ARCH_EXYNOS7)
>                 emul_con = EXYNOS7_TMU_REG_EMUL_CON;
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1237447

FromSudip Mukherjee <sudipm.mukherjee@gmail.com>
Date2015-10-01 16:20 +0200
Message-ID<qeMSe-6WP-21@gated-at.bofh.it>
In reply to#1237423
On Thu, Oct 01, 2015 at 10:18:57PM +0900, Krzysztof Kozlowski wrote:
> 2015-10-01 20:39 GMT+09:00 Sudip Mukherjee <sudipm.mukherjee@gmail.com>:
> > The value of emul_con was getting overwritten if the selected soc is
> > SOC_ARCH_EXYNOS5260. And so as a result we were reading from the wrong
> > register in the case of SOC_ARCH_EXYNOS5260.
> 
> How the value is overwritten if the soc is Exynos5260? I can't see it
> (although the "else if" is still more obvious than "if" but how does
> the description match the code?).
The code here is:
if (data->soc == SOC_ARCH_EXYNOS5260)
	emul_con = EXYNOS5260_EMUL_CON;
if (data->soc == SOC_ARCH_EXYNOS5433)
	emul_con = EXYNOS5433_TMU_EMUL_CON;
else if (data->soc == SOC_ARCH_EXYNOS7)
	emul_con = EXYNOS7_TMU_REG_EMUL_CON;
else
	emul_con = EXYNOS_EMUL_CON;

So if data->soc is SOC_ARCH_EXYNOS5260 , then emul_con becomes
EXYNOS5260_EMUL_CON. But again for the else part it will become
EXYNOS_EMUL_CON.

regards
sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1237833

FromKrzysztof Kozlowski <k.kozlowski@samsung.com>
Date2015-10-02 01:50 +0200
Message-ID<qeVLP-2W2-3@gated-at.bofh.it>
In reply to#1237447
2015-10-01 23:12 GMT+09:00 Sudip Mukherjee <sudipm.mukherjee@gmail.com>:
> On Thu, Oct 01, 2015 at 10:18:57PM +0900, Krzysztof Kozlowski wrote:
>> 2015-10-01 20:39 GMT+09:00 Sudip Mukherjee <sudipm.mukherjee@gmail.com>:
>> > The value of emul_con was getting overwritten if the selected soc is
>> > SOC_ARCH_EXYNOS5260. And so as a result we were reading from the wrong
>> > register in the case of SOC_ARCH_EXYNOS5260.
>>
>> How the value is overwritten if the soc is Exynos5260? I can't see it
>> (although the "else if" is still more obvious than "if" but how does
>> the description match the code?).
> The code here is:
> if (data->soc == SOC_ARCH_EXYNOS5260)
>         emul_con = EXYNOS5260_EMUL_CON;
> if (data->soc == SOC_ARCH_EXYNOS5433)
>         emul_con = EXYNOS5433_TMU_EMUL_CON;
> else if (data->soc == SOC_ARCH_EXYNOS7)
>         emul_con = EXYNOS7_TMU_REG_EMUL_CON;
> else
>         emul_con = EXYNOS_EMUL_CON;
>
> So if data->soc is SOC_ARCH_EXYNOS5260 , then emul_con becomes
> EXYNOS5260_EMUL_CON. But again for the else part it will become
> EXYNOS_EMUL_CON.

Indeed!

Fixes: 488c7455d74c ("thermal: exynos: Add the support for Exynos5433 TMU")

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1237841

FromChanwoo Choi <cw00.choi@samsung.com>
Date2015-10-02 02:10 +0200
Message-ID<qeW5b-3xz-9@gated-at.bofh.it>
In reply to#1237302
On 2015년 10월 01일 20:39, Sudip Mukherjee wrote:
> The value of emul_con was getting overwritten if the selected soc is
> SOC_ARCH_EXYNOS5260. And so as a result we were reading from the wrong
> register in the case of SOC_ARCH_EXYNOS5260.
> 
> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
> ---
>  drivers/thermal/samsung/exynos_tmu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
> index 0bae8cc..ca920b0 100644
> --- a/drivers/thermal/samsung/exynos_tmu.c
> +++ b/drivers/thermal/samsung/exynos_tmu.c
> @@ -932,7 +932,7 @@ static void exynos4412_tmu_set_emulation(struct exynos_tmu_data *data,
>  
>  	if (data->soc == SOC_ARCH_EXYNOS5260)
>  		emul_con = EXYNOS5260_EMUL_CON;
> -	if (data->soc == SOC_ARCH_EXYNOS5433)
> +	else if (data->soc == SOC_ARCH_EXYNOS5433)
>  		emul_con = EXYNOS5433_TMU_EMUL_CON;
>  	else if (data->soc == SOC_ARCH_EXYNOS7)
>  		emul_con = EXYNOS7_TMU_REG_EMUL_CON;
> 

Thanks for your point out. Looks good to me. 

Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web