lkml.org 
[lkml]   [2009]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 67/87] x86: hpet: provide separate functions to stop and start the counter
    2.6.29-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Andreas Herrmann <andreas.herrmann3@amd.com>

    commit 8d6f0c8214928f7c5083dd54ecb69c5d615b516e upstream.

    By splitting up existing hpet_start_counter function.

    Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
    Cc: Mark Hounschell <markh@compro.net>
    Cc: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Cc: Chuck Ebbert <cebbert@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/x86/kernel/hpet.c | 22 ++++++++++++++++------
    1 file changed, 16 insertions(+), 6 deletions(-)

    --- a/arch/x86/kernel/hpet.c
    +++ b/arch/x86/kernel/hpet.c
    @@ -191,27 +191,37 @@ static struct clock_event_device hpet_cl
    .rating = 50,
    };

    -static void hpet_start_counter(void)
    +static void hpet_stop_counter(void)
    {
    unsigned long cfg = hpet_readl(HPET_CFG);
    -
    cfg &= ~HPET_CFG_ENABLE;
    hpet_writel(cfg, HPET_CFG);
    hpet_writel(0, HPET_COUNTER);
    hpet_writel(0, HPET_COUNTER + 4);
    +}
    +
    +static void hpet_start_counter(void)
    +{
    + unsigned long cfg = hpet_readl(HPET_CFG);
    cfg |= HPET_CFG_ENABLE;
    hpet_writel(cfg, HPET_CFG);
    }

    +static void hpet_restart_counter(void)
    +{
    + hpet_stop_counter();
    + hpet_start_counter();
    +}
    +
    static void hpet_resume_device(void)
    {
    force_hpet_resume();
    }

    -static void hpet_restart_counter(void)
    +static void hpet_resume_counter(void)
    {
    hpet_resume_device();
    - hpet_start_counter();
    + hpet_restart_counter();
    }

    static void hpet_enable_legacy_int(void)
    @@ -695,7 +705,7 @@ static struct clocksource clocksource_hp
    .mask = HPET_MASK,
    .shift = HPET_SHIFT,
    .flags = CLOCK_SOURCE_IS_CONTINUOUS,
    - .resume = hpet_restart_counter,
    + .resume = hpet_resume_counter,
    #ifdef CONFIG_X86_64
    .vread = vread_hpet,
    #endif
    @@ -707,7 +717,7 @@ static int hpet_clocksource_register(voi
    cycle_t t1;

    /* Start the counter */
    - hpet_start_counter();
    + hpet_restart_counter();

    /* Verify whether hpet counter works */
    t1 = read_hpet();



    \
     
     \ /
      Last update: 2009-06-09 12:45    [W:0.030 / U:30.656 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site