Skip to content
  • Laurent Vivier's avatar
    683dca6b
    mips: remove muldiv64() · 683dca6b
    Laurent Vivier authored
    
    
    Originally, timers were ticks based, and it made sense to
    add ticks to current time to know when to trigger an alarm.
    
    But since commit:
    
    74475455 change all other clock references to use nanosecond resolution accessors
    
    All timers use nanoseconds and we need to convert ticks to nanoseconds, by
    doing something like:
    
        y = muldiv64(x, get_ticks_per_sec(), TIMER_FREQ)
    
    where x is the number of device ticks and y the number of system ticks.
    
    y is used as nanoseconds in timer functions,
    it works because 1 tick is 1 nanosecond.
    (get_ticks_per_sec() is 10^9)
    
    But as MIPS timer frequency is 100 MHz, we can also do:
    
        y = x * 10; /* 100 MHz period is 10 ns */
    
    Signed-off-by: default avatarLaurent Vivier <lvivier@redhat.com>
    Reviewed-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
    683dca6b
    mips: remove muldiv64()
    Laurent Vivier authored
    
    
    Originally, timers were ticks based, and it made sense to
    add ticks to current time to know when to trigger an alarm.
    
    But since commit:
    
    74475455 change all other clock references to use nanosecond resolution accessors
    
    All timers use nanoseconds and we need to convert ticks to nanoseconds, by
    doing something like:
    
        y = muldiv64(x, get_ticks_per_sec(), TIMER_FREQ)
    
    where x is the number of device ticks and y the number of system ticks.
    
    y is used as nanoseconds in timer functions,
    it works because 1 tick is 1 nanosecond.
    (get_ticks_per_sec() is 10^9)
    
    But as MIPS timer frequency is 100 MHz, we can also do:
    
        y = x * 10; /* 100 MHz period is 10 ns */
    
    Signed-off-by: default avatarLaurent Vivier <lvivier@redhat.com>
    Reviewed-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
Loading