- 18 10月, 2008 1 次提交
-
-
由 David Howells 提交于
Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: NDavid Howells <dhowells@redhat.com> Reviewed-by: NJames Morris <jmorris@namei.org> Acked-by: NSerge Hallyn <serue@us.ibm.com> Signed-off-by: NDavid Airlie <airlied@redhat.com>
-
- 14 7月, 2008 1 次提交
-
-
由 Dave Airlie 提交于
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: NDave Airlie <airlied@redhat.com>
-
- 21 6月, 2008 1 次提交
-
-
由 Jonathan Corbet 提交于
Signed-off-by: NJonathan Corbet <corbet@lwn.net>
-
- 07 5月, 2008 1 次提交
-
-
由 Thomas Hellstrom 提交于
Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 26 4月, 2008 2 次提交
-
-
由 Dave Airlie 提交于
Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
rips out the head crap and replaces it with an idr and drm_minor structure Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 17 3月, 2008 1 次提交
-
-
由 Mike Isely 提交于
The i915_vblank_swap() function schedules an automatic buffer swap upon receipt of the vertical sync interrupt. Such an operation is lengthy so it can't be allowed to happen in normal interrupt context, thus the DRM implements this by scheduling the work in a kernel softirq-scheduled tasklet. In order for the buffer swap to work safely, the DRM's central lock must be taken, via a call to drm_lock_take() located in drivers/char/drm/drm_irq.c within the function drm_locked_tasklet_func(). The lock-taking logic uses a non-interrupt-blocking spinlock to implement the manipulations needed to take the lock. This semantic would be safe if all attempts to use the spinlock only happen from process context. However this buffer swap happens from softirq context which is really a form of interrupt context. Thus we have an unsafe situation, in that drm_locked_tasklet_func() can block on a spinlock already taken by a thread in process context which will never get scheduled again because of the blocked softirq tasklet. This wedges the kernel hard. To trigger this bug, run a dual-head cloned mode configuration which uses the i915 drm, then execute an opengl application which synchronizes buffer swaps against the vertical sync interrupt. In my testing, a lockup always results after running anywhere from 5 minutes to an hour and a half. I believe dual-head is needed to really trigger the problem because then the vertical sync interrupt handling is no longer predictable (due to being interrupt-sourced from two different heads running at different speeds). This raises the probability of the tasklet trying to run while the userspace DRI is doing things to the GPU (and manipulating the DRM lock). The fix is to change the relevant spinlock semantics to be the interrupt-blocking form. After this change I am no longer able to trigger the lockup; the longest test run so far was 20 hours (test stopped after that point). Note: I have examined the places where this spinlock is being employed; all are reasonably short bounded sequences and should be suitable for interrupts being blocked without impacting overall kernel interrupt response latency. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 20 10月, 2007 1 次提交
-
-
由 Pavel Emelyanov 提交于
The task_struct->pid member is going to be deprecated, so start using the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in the kernel. The first thing to start with is the pid, printed to dmesg - in this case we may safely use task_pid_nr(). Besides, printks produce more (much more) than a half of all the explicit pid usage. [akpm@linux-foundation.org: git-drm went and changed lots of stuff] Signed-off-by: NPavel Emelyanov <xemul@openvz.org> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 15 10月, 2007 2 次提交
-
-
由 Eric Anholt 提交于
The data is now in kernel space, copied in/out as appropriate according to t This results in DRM_COPY_{TO,FROM}_USER going away, and error paths to deal with those failures. This also means that XFree86 4.2.0 support for i810 DR is lost. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Eric Anholt 提交于
As a fallout, replace filp storage with file_priv storage for "unique identifier of a client" all over the DRM. There is a 1:1 mapping, so this should be a noop. This could be a minor performance improvement, as everyth on Linux dereferenced filp to get file_priv anyway, while only the mmap ioct went the other direction. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 11 7月, 2007 4 次提交
-
-
由 Dave Airlie 提交于
Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
some drivers still todo. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
This makes the drms use of the list handling macros a lot cleaner and more along the lines of how they should be used and uses them in some more places. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 23 3月, 2007 1 次提交
-
-
由 Thomas Hellstrom 提交于
Bugzilla Bug #9457 Add refcounting of user waiters to the DRM hardware lock, so that we can use DRM_LOCK_CONT flag more conservatively. Also add a kernel waiter refcount that if nonzero transfers the lock for the kernel context when it is released. This is useful when waiting for idle and can be used for very simple fence object driver implementations for the new memory manager Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 19 3月, 2007 1 次提交
-
-
由 Andrew Morton 提交于
drivers/char/drm/drm_fops.c: In function 'drm_setup': drivers/char/drm/drm_fops.c:60: warning: comparison of distinct pointer types lacks a cast Unfortunately PAGE_SIZE has different types on different architectures. Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 11 3月, 2007 1 次提交
-
-
由 Dave Airlie 提交于
Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 22 9月, 2006 3 次提交
-
-
由 Thomas Hellstrom 提交于
Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Thomas Hellstrom 提交于
Fix drm_remove_magic potential memory leak / corruption. Move drm authentication token hashing to new generic hash table implementation. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
This patch removes some of the old compatibility macros from the DRM, and removes use of DRM wrappers from Linux specific code. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 29 3月, 2006 1 次提交
-
-
由 Arjan van de Ven 提交于
Mark the f_ops members of inodes as const, as well as fix the ripple-through this causes by places that copy this f_ops and then "do stuff" with it. Signed-off-by: NArjan van de Ven <arjan@infradead.org> Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 02 2月, 2006 1 次提交
-
-
由 Dave Airlie 提交于
From: Arjan van de Ven <arjan@infradead.org> Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: NArjan van de Ven <arjan@infradead.org> Signed-off-by: NIngo Molnar <mingo@elte.hu> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 02 1月, 2006 1 次提交
-
-
由 Dave Airlie 提交于
This patch pull in a lot of changes from CVS to the main core DRM, and updates the radeon driver to 1.21.0 that supports r300 texrect and radeon card type ioctl. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 11 11月, 2005 1 次提交
-
-
由 Dave Airlie 提交于
drm_flush is no longer needed remove. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 10 11月, 2005 2 次提交
-
-
由 Dave Airlie 提交于
Move drm_cpu_valid into drm_fops.c Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
Rename the driver hooks in the DRM to something a little more understandable: preinit -> load postinit -> (removed) presetup -> firstopen postsetup -> (removed) open_helper -> open prerelease -> preclose free_filp_priv -> postclose pretakedown -> lastclose postcleanup -> unload release -> reclaim_buffers_locked version -> (removed) postinit and version were replaced with generic code in the Linux DRM (drivers now set their version numbers and description in the driver structure, like on BSD). postsetup wasn't used at all. Fixes the savage hooks for initializing and tearing down mappings at the right times. Testing involved at least starting X, running glxgears, killing glxgears, exiting X, and repeating. Tested on: FreeBSD (g200, g400, r200, r128) Linux (r200, savage4) From: Eric Anholt <anholt@freebsd.org> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 24 10月, 2005 1 次提交
-
-
由 Dave Airlie 提交于
These haven't been used in quite a long time, takes 1K buffer out of structures. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 25 9月, 2005 1 次提交
-
-
由 Dave Airlie 提交于
I've been threatening this for a while, so no point hanging around. This lindents the DRM code which was always really bad in tabbing department. I've also fixed some misnamed files in comments and removed some trailing whitespace. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 10 7月, 2005 1 次提交
-
-
由 Dave Airlie 提交于
This is a patch from DRM CVS that cleans up some code that was in CVS that I never moved to the kernel, this patch produces the result of the cleanups and puts it into the kernel drm. From: Eric Anholt <anholt@freebsd.org>, Jon Smirl, Dave Airlie Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 07 7月, 2005 3 次提交
-
-
由 Dave Airlie 提交于
This patch contains the following cleanups: - make needlessly global functions static - remove the following unused global functions: - drm_fops.c: drm_read - i915_dma.c: i915_do_cleanup_pageflip Signed-off-by: NAdrian Bunk <bunk@stusta.de> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
From: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
The conversion to core/driver got this check in-correct. Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 17 4月, 2005 1 次提交
-
-
由 Linus Torvalds 提交于
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
-