• Tony Lindgren's avatar
    clocksource/drivers/timer-ti-dm: Fix posted mode status check order · 21270992
    Tony Lindgren authored
    When the timer is configured in posted mode, we need to check the write-
    posted status register (TWPS) before writing to the register.
    
    We now check TWPS after the write starting with commit 52762fbd
    ("clocksource/drivers/timer-ti-dm: Add clockevent and clocksource
    support").
    
    For example, in the TRM for am571x the following is documented in chapter
    "22.2.4.13.1.1 Write Posting Synchronization Mode":
    
    "For each register, a status bit is provided in the timer write-posted
     status (TWPS) register. In this mode, it is mandatory that software check
     this status bit before any write access. If a write is attempted to a
     register with a previous access pending, the previous access is discarded
     without notice."
    
    The regression happened when I updated the code to use standard read/write
    accessors for the driver instead of using __omap_dm_timer_load_start().
    We have__omap_dm_timer_load_start() check the TWPS status correctly using
    __omap_dm_timer_write().
    
    Fixes: 52762fbd ("clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support")
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Link: https://lore.kernel.org/r/20210304072135.52712-2-tony@atomide.com
    21270992
timer-ti-dm-systimer.c 19.2 KB