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 <[email protected]> AuthorDate: Tue, 09 Mar 2021 10:44:48 +01:00 Committer: Daniel Lezcano <[email protected]> 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 <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Niklas Söderlund <[email protected]> Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Daniel Lezcano <[email protected]> Link: https://lore.kernel.org/r/[email protected] --- 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); }

