aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-10-03drm/nouveau: quiet some static-related sparse noiseMarcin Slusarz25-47/+51
Signed-off-by: Marcin Slusarz <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: constify instances of nouveau_bitfield and nouveau_enum structsMarcin Slusarz12-39/+39
Signed-off-by: Marcin Slusarz <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/fifo: use defines instead of hardcoded class idsBen Skeggs9-12/+20
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/dmaobj: reject unsupported parent types instead of half-succeedingBen Skeggs2-10/+16
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: add defines for internal class namesBen Skeggs1-14/+35
Will probably flesh the documentation of the classes out a bit too at some later point. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv50/fifo: add support for dma channel classBen Skeggs3-7/+72
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv84/fifo: add support for dma channel classBen Skeggs3-7/+81
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/fifo: version the dma channel class structBen Skeggs6-6/+6
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/fifo: separate object classes for dma channelsBen Skeggs6-5/+10
Future code will use the object class rather than chipset checks in order to identify available channel features. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: restore fifo chid information in engine error messagesBen Skeggs15-132/+213
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/core: have fifo store a unique context identifier at attach timeBen Skeggs11-2/+23
This value will match something that's easily available from the engine IRQ handlers, and used to lookup the relevant context. Since the changes in how this is done on each generation match when the major PFIFO changes happened, fifo is responsible for calculating the correct value to avoid duplicating the same code among many engine modules. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/fifo: add method to lookup fifo chid related to a given objectBen Skeggs2-0/+17
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/core: protect engine context list with hardirq-safe spinlockBen Skeggs4-20/+60
IRQ handlers will need access to engine contexts. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv84/fifo: mask only the engine we're waiting on for channel unloadBen Skeggs1-6/+10
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nve0: use async copy engine for ttm buffer moves if availableBen Skeggs7-26/+72
Kepler PFIFO lost the ability to address multiple engines from a single channel, so we need a separate one for the copy engine. v2: Marcin Slusarz <[email protected]> - regression fix: restore hw accelerated buffer copies Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nve0/copy: add initial support for the async copy enginesBen Skeggs4-0/+164
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nve0/fifo: support engine selection when creating fifo channelsBen Skeggs7-13/+64
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/device: return proper error codes if ioremap failsBen Skeggs1-3/+3
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/core: remove some left-over pieces from the porting processBen Skeggs3-21/+0
Reported-by: Marcin Slusarz <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nvc0-/gr: remove reset-after-grctx-construction hackBen Skeggs3-34/+9
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: add Kconfig options for debug controlBen Skeggs2-9/+29
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: port remainder of drm code, and rip out compat layerBen Skeggs70-4174/+3095
v2: Ben Skeggs <[email protected]> - fill in nouveau_pm.dev to prevent oops - fix ppc issues (build + OF shadow) Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/device: include the official chipset namesBen Skeggs9-1/+61
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/backlight: remove dependence on nouveau_drv.hBen Skeggs6-59/+60
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: flatten nv{Read,Write}{MC,VIDEO,FB,EXTDEV}Ben Skeggs6-76/+24
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: move compat ioctl out of nouveau_drv.hBen Skeggs5-5/+9
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/acpi: move definitions out of nouveau_drv.hBen Skeggs7-36/+40
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/mxm: split up into bios code and a subdev moduleBen Skeggs16-755/+952
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: start culling unused codeBen Skeggs8-239/+4
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: port all engines to new engine module formatBen Skeggs146-11099/+14219
This is a HUGE commit, but it's not nearly as bad as it looks - any problems can be isolated to a particular chipset and engine combination. It was simply too difficult to port each one at a time, the compat layers are *already* ridiculous. Most of the changes here are simply to the glue, the process for each of the engine modules was to start with a standard skeleton and copy+paste the old code into the appropriate places, fixing up variable names etc as needed. v2: Marcin Slusarz <[email protected]> - fix find/replace bug in license header v3: Ben Skeggs <[email protected]> - bump indirect pushbuf size to 8KiB, 4KiB barely enough for userspace and left no space for kernel's requirements during GEM pushbuf submission. - fix duplicate assignments noticed by clang v4: Marcin Slusarz <[email protected]> - add sparse annotations to nv04_fifo_pause/nv04_fifo_start - use ioread32_native/iowrite32_native for fifo control registers v5: Ben Skeggs <[email protected]> - rebase on v3.6-rc4, modified to keep copy engine fix intact - nv10/fence: unmap fence bo before destroying - fixed fermi regression when using nvidia gr fuc - fixed typo in supported dma_mask checking Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nvc0-/gr: generate grctx template at init time, not first context ctorBen Skeggs5-604/+460
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nvc0-/gr: share headers between fermi and kepler graphics codeBen Skeggs6-204/+143
v2: Ben Skeggs <[email protected]> - de-inline nv_icmd, triggers some gcc issue causing ctxnv[ce]0.c to take a *very* *very* long time to build on some configs. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/pageflip: kick flip handling out of engsw and into fenceBen Skeggs17-114/+265
This is all very much a policy thing, and hence will not belong in SW after the rework. engsw now only handles receiving the event to say "can flip now" and makes a callback to perform the actual work. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: move some more code around to more appropriate placesBen Skeggs4-342/+336
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nvc0-nve0/graph: rename dev to priv, no code changesBen Skeggs2-5170/+5170
There's a *lot* of code in here, and it's all going to use the PGRAPH priv pointer rather than drm_device after the engine rework. This is handling all the rename-only parts of the change. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/fence: un-port from nouveau_exec_engine interfacesBen Skeggs9-138/+124
Still the same code, but not an "engine" anymore. The fence code is more of a policy decision rather than exposing mechanisms, so it's not appropriate to port it to the new engine subsystem. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: pull nouveau_gem definitions into their own headerBen Skeggs2-33/+44
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: pull nouveau_bo definitions into their own headerBen Skeggs4-90/+97
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv04/disp: kick all private state out to own headerBen Skeggs14-171/+182
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/instmem: completely new implementation, as a subdev moduleBen Skeggs69-2169/+2777
v2 (Ben Skeggs): - some fixes for 64KiB PAGE_SIZE - fix porting issues in (currently unused) nv41/nv44 pciegart code Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau: remove last use of nouveau_gpuobj_new_fake()Ben Skeggs2-84/+72
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv50/instmem: remove use of nouveau_gpuobj_new_fake()Ben Skeggs1-17/+2
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/gpuobj: remove flags for vm-mappingsBen Skeggs8-74/+136
Having GPUOBJ and VM intertwined like this makes it *really* hard to continue porting to the new driver architecture, split it out in favour of requiring explit maps be the caller. It's more flexible and obvious this way anyway... Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/gpuobj: create wrapper functions for mapping gpuobj into vm/barBen Skeggs4-10/+44
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nvc0/fifo: handle bar1 control regs much like fifo/nve0Ben Skeggs1-19/+21
The partial mapping thing is stupid and pointless... Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv04-nv40/fifo: remove use of nouveau_gpuobj_new_fake()Ben Skeggs4-73/+50
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv04-nv40/instmem: remove use of nouveau_gpuobj_new_fake()Ben Skeggs7-100/+122
These type of fake objects will not be supported for much longer. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv04-nv40/instmem: duplicate nv04 code as nv40, remove alternate pathsBen Skeggs6-54/+202
A ton of duplication for the moment, will go away when they become subdevs. Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nouveau/fb: merge fb/vram and port to subdev interfacesBen Skeggs49-1345/+1691
Signed-off-by: Ben Skeggs <[email protected]>
2012-10-03drm/nv50-/instmem: allocate vram for kernel objects from end of vramBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <[email protected]>