aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-07-04 22:52:50 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-07-05 10:03:45 +0200
commitde2b998552c1534e87bfbc51ec5734b02bc89020 (patch)
tree06385a5a5f55fd7dc072073fddbd22e678d5e5ba /scripts
parentdrm/i915: properly SIGBUS on I/O errors (diff)
downloadlinux-de2b998552c1534e87bfbc51ec5734b02bc89020.tar.gz
linux-de2b998552c1534e87bfbc51ec5734b02bc89020.zip
drm/i915: don't return a spurious -EIO from intel_ring_begin
The issue with this check is that it results in userspace receiving an -EIO while the gpu reset hasn't completed, resulting in fallback to sw rendering or worse. Now there's also a stern comment in intel_ring_wait_seqno saying that intel_ring_begin should not return -EAGAIN, ever, because some callers can't handle that. But after an audit of the callsites I don't see any issues. I guess the last problematic spot disappeared with the removal of the pipelined fencing code. So do the right thing and call check_wedge, which should properly decide whether an -EAGAIN or -EIO is appropriate if wedged is set. Note that the early check for a wedged gpu before touching the ring is rather important (and it took me quite some time of acting like the densest doofus to figure that out): If we don't do that and the gpu died for good, not having been resurrect by the reset code, userspace can merrily fill up the entire ring until it notices that something is amiss. Allowing userspace to emit more render, despite that we know that it will fail can't lead to anything good (and by experience can lead to all sorts of havoc, including angering the OOM gods and hard-hanging the hw for good). v2: Fix EAGAIN mispell, noticed by Chris Wilson. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
> 2016-05-09mfd: twl4030-power: Remove driver path in file commentJavier Martinez Canillas1-1/+0 2016-05-09MAINTAINERS: Add entry for X-Powers AXP family PMIC driversChen-Yu Tsai1-0/+6 2016-05-09mfd: smsc-ece1099: Remove unnecessarily remove callbackLaxman Dewangan1-10/+0 2016-05-09mfd: Use IS_ENABLED(CONFIG_FOO) instead of checking FOO || FOO_MODULEJavier Martinez Canillas2-7/+7 2016-05-09mfd: twl6040: Disable and unprepare clk32k in twl6040_power() error pathJavier Martinez Canillas1-0/+2 2016-05-09mfd: twl6040: Check clk_prepare_enable() return value in twl6040_power()Javier Martinez Canillas1-1/+5 2016-05-09mfd: tps6105x: Remove linux/regulator/driver.h includeMark Brown1-1/+0 2016-05-09mfd: intel_quark_i2c_gpio: Remove CLK_IS_ROOTStephen Boyd1-1/+1 2016-05-09mfd: intel-lpss: Remove CLK_IS_ROOTStephen Boyd1-2/+2 2016-05-09mfd: intel-lpss: Save register context on suspendHeikki Krogerus1-1/+18 2016-05-09mfd: wm8400-core: Delete wm8400_reg_read()Dan Carpenter2-22/+0 2016-05-09mfd: arizona: Update device ordering to allow clean driver removalCharles Keepax1-5/+5 2016-05-09mfd: mt6397: IRQ domain should initialize before mfd_add_devices()Henry Chen1-9/+13 2016-04-19mfd: cros_ec: Allow building for ARM64Brian Norris1-1/+1 2016-04-19mfd: max77686: Use module_i2c_driver() instead of subsys initcallJavier Martinez Canillas1-12/+1 2016-04-19mfd: max77686/max77693: Fix misspelled Samsung addressKrzysztof Kozlowski2-2/+2 2016-04-19mfd: vexpress-sysreg: Switch to gpiochip_add_data()Linus Walleij1-1/+1 2016-04-19mfd: ucb1x00: Use gpiochip data pointerLinus Walleij1-7/+7 2016-04-19mfd: tps65010: Use gpiochip data pointerLinus Walleij1-4/+4 2016-04-19mfd: tc6393xb: Use gpiochip data pointerLinus Walleij1-7/+7 2016-04-19mfd: sm501: Use gpiochip data pointerLinus Walleij1-10/+5 2016-04-19mfd: htc-i2cpld: Use gpiochip data pointerLinus Walleij1-10/+5 2016-04-19mfd: htc-egpio: Use gpiochip data pointerLinus Walleij1-5/+5 2016-04-19mfd: dm355evm_msp: Switch to gpiochip_add_data()Linus Walleij1-1/+1 2016-04-19mfd: asic3: Use gpiochip data pointerLinus Walleij1-5/+5