]> git.baikalelectronics.ru Git - kernel.git/commit
drm/qxl: fix ioport interactions for kernel submitted commands.
authorDave Airlie <airlied@redhat.com>
Tue, 14 May 2013 01:13:24 +0000 (02:13 +0100)
committerDave Airlie <airlied@redhat.com>
Fri, 17 May 2013 01:45:44 +0000 (11:45 +1000)
commite3b7502a94a2b5459c9b068418e2ee75308c2800
tree6fb02643c90909b8167d29a7e8d2efa829091d90
parentda8d33d72331aa2fa9bc9db2ce7dc87acc72e37b
drm/qxl: fix ioport interactions for kernel submitted commands.

So qxl has ioports, but it really really really doesn't want you
to write to them twice, but if you write and get a signal before
the irq arrives to let you know its completed, you have to think
ahead and avoid writing another time.

However this works fine for update area where really multiple
writes aren't the end of the world, however with create primary
surface, you can't ever do multiple writes. So this stop internal
kernel writes from doing interruptible waits, because otherwise
we have no idea if this write is a new one or a continuation of
a previous one.

virtual hw sucks more than real hw.

This fixes lockups and VM crashes when resizing and starting/stopping
X.

Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/qxl/qxl_cmd.c