aboutsummaryrefslogtreecommitdiff
path: root/drivers/fpga/fpga-mgr.c
diff options
context:
space:
mode:
authorWolfram Sang <[email protected]>2022-11-30 22:06:09 +0100
committerThomas Gleixner <[email protected]>2022-12-01 11:56:25 +0100
commit3f44f7156f59cae06e9160eafb5d8b2dfd09e639 (patch)
treeed1a7e7f2e03fa975d05800307d2122ad0e82001 /drivers/fpga/fpga-mgr.c
parentd6c494e8ee932b2b21ff4b718eebb378e91b3da0 (diff)
clocksource/drivers/sh_cmt: Access registers according to spec
Documentation for most CMTs say that it takes two input clocks before changes propagate to the timer. This is especially relevant when the timer is stopped to change further settings. Implement the delays according to the spec. To avoid unnecessary delays in atomic mode, also check if the to-be-written value actually differs. CMCNT is a bit special because testing showed that it requires 3 cycles to propagate, which affects all CMTs. Also, the WRFLAG needs to be checked before writing. This fixes "cannot clear CMCNT" messages which occur often on R-Car Gen4 SoCs, but only very rarely on older SoCs for some reason. Fixes: 81b3b2711072 ("clocksource: sh_cmt: Add support for multiple channels per device") Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/fpga/fpga-mgr.c')
0 files changed, 0 insertions, 0 deletions