summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-02-11nouveau: fix type warnings: void* arith, un/signedPekka Paalanen
nouveau_notifier.c had two places where void* was used in arithmetic, fixed by using char*. nouveau_dma_wait(), nouveau_notifier_wait_status() and nouveau_resource_alloc() had signed/unsigned comparison warnings, fixed by changing the function parameter into an unsigned type. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-11drm/nv50: fix nv9x chipsetsBen Skeggs
NVIDIA do this fun little sequence after updating the PRAMIN page tables. On 9xxx chips, none of the PRAMIN BAR bindings (except the initial one) worked, hence the majority of the setup needed to create a channel ended up in the wrong place, causing all sorts of fun. This is done by NVIDIA on nv8x chips also, so we'll do it for them too, even though they appear to work without it.
2009-02-11drm/nv50: add context info for nv98Ben Skeggs
It won't work yet, just like the other 9xxx chips. Real soon now :)
2009-02-10drm/nv50: use a slightly different initial context for nv96Ben Skeggs
I'm not 100% sure that the nv94 one we were using won't work. The context layouts are identical (well.. same ctxprog, so of course!), only a couple of registers differ. But, be safe until we actually get some 9xxx chips working.
2009-02-10drm/nv50: correct ramfc pointer in channel headerBen Skeggs
Suprisingly the card still worked without this...
2009-02-10drm/nv50: let the card handle the initial context switchBen Skeggs
Our PFIFO/PGRAPH context save/load functions don't really work well (at all?) on nv5x yet. Depending on what random state the card is in before the drm loads, fbcon probably won't work correctly. Luckily we've setup the GPU in such a way that it'll actually do a hw context switch for the first context. Not sure of how successful this'd be currently on the older chips (actually, pretty sure it won't work), so NV50 only for now.
2009-02-07nouveau: don't try to traverse non-existent listsStuart Bennett
Fixes nouveau_ioctl_mem_free Oops
2009-02-05nouveau: fix some issues where buffer objects never get freedBen Skeggs
2009-02-04modetest: Add syntax to also specify a crtc when setting a mode.Kristian Høgsberg
2009-02-04nouveau: install libdrm_nouveau with libdrmBen Skeggs
2009-02-04nouveau: bring in new mm api definitions, without the actual mm codeBen Skeggs
Use of the new bits is guarded with a mm_enabled=0 hardcode.
2009-02-03modetest: Use cairo (if available) to paint a better pattern.Kristian Høgsberg
2009-02-03modetest: Don't sleep when just dumping state, wait for key for modeset.Kristian Høgsberg
2009-02-03modetest: Handle setting modes on multiple crtcs with one fb.Kristian Høgsberg
2009-02-03modetest: Use a more interesting test pattern.Kristian Høgsberg
2009-02-02Remove the "nv" driver.Stephane Marchesin
2009-02-02No need to pin buffer anymore in modetest.cKristian Høgsberg
2009-01-29nouveau: don't save channel context if it has recently become invalidStuart Bennett
Bug exposed by DDX change d9da090c
2009-01-29nouveau: no suspend support for nv50+Stuart Bennett
2009-01-27Clean up README for the current state of kernel module affairs.Eric Anholt
Bug #19608.
2009-01-27intel: don't count fences on 965 and later, as they don't use them.Eric Anholt
2009-01-27intel: Fix under-counting of fences registers required in check_aperture.Eric Anholt
2009-01-27intel: libdrm support for fence management in execbufJesse Barnes
This patch tries to use the available fence count to figure out whether a given batch can succeed or not (just like the aperture check). Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-01-27drm compat: fix euid for >=2.6.28Pekka Paalanen
drm_fops.c reads the current process' EUID directly from task_struct. Apparently starting in 2.6.28-rc4 this fails to build. In Linus' tree, commit b6dff3ec5e116e3af6f537d4caedcad6b9e5082a "CRED: Separate task security context from task_struct" moves the euid field from task_struct to another struct. Earlier commit 9e2b2dc4133f65272a6d3c5dcb2ce63f8a87cae9 "CRED: Introduce credential access wrappers" implements the wrapper macros to access e.g. euid. This is in 2.6.27-rc4, and this contains the definition of current_euid() that will be used in the DRM compatibility header for kernels before 2.6.27. That commit also creates <linux/cred.h>, which contains the upstream definition of current_euid(). drm_fops.c is fixed to use current_euid(), and drm_compat.h will offer the compatibility definition for kernels <2.6.27. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-01-27nv50: support chipset NV96Ben Skeggs
ctxprog seen in okias' trace identical to one we use on NV94, assuming the initial context values for NV94 will work here too.
2009-01-27nv04-nv40: correct RAMHT sizeBen Skeggs
2009-01-19drm: remove drmstat/dristat from linux-core buildDave Airlie
pointed out by pq
2009-01-14bump version to 2.4.4Eric Anholt
2009-01-14intel: Retry pin ioctl on -EINTR.Eric Anholt
2009-01-13Don't use DRM_BO_FLAG_NO_MOVE in bufmgr fake. It's a ttm flag./** * \file drm_lock.c * IOCTLs for locking * * \author Rickard E. (Rik) Faith <faith@valinux.com> * \author Gareth Hughes <gareth@valinux.com> */ /* * Created: Tue Feb 2 08:37:54 1999 by faith@valinux.com * * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ #include "drmP.h" static int drm_notifier(void *priv); /** * Lock ioctl. * * \param inode device inode. * \param file_priv DRM file private. * \param cmd command. * \param arg user argument, pointing to a drm_lock structure. * \return zero on success or negative number on failure. * * Add the current task to the lock wait queue, and attempt to take to lock. */ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv) { DECLARE_WAITQUEUE(entry, current); struct drm_lock *lock = data; int ret = 0; ++file_priv->lock_count; if (lock->context == DRM_KERNEL_CONTEXT) { DRM_ERROR("Process %d using kernel context %d\n", current->pid, lock->context); return -EINVAL; } DRM_DEBUG("%d (pid %d) requests lock (0x%08x), flags = 0x%08x\n", lock->context, current->pid, dev->lock.hw_lock->lock, lock->flags); if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE)) if (lock->context < 0) return -EINVAL; add_wait_queue(&dev->lock.lock_queue, &entry); spin_lock_bh(&dev->lock.spinlock);pan='3' class='logmsg'> Remember tiling mode values provided by appplications, and record tiling mode when creating a buffer from another application. This eliminates any need to ask the kernel for tiling values and also makes reused buffers get the right tiling. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-17intel: Debug output %u vs uint64_t warning fixKeith Packard
Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-17intel: return error status from drm_intel_gem_bo_mapKeith Packard
Applications may actually care if the mapping operation failed, so when it happens, return an error indication. errno is probably trashed by fprintf though. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-17intel: Dump out memory usage information when the kernel fails to pinKeith Packard
The execbuffer ioctl returns ENOMEM when it fails to pin all of the buffers in the GTT. This is usually caused by the DRM client attempting to use too much memory in a single request. Dumping out the requested and available memory values should help point out failures in the DRM code to catch over commitments of this form. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-17libdrm: add mode setting filesJesse Barnes
Add mode setting files to libdrm, including xf86drmMode.* and the new drm_mode.h header. Also add a couple of tests to sanity check the kernel interfaces and update code to support them.
2008-12-14intel: don't skip set_domain on mapping of shared buffers.Eric Anholt
2008-12-14intel: don't let named buffers into the BO cache.Eric Anholt
We wouldn't want some remaining 3D rendering to scribble on our batchbuffer.