44af3f5c6a2dc0358121b5ecf272361b3290649e |
|
10-Sep-2014 |
Daniel Vetter <daniel.vetter@ffwll.ch> |
drm: unexport drm_global_mutex Drivers really, really have no business even looking at this lock. And thankfully they don't. So unexport it and move the declaration to drm_internal.h. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
bb6d822ec546603bca01f7ba17c52f0f4f80e329 |
|
29-Aug-2014 |
David Herrmann <dh.herrmann@gmail.com> |
drm: move drm-lock API to drm_legacy.h Same as the other legacy APIs, most of this is internal, so prefix it with drm_legacy_* and move into drm_legacy.h. Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
69d516c0a990b42c4d55f7631fa28cc41bfcc8f0 |
|
29-Aug-2014 |
David Herrmann <dh.herrmann@gmail.com> |
drm: inline "struct drm_sigdata" The sigdata structure is only used to group two fields in drm_device. Inline it and make it an unnamed object. Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
7963e9db1b1f842fdc53309baa8714d38e9f5681 |
|
07-Aug-2014 |
Dave Airlie <airlied@gmail.com> |
Revert "drm: drop redundant drm_file->is_master" This reverts commit 48ba813701eb14b3008edefef4a0789b328e278c. Thanks to Chris: "drm_file->is_master is not synomous with having drm_file->master == drm_file->minor->master. This is because drm_file->master is the same for all drm_files of the same generation and so when there is a master, every drm_file believes itself to be the master. Confusion ensues and things go pear shaped when one file is closed and there is no master anymore." Conflicts: drivers/gpu/drm/drm_drv.c drivers/gpu/drm/drm_stub.c
|
e7b96070dd9e51a8b16340411a8643d8c7d5a001 |
|
24-Jul-2014 |
David Herrmann <dh.herrmann@gmail.com> |
drm: mark drm_context support as legacy This renames all drm-context helpers to drm_legacy_*() and moves the internal definitions into the new drm_legacy.h header. This header is local to DRM-core and drivers shouldn't access it. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
48ba813701eb14b3008edefef4a0789b328e278c |
|
22-Jul-2014 |
David Herrmann <dh.herrmann@gmail.com> |
drm: drop redundant drm_file->is_master The drm_file->is_master field is redundant as it's equivalent to: drm_file->master && drm_file->master == drm_file->minor->master 1) "=>" Whenever we set drm_file->is_master, we also set: drm_file->minor->master = drm_file->master; Whenever we clear drm_file->is_master, we also call: drm_master_put(&drm_file->minor->master); which implicitly clears it to NULL. 2) "<=" minor->master cannot be set if it is non-NULL. Therefore, it stays as is unless a file drops it. If minor->master is NULL, it is only set by places that also adjust drm_file->is_master. Therefore, we can safely drop is_master and replace it by an inline helper that matches: drm_file->master && drm_file->master == drm_file->minor->master Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
0111be42186fc5461b9e9d579014c70869ab3152 |
|
04-Oct-2013 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm: Kill drm perf counter leftovers The user of these counters was killed in commit d79cdc8312689b39c6d83718c1c196af4b3cd18c Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Thu Aug 8 15:41:32 2013 +0200 drm: no-op out GET_STATS ioctl so clean up the leftovers as well. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
760285e7e7ab282c25b5e90816f7c47000557f4f |
|
02-Oct-2012 |
David Howells <dhowells@redhat.com> |
UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ Convert #include "..." to #include <path/...> in drivers/gpu/. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Dave Airlie <airlied@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Dave Jones <davej@redhat.com>
|
4c373790a4d4d667d1ab38b1fe2bbf6a8322e93b |
|
26-Oct-2011 |
Daniel Vetter <daniel.vetter@ffwll.ch> |
drm: ditch strange DRIVER_DMA_QUEUE only error bail-out Only one driver (i810) even sets that flag. Now the actual locking code uncoditionally promotes lock->context to an unsigned int. Closer inspection of the userspace reveals that the drm lock context is defined as an unsigned int (at least on linux). I suspect we just have a strange case of signedness confusion going on. Tested on my i815, doesn't seem to break anything. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
4a1b0714275796fdbc35427cf361eb4123e5e9f6 |
|
17-May-2012 |
Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
drm: Don't initialize local ret variable when not needed Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
5c2a5ce689c99037771a6c110374461781a6f042 |
|
22-Dec-2011 |
Dave Airlie <airlied@redhat.com> |
drm: add missing exports for i810 driver. Brown paper bag of danvet. Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
45ff46c54a31bf8924b61e3e3411654410a3b5c3 |
|
26-Sep-2010 |
Daniel Vetter <daniel.vetter@ffwll.ch> |
drm: readd drm_lock_free in drm_unlock I've accidently killed a little bit too much in commit 1da3f87ebb7edb3e0b829ec4bbe5fb3d9d93986f Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon Aug 23 22:53:24 2010 +0200 drm: kill kernel_context_switch callbacks Note to self: Next time also test with AIGLX disabled. Reported-and-Tested-by: Andy Furniss <lists@andyfurniss.entadsl.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30374 Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
4ac5ec40ec70022e4dea8cc6254d2dadd1e43d57 |
|
23-Aug-2010 |
Daniel Vetter <daniel.vetter@ffwll.ch> |
drm: don't export dri1 locking functions Only used by ioctl, not by any in-tree drivers. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
23ddc0243d7313942b94f1a2e44e6394f7bb996e |
|
23-Aug-2010 |
Daniel Vetter <daniel.vetter@ffwll.ch> |
drm: kill dma_ready callbacks Not used by any driver. So drop it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
1da3f87ebb7edb3e0b829ec4bbe5fb3d9d93986f |
|
23-Aug-2010 |
Daniel Vetter <daniel.vetter@ffwll.ch> |
drm: kill kernel_context_switch callbacks Not used by any in-kernel driver. So drop it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
08f2e669a81b5906adf6e4716f92d99d7966d224 |
|
27-Aug-2010 |
Arnd Bergmann <arnd@arndb.de> |
drm: fix regression in drm locking since BKL removal. This locking path needs proper auditing but probably too late for changes at this point for 2.6.36, so lets go with the quick fix, which is to drop the lock around schedule. Reported-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
fda714c29cdf360464059044b221450decb4b913 |
|
02-Mar-2009 |
Thomas Hellstrom <thellstrom@vmware.com> |
drm: Avoid client deadlocks when the master disappears. This is done by 1) Wake up lock waiters when we close the master file descriptor. Not when the master structure is removed, since the latter requires the waiters themselves to release the refcount on the master structure -> Deadlock. 2) Send a SIGTERM to all clients waiting for the lock. Normally these clients will get a SIGPIPE when the X server dies, but clients may also spin trying to grab the DRM lock, without getting any sort of notification. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
|
4d77c88e912e5eb9480432af09e950ca8995c253 |
|
02-Mar-2009 |
Thomas Hellstrom <thellstrom@vmware.com> |
drm: Don't return ERESTARTSYS to user-space. That return code is for in-kernel use only. Use EINTR instead. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
|
7c1c2871a6a3a114853ec6836e9035ac1c0c7f7a |
|
28-Nov-2008 |
Dave Airlie <airlied@redhat.com> |
drm: move to kref per-master structures. This is step one towards having multiple masters sharing a drm device in order to get fast-user-switching to work. It splits out the information associated with the drm master into a separate kref counted structure, and allocates this when a master opens the device node. It also allows the current master to abdicate (say while VT switched), and a new master to take over the hardware. It moves the Intel and radeon drivers to using the sarea from within the new master structures. Signed-off-by: Dave Airlie <airlied@redhat.com>
|
5d8e6bb7a20b6206e1fe44565efc383a941b81fa |
|
05-Nov-2008 |
Eric Anholt <eric@anholt.net> |
drm: Remove infrastructure for supporting i915's vblank swapping. It's not used in any other drivers, and doesn't look like it will be from drm.git master. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@linux.ie>
|
9e44af790f8bf8c3aa8a3101fd4f9bca2e932baa |
|
17-Oct-2008 |
Keith Packard <keithp@keithp.com> |
drm/i915: hold dev->struct_mutex and DRM lock during vblank ring operations To synchronize clip lists with the X server, the DRM lock must be held while looking at drawable clip lists. To synchronize with other ring access, the ring mutex must be held while inserting commands into the ring. Failure to do the first resulted in easy visual corruption when moving windows, and the second could have corrupted the ring with DRI2. Grabbing the DRM lock involves using the DRM tasklet mechanism, grabbing the ring mutex means potentially sleeping. Deal with both of these by always running the tasklet from a work handler. Also, protect from clip list changes since the vblank request was queued by making sure the window has at least one rectangle while looking inside, preventing oopses . Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
3e5fc80a404a24c858468030b63555cccfb3e79c |
|
24-Aug-2008 |
Dave Airlie <airlied@linux.ie> |
drm: don't set the signal blocker on the master process. There is a problem with debugging the X server and gdb crashes in the xkb startup code. This avoids the problem by allowing the master process to get signals. It should be safe as the signal blocker is mainly so that you can Ctrl-Z a 3D application without locking up the whole box. Ctrl-Z the X server isn't something many people do. Signed-off-by: Dave Airlie <airlied@redhat.com>
|
e5b4f19417b75a2d7c1e36934f60a3e836c4337e |
|
24-Aug-2008 |
Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> |
drm: don't call the vblank tasklet with irqs disabled. If a specific tasklet shares data with irq context, it needs to take a private irq-blocking spinlock within the tasklet itself. Signed-off-by: Dave Airlie <airlied@redhat.com>
|
c0e09200dc0813972442e550a5905a132768e56c |
|
29-May-2008 |
Dave Airlie <airlied@redhat.com> |
drm: reorganise drm tree to be more future proof. With the coming of kernel based modesetting and the memory manager stuff, the everything in one directory approach was getting very ugly and starting to be unmanageable. This restructures the drm along the lines of other kernel components. It creates a drivers/gpu/drm directory and moves the hw drivers into subdirectores. It moves the includes into an include/drm, and sets up the unifdef for the userspace headers we should be exporting. Signed-off-by: Dave Airlie <airlied@redhat.com>
|