linux/drivers
Dirk Brandewie 0493292c25 intel_pstate: don't touch turbo bit if turbo disabled or unavailable.
commit dd5fbf70f9 upstream.

If turbo is disabled in the BIOS bit 38 should be set in
MSR_IA32_MISC_ENABLE register per section 14.3.2.1 of the SDM Vol 3
document 325384-050US Feb 2014.  If this bit is set do *not* attempt
to disable trubo via the MSR_IA32_PERF_CTL register.  On some systems
trying to disable turbo via MSR_IA32_PERF_CTL will cause subsequent
writes to MSR_IA32_PERF_CTL not take affect, in fact reading
MSR_IA32_PERF_CTL will not show the IDA/Turbo DISENGAGE bit(32) as
set. A write of bit 32 to zero returns to normal operation.

Also deal with the case where the processor does not support
turbo and the BIOS does not report the fact in MSR_IA32_MISC_ENABLE
but does report the max and turbo P states as the same value.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=64251
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-17 16:21:05 -07:00
..
accessibility
acpi ACPI / EC: Fix race condition in ec_transaction_completed() 2014-07-17 16:21:04 -07:00
amba
ata ahci: add PCI ID for Marvell 88SE91A0 SATA Controller 2014-06-16 13:40:34 -07:00
atm
auxdisplay
base PM / OPP: fix incorrect OPP count handling in of_init_opp_table 2014-06-30 20:11:59 -07:00
bcma Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-01-30 17:20:32 -08:00
block rbd: handle parent_overlap on writes correctly 2014-07-09 11:18:26 -07:00
bluetooth bluetooth: hci_ldisc: fix deadlock condition 2014-06-30 20:11:59 -07:00
bus bus: mvebu-mbus: allow several windows with the same target/attribute 2014-06-07 10:28:22 -07:00
cdrom Merge branch 'for-3.14/drivers' of git://git.kernel.dk/linux-block 2014-01-30 11:40:10 -08:00
char i8k: Fix non-SMP operation 2014-07-17 16:21:03 -07:00
clk clk: qcom: HDMI source sel is 3 not 2 2014-07-17 16:21:05 -07:00
clocksource clocksource: Exynos_mct: Register clock event after request_irq() 2014-06-07 10:28:08 -07:00
connector net: Use netlink_ns_capable to verify the permisions of netlink messages 2014-06-26 15:15:38 -04:00
cpufreq intel_pstate: don't touch turbo bit if turbo disabled or unavailable. 2014-07-17 16:21:05 -07:00
cpuidle powerpc/powernv/cpuidle: Back-end cpuidle driver for powernv platform. 2014-01-29 17:02:24 +11:00
crypto crypto: caam - fix memleak in caam_jr module 2014-07-17 16:21:04 -07:00
dca
devfreq Merge branches 'pm-cpufreq' and 'pm-devfreq' 2014-01-29 11:48:23 +01:00
dio
dma dmaengine: dw: went back to plain {request,free}_irq() calls 2014-06-07 10:28:26 -07:00
edac i7300_edac: Fix device reference count 2014-02-25 09:43:13 +01:00
eisa
extcon extcon: max14577: Properly handle regmap_irq_get_virq error 2014-06-30 20:11:52 -07:00
firewire firewire: revert to 4 GB RDMA, fix protocols using Memory Space 2014-06-11 11:54:10 -07:00
firmware efi-pstore: Fix an overflow on 32-bit builds 2014-06-30 20:12:02 -07:00
fmc drivers/fmc/fmc-write-eeprom.c: fix decimal permissions 2014-02-25 15:25:43 -08:00
gpio gpio: mcp23s08: Bug fix of SPI device tree registration. 2014-06-11 11:54:14 -07:00
gpu drm/i915: fix display power sw state reporting 2014-07-09 11:18:28 -07:00
hid HID: core: fix validation of report id 0 2014-06-30 20:11:54 -07:00
hsi
hv Drivers: hv: vmbus: Fix a bug in the channel callback dispatch code 2014-07-17 16:21:05 -07:00
hwmon hwmon: (adm1021) Fix cache problem when writing temperature limits 2014-07-17 16:21:03 -07:00
hwspinlock
i2c i2c: s3c2410: resume race fix 2014-06-07 10:28:27 -07:00
ide drivers: ide: Include appropriate header file in ide-pio-blacklist.c 2014-01-28 23:35:09 -08:00
idle
iio iio: ti_am335x_adc: Fix: Use same step id at FIFOs both ends 2014-07-17 16:21:02 -07:00
infiniband IB/umad: Fix use-after-free on close 2014-07-06 18:57:27 -07:00
input Input: elantech - don't set bit 1 of reg_10 when the no_hw_res quirk is set 2014-07-06 18:57:26 -07:00
iommu iommu/vt-d: Fix missing IOTLB flush in intel_iommu_unmap() 2014-06-11 11:54:14 -07:00
ipack
irqchip irqchip: spear_shirq: Fix interrupt offset 2014-07-09 11:18:28 -07:00
isdn isdnloop: several buffer overflows 2014-04-14 06:50:04 -07:00
leds leds: leds-pwm: properly clean up after probe failure 2014-06-07 10:28:18 -07:00
lguest
macintosh Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-01-27 21:11:26 -08:00
mailbox
md dm: allocate a special workqueue for deferred device removal 2014-07-17 16:21:05 -07:00
media media: saa7134: fix regression with tvtime 2014-06-30 20:11:59 -07:00
memory memory: mvebu-devbus: fix the conversion of the bus width 2014-06-07 10:28:22 -07:00
memstick
message drivers/message/i2o/i2o_config.c: fix deadlock in compat_ioctl(I2OGETIOPS) 2014-02-10 16:01:40 -08:00
mfd mfd: twl-core: Fix accessibility of some twl4030 audio registers 2014-05-06 07:59:26 -07:00
misc mei: me: read H_CSR after asserting reset 2014-06-16 13:40:33 -07:00
mmc mmc: rtsx: add R1-no-CRC mmc command type handle 2014-07-09 11:18:28 -07:00
mtd mtd: pxa3xx_nand: make the driver work on big-endian systems 2014-07-09 11:18:24 -07:00
net brcmfmac: Fix brcmf_chip_ai_coredisable not applying reset bits to BCMA_IOCTL 2014-07-09 11:18:28 -07:00
nfc
ntb
nubus
of of/irq: do irq resolution in platform_get_irq 2014-06-07 10:28:07 -07:00
oprofile
parisc
parport
pci PCI: Fix incorrect vgaarb conditional in WARN_ON() 2014-07-06 18:57:26 -07:00
pcmcia
phy phy: core: Fix error path in phy_create() 2014-07-17 16:21:04 -07:00
pinctrl pinctrl: as3722: fix handling of GPIO invert bit 2014-05-13 13:32:54 +02:00
platform thinkpad_acpi: Fix inconsistent mute LED after resume 2014-05-13 13:32:56 +02:00
pnp PNP / ACPI: Do not return errors if _DIS or _SRS are not present 2014-06-07 10:28:12 -07:00
power Few fixes: 2014-02-14 10:32:28 -08:00
powercap
pps
ps3
ptp
pwm pwm: lp3943: Fix potential memory leak during request 2014-02-26 15:45:12 +01:00
rapidio rapidio/tsi721: fix tasklet termination in dma channel release 2014-03-04 07:55:49 -08:00
regulator regulator: arizona-ldo1: Correct default regulator init_data 2014-05-06 07:59:26 -07:00
remoteproc
reset
rpmsg
rtc rtc: rtc-at91rm9200: fix infinite wait for ACKUPD irq 2014-06-26 15:15:37 -04:00
s390 s390/chsc: fix SEI usage on old FW levels 2014-05-13 13:32:49 +02:00
sbus Sparc: sparc_cpu_model isn't in asm/system.h any more [ver #2] 2014-02-20 13:34:11 -05:00
scsi sym53c8xx_2: Set DID_REQUEUE return code when aborting squeue 2014-07-09 11:18:29 -07:00
sfi
sh
sn
spi spi: core: Ignore unsupported Dual/Quad Transfer Mode bits 2014-06-07 10:28:28 -07:00
ssb Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-01-30 17:20:32 -08:00
staging staging: iio/ad7291: fix error code in ad7291_probe() 2014-07-09 11:18:27 -07:00
target iscsi-target: fix iscsit_del_np deadlock on unload 2014-07-06 18:57:26 -07:00
tc
thermal thermal: hwmon: Make the check for critical temp valid consistent 2014-07-17 16:21:03 -07:00
tty tty: Correct INPCK handling 2014-07-09 11:18:28 -07:00
uio
usb USB: serial: ftdi_sio: Add Infineon Triboard 2014-07-17 16:21:02 -07:00
uwb
vfio mm: close PageTail race 2014-03-04 07:55:47 -08:00
vhost vhost: validate vhost_get_vq_desc return value 2014-03-28 16:10:35 -04:00
video drivers/video/fbdev/fb-puv3.c: Add header files for function unifb_mmap 2014-07-09 11:18:29 -07:00
virt
virtio virtio_balloon: don't softlockup on huge balloon changes. 2014-05-13 13:32:48 +02:00
vlynq
vme VME: Correct read/write alignment algorithm 2014-02-07 08:16:14 -08:00
w1 w1: fix w1_send_slave dropping a slave id 2014-05-06 07:59:26 -07:00
watchdog watchdog: kempld-wdt: Use the correct value when configuring the prescaler with the watchdog 2014-07-06 18:57:27 -07:00
xen xen/events/fifo: correctly align bitops 2014-05-31 13:20:29 -07:00
zorro
Kconfig
Makefile