summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/udl/udl_drv.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2013-02-07 11:19:15 +1000
committerDave Airlie <airlied@redhat.com>2013-02-07 12:37:50 +1000
commitbcb39af4486be07e896fc374a2336bad3104ae0a (patch)
tree0defaeec6703bc530d178518a66937bdf8dc9b79 /drivers/gpu/drm/udl/udl_drv.h
parent9f23de52b64f7fb801fd76f3dd8651a0dc89187b (diff)
downloadlinux-next-bcb39af4486be07e896fc374a2336bad3104ae0a.tar.gz
drm/udl: make usage as a console safer
Okay you don't really want to use udl devices as your console, but if you are unlucky enough to do so, you run into a lot of schedule while atomic due to printk being called from all sorts of funky places. So check if we are in an atomic context, and queue the damage for later, the next printk should cause it to appear. This isn't ideal, but it is simple, and seems to work okay in my testing here. (dirty area idea came from xenfb) fixes a bunch of sleeping while atomic issues running fbcon on udl devices. Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/udl/udl_drv.h')
-rw-r--r--drivers/gpu/drm/udl/udl_drv.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h
index 87aa5f5d3c88..cc6d90f28c71 100644
--- a/drivers/gpu/drm/udl/udl_drv.h
+++ b/drivers/gpu/drm/udl/udl_drv.h
@@ -75,6 +75,8 @@ struct udl_framebuffer {
struct drm_framebuffer base;
struct udl_gem_object *obj;
bool active_16; /* active on the 16-bit channel */
+ int x1, y1, x2, y2; /* dirty rect */
+ spinlock_t dirty_lock;
};
#define to_udl_fb(x) container_of(x, struct udl_framebuffer, base)