kernel-ark/drivers/gpu/drm/nouveau
Ben Skeggs 054b93e444 drm/nv40: implement ctxprog/state generation
The context programs are *very* simple compared to the ones used by
the binary driver.  There's notes in nv40_grctx.c explaining most of
the things we don't implement.  If we discover if/why any of it is
required further down the track, we'll handle it then.

The PGRAPH state generated for each chipset should match what NVIDIA
do almost exactly (there's a couple of exceptions).  If someone has
a lot of time on their hands, they could figure out the mapping of
object/method to PGRAPH register and demagic the initial state a little,
it's not terribly important however.

At time of commit, confirmed to be working at least well enough for
accelerated X (and where tested, for 3D apps) on NV40, NV43, NV44, NV46,
NV49, NV4A, NV4B and NV4E.

A module option has been added to force the use of external firmware
blobs if it becomes required.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:05:39 +10:00
..
Kconfig
Makefile drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nouveau_acpi.c
nouveau_backlight.c
nouveau_bios.c drm/nouveau: Kill global state in BIOS script interpreter 2009-12-16 17:05:02 +10:00
nouveau_bios.h drm/nouveau: Kill global state in BIOS script interpreter 2009-12-16 17:05:02 +10:00
nouveau_bo.c drm/nouveau: Fix up buffer eviction, and evict them to GART, if possible. 2009-12-16 17:05:26 +10:00
nouveau_calc.c
nouveau_channel.c
nouveau_connector.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nouveau_connector.h
nouveau_crtc.h
nouveau_debugfs.c
nouveau_display.c
nouveau_dma.c
nouveau_dma.h
nouveau_dp.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nouveau_drv.c drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nouveau_drv.h drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nouveau_encoder.h
nouveau_fb.h
nouveau_fbcon.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nouveau_fbcon.h
nouveau_fence.c drm/nouveau: remove use of -ERESTART 2009-12-15 11:04:25 +10:00
nouveau_gem.c drm/nouveau: remove use of -ERESTART 2009-12-15 11:04:25 +10:00
nouveau_grctx.c drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nouveau_grctx.h drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nouveau_hw.c
nouveau_hw.h
nouveau_i2c.c
nouveau_i2c.h
nouveau_ioc32.c
nouveau_irq.c
nouveau_mem.c drm/nouveau: fix build with CONFIG_AGP=n 2009-12-15 10:57:36 +10:00
nouveau_notifier.c
nouveau_object.c
nouveau_reg.h
nouveau_sgdma.c
nouveau_state.c drm/nouveau: Add proper error handling to nouveau_card_init 2009-12-16 17:05:20 +10:00
nouveau_ttm.c
nv04_crtc.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv04_cursor.c
nv04_dac.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv04_dfp.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv04_display.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv04_fb.c
nv04_fbcon.c
nv04_fifo.c
nv04_graph.c drm/nv04: Fix NV04 set_operation software method. 2009-12-16 17:05:13 +10:00
nv04_instmem.c
nv04_mc.c
nv04_timer.c
nv04_tv.c
nv10_fb.c
nv10_fifo.c
nv10_graph.c drm/nv10: Add the initial graph context and soft methods needed for LMA. 2009-12-16 17:05:33 +10:00
nv17_gpio.c
nv17_tv_modes.c
nv17_tv.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv17_tv.h
nv20_graph.c
nv40_fb.c
nv40_fifo.c
nv40_graph.c drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nv40_grctx.c drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nv40_mc.c
nv50_crtc.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv50_cursor.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv50_dac.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv50_display.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv50_display.h
nv50_evo.h
nv50_fbcon.c
nv50_fifo.c
nv50_graph.c drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nv50_instmem.c
nv50_mc.c
nv50_sor.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nvreg.h