acde2d8037f4502669af251e44b05579681e0dc1 |
|
29-Mar-2012 |
Ben Skeggs <bskeggs@redhat.com> |
Revert "drm/nouveau: inform userspace of new kernel subchannel requirements" This reverts commit a81f15499887d3f9f24ec70bb9b7e778942a6b7b. Gah, we have a released userspace component using fixed subc assignment that conflicts with this. To avoid breaking ABI this needs to be reverted. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
664695ae6f8b2b72aa5820aa20f4d65016cb3fd0 |
|
21-Mar-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: inform userspace of new kernel subchannel requirements All available subchannels are now available for userspace to do with as it pleases on NVC0+. On all earlier chipsets, the kernel still uses a software object on subc 0 to implement the page flip completion method. I hope to find some decent way of addressing this too, but it's a tad tricker prior to fermi. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
d550c41e4ff11fe69b5f92868157253d27937d1f |
|
15-Feb-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: remove no_vm/mappable flags from nouveau_bo 'mappable' isn't really used at all, nor is it necessary anymore as the bo code is capable of moving buffers to mappable vram as required. 'no_vm' isn't necessary anymore either, any places that don't want to be mapped into a GPU address space should allocate the VRAM directly instead. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
cdccc70eff1eaf3627a716374f9ebc115fc4621c |
|
07-Feb-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv50-nvc0: initialise display sync channels Also imports a couple of helper functions that'll be used to implement page flipping in the following commits.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
60f60bf1bc45bef38568244f5c4e0d0f105c5032 |
|
03-Feb-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv50-nvc0: request and wait on notification of modeset completion This should prevent a number of races from occuring, the most obvious of which will be exposed when we start making use of the "display sync" evo channel for page flipping. The DS channel will reject any command stream that doesn't completely agree with the current "master" state. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
6d86951a45013ac5b060c5e6307b11b7c685c76f |
|
08-Dec-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nvc0: initial support for tiled buffer objects Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
96545299d7405d4c0f44b727718e263653fc11aa |
|
24-Nov-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nvc0: fix channel dma init paths Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
0c6c1c2fb8b0fd4340f78db20ee7f35d2a810907 |
|
22-Sep-2010 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Use semaphores to handle inter-channel sync in hardware. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
a1606a9596e54da90ad6209071b357a4c1b0fa82 |
|
12-Feb-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: new gem pushbuf interface, bump to 0.0.16 This commit breaks the userspace interface, and requires a new libdrm for nouveau to operate again. The multiple GEM_PUSHBUF ioctls that were present in 0.0.15 for compatibility purposes are now gone, and replaced with the new ioctl which allows for multiple push buffers to be submitted (necessary for hw index buffers in the nv50 3d driver) and relocations to be applied on any buffer. A number of other ioctls (CARD_INIT, GEM_PIN, GEM_UNPIN) that were needed for userspace modesetting have also been removed. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Francisco Jerez <currojerez@riseup.net>
|
9a391ad8a2cdd7e5be9b6aabb56f4a46683ba377 |
|
11-Feb-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv50: switch to indirect push buffer controls PFIFO on G80 and up has a new mode where the main ring buffer is simply a ring of pointers to indirect buffers containing the actual command/data packets. In order to be able to implement index buffers in the 3D driver we need to be able to submit data-only push buffers right after the cmd packet header, which is only possible using the new command submission method. This commit doesn't make it possible to implement index buffers yet, some userspace interface changes will be required, but it does allow for testing/debugging of the hardware-side support in the meantime. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
ca4362adb4c01807dfcf3f2b3152a7ee36f0d1ca |
|
26-Dec-2009 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Allocate a per-channel instance of NV_SW. It will be useful for various synchronization purposes, mostly stolen from "[PATCH] drm/nv50: synchronize user channel after buffer object move on kernel channel" by Maarten Maathuis. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
|
f03a314b4671407c4ff69a2d85e72413e8064c48 |
|
26-Dec-2009 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Allocate a per-channel instance of NV_SW. It will be useful for various synchronization purposes, mostly stolen from "[PATCH] drm/nv50: synchronize user channel after buffer object move on kernel channel" by Maarten Maathuis. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
|
6ee738610f41b59733f63718f0bdbcba7d3a3f12 |
|
11-Dec-2009 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: Add DRM driver for NVIDIA GPUs This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA. This driver is a KMS-based driver and requires a compatible nouveau userspace libdrm and nouveau X.org driver. This driver requires firmware files not available in this kernel tree, interested parties can find them via the nouveau project git archive. This driver is reverse engineered, and is in no way supported by nVidia. Support for nearly the complete range of nvidia hw from nv04->g80 (nv50) is available, and the kms driver should support driving nearly all output types (displayport is under development still) along with supporting suspend/resume. This work is all from the upstream nouveau project found at nouveau.freedesktop.org. The original authors list from nouveau git tree is: Anssi Hannula <anssi.hannula@iki.fi> Ben Skeggs <bskeggs@redhat.com> Francisco Jerez <currojerez@riseup.net> Maarten Maathuis <madman2003@gmail.com> Marcin KoĆcielnicki <koriakin@0x04.net> Matthew Garrett <mjg@redhat.com> Matt Parnell <mparnell@gmail.com> Patrice Mandin <patmandin@gmail.com> Pekka Paalanen <pq@iki.fi> Xavier Chantry <shiningxc@gmail.com> along with project founder Stephane Marchesin <marchesin@icps.u-strasbg.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|