KVM: x86: Consolidate PIT legacy test
authorJan Kiszka <jan.kiszka@siemens.com>
Wed, 14 Dec 2011 18:25:33 +0000 (19:25 +0100)
committerAvi Kivity <avi@redhat.com>
Tue, 27 Dec 2011 09:22:30 +0000 (11:22 +0200)
Move the test for KVM_PIT_FLAGS_HPET_LEGACY into create_pit_timer
instead of replicating it on the caller site.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/kvm/i8254.c

index 405f262..d68f99d 100644 (file)
@@ -344,7 +344,7 @@ static void create_pit_timer(struct kvm *kvm, u32 val, int is_period)
        struct kvm_timer *pt = &ps->pit_timer;
        s64 interval;
 
-       if (!irqchip_in_kernel(kvm))
+       if (!irqchip_in_kernel(kvm) || ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)
                return;
 
        interval = muldiv64(val, NSEC_PER_SEC, KVM_PIT_FREQ);
@@ -397,15 +397,11 @@ static void pit_load_count(struct kvm *kvm, int channel, u32 val)
        case 1:
         /* FIXME: enhance mode 4 precision */
        case 4:
-               if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)) {
-                       create_pit_timer(kvm, val, 0);
-               }
+               create_pit_timer(kvm, val, 0);
                break;
        case 2:
        case 3:
-               if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)){
-                       create_pit_timer(kvm, val, 1);
-               }
+               create_pit_timer(kvm, val, 1);
                break;
        default:
                destroy_pit_timer(kvm->arch.vpit);