9962cc6eba013607d6199b723afca23301df7b47 |
|
20-Jul-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: disable fifo access and idle before suspend ctx unload Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
6c320fef5835240bf414b54e697e517a160663f4 |
|
20-Jul-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: pass flag to engine fini() method on suspend It may not be necessary to fail in certain cases (such as failing to idle) on module unload, whereas on suspend it's important to ensure a consistent state can be restored on resume. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
70ad25ab735a016c48183875f657d90d592b773d |
|
20-Jul-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: replace nv04_graph_fifo_access() use with direct reg bashing Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
1541fa854273abee954ec4ca4ad65fe4ceb9e626 |
|
04-Jul-2011 |
Jesper Juhl <jj@chaosbits.net> |
drm/nouveau: do not leak in nv20_graph_create If we return due to an unknown chipset in drivers/gpu/drm/nouveau/nv20_graph.c:nv20_graph_create() we'll leak the memory allocated to 'pgraph'. This patch should fix the leak. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Reviewed-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
a82dd49f14742e2529f79feb6360e0993277e788 |
|
01-Apr-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: remove remnants of nouveau_pgraph_engine Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
96c50082904c7cefa3b01356f62268ee6d9e9f38 |
|
01-Apr-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: move set_tile_region to nouveau_exec_engine In the very least VPE (PMPEG and friends) also has this style of tile region regs, lets make them just work if/when they get added. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
a0b1de84fed49a055a3ecbfab67ff9cdea81aa6f |
|
31-Mar-2011 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv20-nv30/gr: move to exec engine interface A bit of cleanup done along the way, but, like nv40/nv50, needs more. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
274fec93cdd627408a799519fa602f2eecb14d2f |
|
03-Nov-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: tidy+move PGRAPH ISRs to their respective *_graph.c files Reviewed-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
87a326a38589e1c919af5f86a59cd571ff0aa831 |
|
24-Oct-2010 |
Francisco Jerez <currojerez@riseup.net> |
drm/nv20: Add Z compression support. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Tested-by: Xavier Chantry <chantry.xavier@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
a5cf68b04b2b8ea716cf6fd8499c1c54d05fdf5e |
|
24-Oct-2010 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Rework tile region handling. The point is to share more code between the PFB/PGRAPH tile region hooks, and give the hardware specific functions a chance to allocate per-region resources. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
332b242f47786d1a43bd7a19a0513dd5d493db8e |
|
20-Oct-2010 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Implement the pageflip ioctl. nv0x-nv4x should be mostly fine, nv50 doesn't work yet. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
b8c157d3a9a13871742c8a8d3d4598c3791ed5f5 |
|
20-Oct-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: only expose the object classes that are supported by the chipset We previously added all the available classes for the entire generation, even though the objects wouldn't work on the hardware. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
a6a1a38075661bec189f2bad7912f8861e6ce357 |
|
19-Oct-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: use object class structs more extensively The structs themselves, as well as the non-sw object creation function are probably very misnamed now. That's a problem for later :) Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
50536946faaf3d9ac0245838eb09e5eb1065b06c |
|
19-Oct-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: store engine type in gpuobj class structs We will eventually want to address hw engines other than PGRAPH. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
3945e47543863385b54d94c94b023ee7ca9df972 |
|
18-Oct-2010 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Refactor context destruction to avoid a lock ordering issue. The destroy_context() engine hooks call gpuobj management functions to release the channel resources, these functions use HARDIRQ-unsafe locks whereas destroy_context() is called with the HARDIRQ-safe context_switch_lock held, that's a lock ordering violation. Push the engine-specific channel destruction logic into destroy_context() and let the hardware-specific code lock and unlock when it's actually needed. Change the engine destruction order to avoid a race in the small gap between pgraph and pfifo context uninitialization. Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
a8eaebc6c52bb0cd243b4cb421068f42d378be9c |
|
01-Sep-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: remove nouveau_gpuobj_ref completely, replace with sanity Reviewed-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
b3beb167af0de6d7cb03aed0687eca645cfd06a6 |
|
01-Sep-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: modify object accessors, offset in bytes rather than dwords Reviewed-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
c50a5681e7d0ce1dd6de06fd70a7eff56ebfb9e9 |
|
08-Jul-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv20-nv30: move context table object out of dev_priv Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
816544b21b020bdb9dcb9a5003fe3e1f109e8698 |
|
08-Jul-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: allocate fixed amount of PRAMIN per channel on all chipsets Previously only done on nv50+ This commit also switches unknown NV2x/NV3x chipsets to noaccel mode. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
f56cb86f9abd229418f894a8ffedfb9ff465c181 |
|
08-Jul-2010 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: add instmem flush() hook This removes the previous prepare_access() and finish_access() hooks, and replaces it with a much simpler flush() hook. All the chipset-specific code before nv50 has its use removed completely, as it's not required there at all. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
01d73a6967f12fe6c4bbde1834a9fe662264a2eb |
|
27-May-2010 |
Jordan Crouse <jcrouse@codeaurora.org> |
drm: Remove drm_resource wrappers Remove the drm_resource wrappers and directly use the actual PCI and/or platform functions in their place. [airlied: fixup nouveau properly to build] Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
0d87c100312ce75d9bb75a456d8a542e84a1722f |
|
16-Dec-2009 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Pre-G80 tiling support. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
|
cb00f7c1419d09ee0daf7d8bed86f253d98db7b4 |
|
16-Dec-2009 |
Francisco Jerez <currojerez@riseup.net> |
drm/nouveau: Pre-G80 tiling support. 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>
|