The following commit has been merged into the timers/core branch of tip:

Commit-ID:     68c70aae06e9660473a00fd7d68e0b53f4d7b6f4
Gitweb:        
https://git.kernel.org/tip/68c70aae06e9660473a00fd7d68e0b53f4d7b6f4
Author:        Wolfram Sang <wsa+rene...@sang-engineering.com>
AuthorDate:    Tue, 09 Mar 2021 10:44:48 +01:00
Committer:     Daniel Lezcano <daniel.lezc...@linaro.org>
CommitterDate: Thu, 08 Apr 2021 13:24:16 +02:00

clocksource/drivers/sh_cmt: Don't use CMTOUT_IE with R-Car Gen2/3

CMTOUT_IE is only supported for older SoCs. Newer SoCs shall not set
this bit. So, add a version check.

Reported-by: Phong Hoang <phong.hoang...@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
Reviewed-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
Signed-off-by: Wolfram Sang <wsa+rene...@sang-engineering.com>
Signed-off-by: Daniel Lezcano <daniel.lezc...@linaro.org>
Link: 
https://lore.kernel.org/r/20210309094448.31823-1-wsa+rene...@sang-engineering.com
---
 drivers/clocksource/sh_cmt.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/clocksource/sh_cmt.c b/drivers/clocksource/sh_cmt.c
index c98f885..d7ed99f 100644
--- a/drivers/clocksource/sh_cmt.c
+++ b/drivers/clocksource/sh_cmt.c
@@ -339,8 +339,9 @@ static int sh_cmt_enable(struct sh_cmt_channel *ch)
                sh_cmt_write_cmcsr(ch, SH_CMT16_CMCSR_CMIE |
                                   SH_CMT16_CMCSR_CKS512);
        } else {
-               sh_cmt_write_cmcsr(ch, SH_CMT32_CMCSR_CMM |
-                                  SH_CMT32_CMCSR_CMTOUT_IE |
+               u32 cmtout = ch->cmt->info->model <= SH_CMT_48BIT ?
+                             SH_CMT32_CMCSR_CMTOUT_IE : 0;
+               sh_cmt_write_cmcsr(ch, cmtout | SH_CMT32_CMCSR_CMM |
                                   SH_CMT32_CMCSR_CMR_IRQ |
                                   SH_CMT32_CMCSR_CKS_RCLK8);
        }

Reply via email to