[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1247759311-6254-1-git-send-email-tiago.vignatti@nokia.com>
Date: Thu, 16 Jul 2009 18:48:28 +0300
From: Tiago Vignatti <tiago.vignatti@...ia.com>
To: Jesse Barnes <jbarnes@...tuousgeek.org>
Cc: Dave Airlie <airlied@...hat.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Tiago Vignatti <tiago.vignatti@...ia.com>
Subject: [PATCH 0/3] VGA arbiter implementation (v2)
Hi,
Following is v2 of the set. It contains some minor clean ups and the additions
from Dave, mostly related with DRM.
I just reorganized a little the ideas which everyone sent and summarized them
here. The basically TODO is:
- DRM hook to disable IRQ when arbiter is on action is done. What else we need
on DRM department (besides the hook usage that Dave is cooking)? That's a
preliminary here:
http://people.freedesktop.org/~airlied/vgaarb/0002-drm-add-support-to-drm-for-VGA-arbitration.patch
- make a PCI_COMMAND lock to deal with hotplug cards on drivers/pci. Also is
it need some spinlock to deal with bridges? (Waiting Jesse's opinion).
- know exactly if VGA on/off is enough and remove the just I/O or just memory
granularity. Alan states that it would reduce some deadlock.
- Change this hunk bellow:
+ init_waitqueue_entry(&wait, current);
+ add_wait_queue(&vga_wait_queue, &wait);
+ set_current_state(interruptible ?
+ TASK_INTERRUPTIBLE :
+ TASK_UNINTERRUPTIBLE);
+ if (signal_pending(current)) {
+ rc = -EINTR;
+ break;
+ }
+ schedule();
+ remove_wait_queue(&vga_wait_queue, &wait);
+ set_current_state(TASK_RUNNING);
by something like:
+ wait_event_interruptible(...)
it's Alan's comment. Does it seems doable to everyone?
For testing purposes, I'm using posttool:
http://cgit.freedesktop.org/~airlied/posttool/
which has the following dependencies:
http://cgit.freedesktop.org/~vignatti/libx86/
http://cgit.freedesktop.org/~vignatti/libpciaccess/ (vgaarb branch)
Please, comment on and send the feedbacks. Thanks,
Tiago
Dave Airlie (1):
drm: add support to drm for VGA arbitration.
Tiago Vignatti (2):
vga: implements VGA arbitration on Linux
vga: drops a documentation regarding the VGA arbiter
Documentation/vgaarbiter.txt | 197 ++++++
drivers/gpu/Makefile | 2 +-
drivers/gpu/drm/drm_irq.c | 24 +
drivers/gpu/drm/i915/i915_dma.c | 6 +
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_display.c | 17 +
drivers/gpu/drm/i915/intel_drv.h | 1 +
drivers/gpu/drm/radeon/r100.c | 9 +
drivers/gpu/drm/radeon/radeon.h | 2 +
drivers/gpu/drm/radeon/radeon_asic.h | 9 +
drivers/gpu/drm/radeon/radeon_device.c | 5 +-
drivers/gpu/vga/Kconfig | 10 +
drivers/gpu/vga/Makefile | 1 +
drivers/gpu/vga/vgaarb.c | 1116 ++++++++++++++++++++++++++++++++
drivers/video/Kconfig | 2 +
include/drm/drmP.h | 3 +
include/linux/vgaarb.h | 170 +++++
17 files changed, 1573 insertions(+), 2 deletions(-)
create mode 100644 Documentation/vgaarbiter.txt
create mode 100644 drivers/gpu/vga/Kconfig
create mode 100644 drivers/gpu/vga/Makefile
create mode 100644 drivers/gpu/vga/vgaarb.c
create mode 100644 include/linux/vgaarb.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists