Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 12 Dec 2016 23:29:06 +0000 (15:29 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 12 Dec 2016 23:29:06 +0000 (15:29 -0800)
Pull x86 platform updates from Ingo Molnar:
 "Two changes:

   - implement various VMWare guest OS improvements/fixes (Alexey
     Makhalov)

   - unexport a spurious export from the intel-mid platform driver
     (Lukas Wunner)"

* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/vmware: Add paravirt sched clock
  x86/vmware: Add basic paravirt ops support
  x86/vmware: Use tsc_khz value for calibrate_cpu()
  x86/platform/intel-mid: Unexport intel_mid_pci_set_power_state()
  x86/vmware: Read tsc_khz only once at boot time

1  2 
Documentation/kernel-parameters.txt
arch/x86/kernel/cpu/vmware.c
arch/x86/platform/intel-mid/pwr.c

Simple merge
index 5130985b758b98ea74380ec8991ca1f72d709521,cdbe38be28fd9ba6dda36c53dbde724ab31379be..891f4dad7b2c49c81518e15ecee61bc8d4694ff2
  #include <asm/div64.h>
  #include <asm/x86_init.h>
  #include <asm/hypervisor.h>
 +#include <asm/timer.h>
  #include <asm/apic.h>
+ #include <asm/timer.h>
+ #undef pr_fmt
+ #define pr_fmt(fmt)   "vmware: " fmt
  
  #define CPUID_VMWARE_INFO_LEAF        0x40000000
  #define VMWARE_HYPERVISOR_MAGIC       0x564D5868
@@@ -96,9 -147,7 +148,11 @@@ static void __init vmware_platform_setu
                pr_warn("Failed to get TSC freq from the hypervisor\n");
        }
  
+       vmware_paravirt_ops_setup();
++
 +#ifdef CONFIG_X86_IO_APIC
 +      no_timer_check = 1;
 +#endif
  }
  
  /*
index 67375dda451c1bec9fe900899dee5a5898882281,59628e4b55513b6e6ccadbb2f16e1137a7f52102..ef03852ea6e8fdf2896a990398201ba24fd72e4f
@@@ -270,27 -270,7 +270,26 @@@ int intel_mid_pci_set_power_state(struc
  
        return 0;
  }
- EXPORT_SYMBOL_GPL(intel_mid_pci_set_power_state);
  
 +pci_power_t intel_mid_pci_get_power_state(struct pci_dev *pdev)
 +{
 +      struct mid_pwr *pwr = midpwr;
 +      int id, reg, bit;
 +      u32 power;
 +
 +      if (!pwr || !pwr->available)
 +              return PCI_UNKNOWN;
 +
 +      id = intel_mid_pwr_get_lss_id(pdev);
 +      if (id < 0)
 +              return PCI_UNKNOWN;
 +
 +      reg = (id * LSS_PWS_BITS) / 32;
 +      bit = (id * LSS_PWS_BITS) % 32;
 +      power = mid_pwr_get_state(pwr, reg);
 +      return (__force pci_power_t)((power >> bit) & 3);
 +}
 +
  void intel_mid_pwr_power_off(void)
  {
        struct mid_pwr *pwr = midpwr;