summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ast/ast_ttm.c
diff options
context:
space:
mode:
authorDave Airlie2013-05-02 08:40:25 +0200
committerDave Airlie2013-05-02 04:46:47 +0200
commit306373b645d80625335b8e684fa09b14ba460cec (patch)
tree56b69864e7941570c697b9da778d9a2886e0b8bd /drivers/gpu/drm/ast/ast_ttm.c
parentdrm/mgag200: deal with bo reserve fail in dirty update path (diff)
downloadkernel-qcow2-linux-306373b645d80625335b8e684fa09b14ba460cec.tar.gz
kernel-qcow2-linux-306373b645d80625335b8e684fa09b14ba460cec.tar.xz
kernel-qcow2-linux-306373b645d80625335b8e684fa09b14ba460cec.zip
drm/ast: deal with bo reserve fail in dirty update path
Port over the mgag200 fix to ast as it suffers the same issue. On F19 testing, it was noticed we get a lot of errors in dmesg about being unable to reserve the buffer when plymouth starts, this is due to the buffer being in the process of migrating, so it makes sense we can't reserve it. In order to deal with it, this adds delayed updates for the dirty updates, when the bo is unreservable, in the normal console case this shouldn't ever happen, its just when plymouth or X is pushing the console bo to system memory. Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/ast/ast_ttm.c')
-rw-r--r--drivers/gpu/drm/ast/ast_ttm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c
index 3602731a6112..09da3393c527 100644
--- a/drivers/gpu/drm/ast/ast_ttm.c
+++ b/drivers/gpu/drm/ast/ast_ttm.c
@@ -316,7 +316,7 @@ int ast_bo_reserve(struct ast_bo *bo, bool no_wait)
ret = ttm_bo_reserve(&bo->bo, true, no_wait, false, 0);
if (ret) {
- if (ret != -ERESTARTSYS)
+ if (ret != -ERESTARTSYS && ret != -EBUSY)
DRM_ERROR("reserve failed %p\n", bo);
return ret;
}