• Nicolai Stange's avatar
    s390/time: Set ->min_delta_ticks and ->max_delta_ticks · 06c54611
    Nicolai Stange authored
    In preparation for making the clockevents core NTP correction aware,
    all clockevent device drivers must set ->min_delta_ticks and
    ->max_delta_ticks rather than ->min_delta_ns and ->max_delta_ns: a
    clockevent device's rate is going to change dynamically and thus, the
    ratio of ns to ticks ceases to stay invariant.
    
    Currently, the s390's CPU timer clockevent device is initialized as
    follows:
    
      cd->min_delta_ns    = 1;
      cd->max_delta_ns    = LONG_MAX;
    
    Note that the device's time to cycle conversion factor, i.e.
    cd->mult / (2^cd->shift), is approx. equal to 4.
    
    Hence, this would translate to
    
      cd->min_delta_ticks = 4;
      cd->max_delta_ticks = 4 * LONG_MAX;
    
    However, a minimum value of 1ns is in the range of noise anyway and the
    clockevent core will take care of this by increasing it to 1us or so.
    Furthermore, 4*LONG_MAX would overflow the unsigned long argument the
    clockevent devices gets programmed with.
    
    Thus, initialize ->min_delta_ticks with 1 and ->max_delta_ticks with
    ULONG_MAX.
    
    This patch alone doesn't introduce any change in functionality as the
    clockevents core still looks exclusively at the (untouched) ->min_delta_ns
    and ->max_delta_ns. As soon as this has changed, a followup patch will
    purge the initialization of ->min_delta_ns and ->max_delta_ns from this
    driver.
    
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Stephen Boyd <sboyd@codeaurora.org>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: David Hildenbrand <dahi@linux.vnet.ibm.com>
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: default avatarNicolai Stange <nicstange@gmail.com>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    06c54611
time.c 21 KB