summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
AgeCommit message (Collapse)Author
2011-11-30drm/nv50/disp: silence compiler warningBen Skeggs
NFI why this only started appearing now. The use of the uninitialised var can't actually happen, so perhaps my compiler just got stupider. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-30drm/nouveau: fix oopses caused by clear being called on unpopulated ttmsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-30drm/nouveau: Keep RAMIN heap within the channel.Younes Manton
The entire RAMIN is allocated to be 'size', but the heap is specified as 'base' + 'size' inside RAMIN, so it will overflow past RAMIN by 'base' bytes on NV50+ and clobber other allocatons unless it's size is adjusted. Signed-off-by: Younes Manton <younes.m@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-30drm/nvd0/disp: fix sor dpms typo, preventing dpms on in some situationsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-30drm/nvc0/gr: fix TP init for transform feedback offset queriesChristoph Bumiller
Without this, they return bytes written since the last update of the offset, but we want the full offset. Trace shows setting this on GPC[0]/TP[0] is enough. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-30drm/nouveau: add dumb ioctl supportBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nouveau: Fix bandwidth calculation for DisplayPortAdam Jackson
Ported from the equivalent fix in drm-intel-next: http://cgit.freedesktop.org/~keithp/linux/commit/?h=drm-intel-next&id=cd9dde44f47501394b9f0715b6a36a92aa74c0d0 Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nouveau: by default use low bpp framebuffer on low memory cardsMarcin Slusarz
Framebuffer's BPP is not that important but can waste significant part of memory on low-VRAM cards. Lower it to 8bpp on < 32MB cards and to 16bpp on 64MB cards. It can still be overridden by video= option. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nv10: Change the BO size threshold determining the memory placement range.Francisco Jerez
Fixes the framebuffer memory allocation failure seen on some low-memory cards, followed by X refusing to start. https://bugs.freedesktop.org/show_bug.cgi?id=42384 Reported-by: Chris Paulson-Ellis <chris@edesix.com> Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nvc0: enable acceleration for nvc1 by defaultBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nvc0/gr: fixup the mmio list register writes for 0xc1Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nvc1: hacky workaround to fix accel issuesBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nvc0/gr: fix some bugs in grctx generationBen Skeggs
Most serious is for chips with only 1 TPC, we'd get stuck in an infinite loop. The fix here will slightly change the setup for all other chipsets too, but, it shouldn't matter too much, and this all needs figuring out and likely redone anyway. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nvc0: enable acceleration on 0xc8 by defaultBen Skeggs
Worked well enough for glxgears and gnome-shell at least, no reason to have this off anymore. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nvc0/vram: skip disabled PBFB subunitsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nv40/pm: fix issues on igp chipsets, which don't have memoryBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nouveau: testing the wrong variableDan Carpenter
memtimings is a valid pointer here, the intent was to test for kcalloc() failure. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nvc0/vram: storage type 0xc3 is not compressedChristoph Bumiller
Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nv50: fix stability issue on NV86.Maxim Levitsky
Confirmed to fix random hangs while running all Unegine demos on NV86. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nouveau: initialize chan->fence.lock before useMarcin Slusarz
Fence lock needs to be initialized before any call to nouveau_channel_put because it calls nouveau_channel_idle->nouveau_fence_update which uses fence lock. BUG: spinlock bad magic on CPU#0, test/24134 lock: ffff88019f90dba8, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0 Pid: 24134, comm: test Not tainted 3.0.0-nv+ #800 Call Trace: spin_bug+0x9c/0xa3 do_raw_spin_lock+0x29/0x13c _raw_spin_lock+0x1e/0x22 nouveau_fence_update+0x2d/0xf1 nouveau_channel_idle+0x22/0xa0 nouveau_channel_put_unlocked+0x84/0x1bd nouveau_channel_put+0x20/0x24 nouveau_channel_alloc+0x4ec/0x585 nouveau_ioctl_fifo_alloc+0x50/0x130 drm_ioctl+0x289/0x361 do_vfs_ioctl+0x4dd/0x52c sys_ioctl+0x42/0x65 system_call_fastpath+0x16/0x1b It's easily triggerable from userspace. Additionally remove double initialization of chan->fence.pending. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Cc: stable@kernel.org Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nv50/vram: fix incorrect detection of bank count on newer chipsetsBen Skeggs
NVA3+ has an extra bit here compared to NV50:NVA3 chipsets. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nv50/gr: typo fix, how about we not reset fifo during graph init?Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nv50/bios: fixup mpll programming from the init table parserBen Skeggs
Reportedly this has been causing stability and corruption issues after resuming from suspend for a few people. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-11-10drm/nouveau: fix oops if i2c bus not found in nouveau_i2c_identify()Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-10-31gpu: add module.h to drivers/gpu files as required.Paul Gortmaker
So that we don't get build failures once the implicit module.h presence is removed. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-10-27Revert "drm/ttm: add a way to bo_wait for either the last read or last write"Dave Airlie
This reverts commit dfadbbdb57b3f2bb33e14f129a43047c6f0caefa. Further upstream discussion between Marek and Thomas decided this wasn't fully baked and needed further work, so revert it before it hits mainline. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-09-20Merge branch 'drm-nouveau-next' of ↵Dave Airlie
git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-next * 'drm-nouveau-next' of git://git.freedesktop.org/git/nouveau/linux-2.6: (353 commits) drm/nouveau: remove allocations from gart populate() hook drm/nvc0/fb: slightly improve PMFB intr handling, move out of nvc0_graph.c drm/nvc0/fifo: avoid touching missing subfifos drm/nvd9/disp: bail out of mode_set_base if no fb bound to crtc drm/nvd9/disp: stub some more api hooks so we don't oops on resume drm/nouveau: fix printk typo in ioremap failure path drm/nvc0/pm: minor clock readback fixes drm/nv40/pm: execute memory reset script from vbios drm/nv50/gr: refactor initialisation drm/nouveau: if requested, try harder at disabling sysmem pushbufs drm/nv50/gr: enable ctxprog xfer only when we need it to save power drm/nouveau/dp: add support for displayport table 0x30 drm/nouveau/dp: return master dp table pointer too when looking up encoder drm/nouveau/bios: simplify U/d table hash matching func to just match drm/nouveau/dp: preserve non-pattern bits in DP_TRAINING_PATTERN_SET drm/nvc0/gr: remove MODULE_FIRMWARE() lines drm/nouveau/dp: use alternate lane mask for nvaf drm/nouveau/dp: link rate scripts are selected with a comparison table drm/nv40/pm: write nv40-specific reclocking routines drm/nv40/pm: parse geometric delta clock from vbios ...
2011-09-20drm/nouveau: remove allocations from gart populate() hookBen Skeggs
Since some somewhat questionable changes a while back, TTM provides a completely empty array of struct dma_address that stays around for the entire lifetime of the TTM object. Lets use this array, *always*, rather than wasting yet more memory on another array who's purpose is identical, as well as yet another bool array of the same size saying *which* of the previous two arrays to use... This change will also solve the high order allocation failures seen by some people while using nouveau. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nvc0/fb: slightly improve PMFB intr handling, move out of nvc0_graph.cBen Skeggs
I'm still not certain how to determine the number of SUBPs are present on a given board. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nvc0/fifo: avoid touching missing subfifosBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nvd9/disp: bail out of mode_set_base if no fb bound to crtcBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nvd9/disp: stub some more api hooks so we don't oops on resumeBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau: fix printk typo in ioremap failure pathMarcin Slusarz
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nvc0/pm: minor clock readback fixesBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nv40/pm: execute memory reset script from vbiosBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nv50/gr: refactor initialisationBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau: if requested, try harder at disabling sysmem pushbufsBen Skeggs
On >=nv50, userspace would still end up allocating pushbufs in GART. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nv50/gr: enable ctxprog xfer only when we need it to save powerMartin Peres
This patch adds instructions to ctxprog and by doing, impacts context switching performance. My testcase showed a 1% performance cost using glxgears that is a context-switch bound application. Please test and report bugs/performance/power/other. Many thanks to Maxim Levitsky for his dedicated work on lowering power consumption with nouveau. More patches are coming thanks to his work: https://bugs.freedesktop.org/show_bug.cgi?id=37922 Signed-off-by: Martin Peres <martin.peres@ensi-bourges.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: add support for displayport table 0x30Ben Skeggs
Written from observations of my NVD9's vbios, completely untested due to my NVD9 lacking actual DisplayPort connectors.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: return master dp table pointer too when looking up encoderBen Skeggs
Will need to be able to distinguish 2.0/2.1 from 3.0 soon. Also, move the vbios parsing to nouveau_dp where it belongs. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/bios: simplify U/d table hash matching func to just matchBen Skeggs
The caller is now responsible for parsing its own lists (or whatever) of possible encoders. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: preserve non-pattern bits in DP_TRAINING_PATTERN_SETBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nvc0/gr: remove MODULE_FIRMWARE() linesBen Skeggs
We don't use these by default anymore, and there's been complaints from a number of places thinking that the firmware blobs are required still. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: use alternate lane mask for nvafBen Skeggs
Naturally... Because Macs can't just be the same as everything else now can they? Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: link rate scripts are selected with a comparison tableBen Skeggs
Not hardcoded as originally thought. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nv40/pm: write nv40-specific reclocking routinesBen Skeggs
Not 100% perfect yet, but a good start towards what it'll look like in the end. Actually seems stable on a NV44 I have here, as much as running around OA for a fair amount of time constantly switching between performance levels can prove.. My NV49 isn't quite so happy, and semaphores mess up somehow (sometimes) as a result of the memory reclocking. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nv40/pm: parse geometric delta clock from vbiosBen Skeggs
This changes the meaning of what we reported as "core" clock previously. The shader/rop units are allegedly supposed to be run at the base clock listed in the perf table, while the geometric clock can be bumped from this value on some boards. So that we can report both, we'll report the base clock as "shader" (since the shaders *do* run at it), and the geometric clock as "core". Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: enable down-spread if vbios and sink support itBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: execute some more vbios tables relating to link rateBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-09-20drm/nouveau/dp: store unencoded link_bw everywhereBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>