alistair23-linux/drivers
Ville Syrjälä d52fea5bed drm/i915: Merge LP1+ watermarks in safer way
On ILK when we disable a particular watermark level, we must
maintain the actual watermark values for that level for some time
(until the next vblank possibly). Otherwise we risk underruns.

In order to achieve that result we must merge the LP1+ watermarks a
bit differently since we must also merge levels that are to be
disabled. We must also make sure we don't overflow the fields in the
watermark registers in case the calculated watermarks come out too
big to fit.

As early as possbile we mark all computed watermark levels as
disabled if they would exceed the register maximums. We make sure
to leave the actual watermarks for such levels zeroed out. Then during
merging, we take the maxium values for every level, regardless if
they're disabled or not. That may seem a bit pointless since at the
moment all the watermark levels we merge should have their values
zeroed if the level is already disabled. However soon we will be
dealing with intermediate watermarks that, in addition to the new
watermark values, also contain the previous watermark values, and so
levels that are disabled may no longer be zeroed out.

v2: Split the patch in two (Paulo)
    Use if() instead of & when merging ->enable (Paulo)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
[danvet: Fix commit message as noted by Paulo.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-06 10:18:04 +02:00
..
accessibility
acpi Merge branches 'pnp' and 'acpi-hotplug' 2014-04-26 00:40:25 +02:00
amba ARM: SoC: driver changes 2014-04-05 15:37:40 -07:00
ata Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2014-04-24 09:57:02 -07:00
atm
auxdisplay
base of/irq: do irq resolution in platform_get_irq 2014-04-24 21:40:22 +01:00
bcma
block Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-04-12 14:49:50 -07:00
bluetooth
bus ARM: SoC: driver changes 2014-04-05 15:37:40 -07:00
cdrom
char TTY/Serial driver fixes for 3.15-rc2 2014-04-18 16:57:53 -07:00
clk ARM Versatile Express fixes for 3.15 2014-04-24 23:46:58 +02:00
clocksource clocksource: Exynos_mct: Register clock event after request_irq() 2014-04-17 23:36:28 +02:00
connector
cpufreq cpufreq: highbank: fix ARM_HIGHBANK_CPUFREQ dependency warning 2014-04-22 00:09:09 +02:00
cpuidle Merge branch 'pm-cpuidle' 2014-04-08 13:27:40 +02:00
crypto
dca
devfreq
dio
dma dma: fix eDMA driver as a subsys_initcall 2014-04-16 12:03:47 +05:30
edac Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-04-04 09:50:07 -07:00
eisa
extcon
firewire
firmware Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-04-11 11:58:33 -07:00
fmc
gpio A few fixes for the GPIO tree: 2014-04-22 09:28:02 -07:00
gpu drm/i915: Merge LP1+ watermarks in safer way 2014-05-06 10:18:04 +02:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2014-04-18 10:31:34 -07:00
hsi
hv Drivers: hv: vmbus: Negotiate version 3.0 when running on ws2012r2 hosts 2014-04-16 14:14:07 -07:00
hwmon hwmon: (ltc2945) Don't crash the kernel unnecessarily 2014-04-24 06:09:43 -07:00
hwspinlock
i2c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-04-09 08:45:40 -07:00
ide
idle intel_idle: fix IVT idle state table setting 2014-04-21 23:36:07 +02:00
iio First found of IIO fixes for the 3.15 cycle. 2014-04-22 21:29:20 -07:00
infiniband InfiniBand/RDMA updates for 3.15-rc2: 2014-04-18 13:49:42 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-04-23 07:48:03 -07:00
iommu Merge git://git.infradead.org/iommu-2.6 into iommu/fixes 2014-04-16 16:09:40 +02:00
ipack
irqchip Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-04-27 11:21:03 -07:00
isdn isdn: icn: buffer overflow in icn_command() 2014-04-16 15:24:15 -04:00
leds Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2014-04-10 09:06:10 -07:00
lguest drivers/lguest/page_tables.c: rename do_set_pte() 2014-04-07 16:35:52 -07:00
macintosh
mailbox
mcb drivers: mcb: fix memory leak in chameleon_parse_cells() error path 2014-04-16 12:28:47 -07:00
md One BUG fix for md for recent commit 2014-04-17 10:51:01 -07:00
media platform: Fix timberdale dependencies 2014-04-16 11:57:27 +05:30
memory
memstick
message
mfd MMC highlights for 3.15: 2014-04-09 08:39:39 -07:00
misc misc: Grammar s/addition/additional/ 2014-04-16 12:28:47 -07:00
mmc MMC highlights for 3.15: 2014-04-09 08:39:39 -07:00
mtd Shiraz has moved 2014-04-18 16:40:08 -07:00
net Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-04-18 18:29:44 -04:00
nfc
ntb ntb: Use pci_enable_msix_range() instead of pci_enable_msix() 2014-04-07 10:59:20 -07:00
nubus
of of/irq: do irq resolution in platform_get_irq 2014-04-24 21:40:22 +01:00
oprofile
parisc
parport
pci PCI: tegra: Use new OF interrupt mapping when possible 2014-04-16 10:24:32 -06:00
pcmcia
phy phy: fix kernel oops in phy_lookup() 2014-04-24 12:53:38 -07:00
pinctrl pinctrl: Rename Broadcom Capri pinctrl driver 2014-04-14 09:39:33 +02:00
platform alienware-wmi: cover some scenarios where memory allocations would fail 2014-04-10 12:11:56 -04:00
pnp PNP: Work around BIOS defects in Intel MCH area reporting 2014-04-24 02:39:40 +02:00
power power/reset: vexpress: Fix restart/power off operation 2014-04-24 17:20:50 +01:00
powercap CPU hotplug notifiers registration fixes for 3.15-rc1 2014-04-07 14:55:46 -07:00
pps
ps3
ptp
pwm Shiraz has moved 2014-04-18 16:40:08 -07:00
rapidio rapidio: rework device hierarchy and introduce mport class of devices 2014-04-07 16:36:07 -07:00
regulator regulator: pbias: Convert to use regmap helper functions 2014-04-14 22:16:25 +01:00
remoteproc
reset
rpmsg
rtc ARM: SoC: driver changes 2014-04-05 15:37:40 -07:00
s390 s390/sclp_cmd: replace PTR_RET with PTR_ERR_OR_ZERO 2014-04-11 13:53:42 +02:00
sbus
scsi [SCSI] More USB deadlock fixes 2014-04-21 14:28:40 -07:00
sfi
sh ARM: SoC: sh driver changes 2014-04-05 15:38:41 -07:00
sn
spi Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/bfin5xx', 'spi/fix/hspi' and 'spi/fix/sirf' into spi-linus 2014-04-23 13:50:18 +01:00
spmi
ssb
staging staging: comedi: usbdux: bug fix for accessing 'ao_chanlist' in private data 2014-04-23 16:20:15 -07:00
target Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-04-12 17:31:22 -07:00
tc
thermal Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2014-04-10 09:15:46 -07:00
tty serial_core: fix uart PORT_UNKNOWN handling 2014-04-24 15:38:22 -07:00
uio
usb usb: option: add and update a number of CMOTech devices 2014-04-25 11:35:04 -07:00
uwb uwb: don't call spin_unlock_irq in a USB completion handler 2014-04-24 12:45:40 -07:00
vfio
vhost Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-04-12 16:51:08 -07:00
video video: Kconfig: move drm and fb into separate menus 2014-04-17 08:10:20 +03:00
virt
virtio
vlynq
vme vme_tsi148: Utilize to_pci_dev() macro 2014-04-16 14:08:37 -07:00
w1 w1: avoid recursive device_add 2014-04-16 14:07:51 -07:00
watchdog CPU hotplug notifiers registration fixes for 3.15-rc1 2014-04-07 14:55:46 -07:00
xen Xen regression and bug fixes for 3.15-rc1. 2014-04-17 10:54:07 -07:00
zorro
Kconfig
Makefile video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00