aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau: Fix bandwidth calculation for DisplayPortAdam Jackson2011-11-101-1/+1
| | | | | | | | | 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>
* drm/nouveau: by default use low bpp framebuffer on low memory cardsMarcin Slusarz2011-11-101-1/+10
| | | | | | | | | 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>
* drm/nv10: Change the BO size threshold determining the memory placement range.Francisco Jerez2011-11-101-1/+1
| | | | | | | | | | | 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>
* drm/nvc0: enable acceleration for nvc1 by defaultBen Skeggs2011-11-101-1/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0/gr: fixup the mmio list register writes for 0xc1Ben Skeggs2011-11-101-9/+32
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc1: hacky workaround to fix accel issuesBen Skeggs2011-11-101-0/+8
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0/gr: fix some bugs in grctx generationBen Skeggs2011-11-101-17/+14
| | | | | | | | | 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>
* drm/nvc0: enable acceleration on 0xc8 by defaultBen Skeggs2011-11-101-1/+0
| | | | | | | 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>
* drm/nvc0/vram: skip disabled PBFB subunitsBen Skeggs2011-11-101-5/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv40/pm: fix issues on igp chipsets, which don't have memoryBen Skeggs2011-11-101-5/+15
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: testing the wrong variableDan Carpenter2011-11-101-1/+1
| | | | | | | | 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>
* drm/nvc0/vram: storage type 0xc3 is not compressedChristoph Bumiller2011-11-101-1/+1
| | | | | Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50: fix stability issue on NV86.Maxim Levitsky2011-11-101-1/+1
| | | | | | | 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>
* drm/nouveau: initialize chan->fence.lock before useMarcin Slusarz2011-11-102-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* drm/nv50/vram: fix incorrect detection of bank count on newer chipsetsBen Skeggs2011-11-101-1/+1
| | | | | | NVA3+ has an extra bit here compared to NV50:NVA3 chipsets. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/gr: typo fix, how about we not reset fifo during graph init?Ben Skeggs2011-11-101-2/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/bios: fixup mpll programming from the init table parserBen Skeggs2011-11-101-9/+13
| | | | | | | 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>
* drm/nouveau: fix oops if i2c bus not found in nouveau_i2c_identify()Ben Skeggs2011-11-101-1/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* gpu: add module.h to drivers/gpu files as required.Paul Gortmaker2011-10-314-0/+6
| | | | | | | 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>
* Revert "drm/ttm: add a way to bo_wait for either the last read or last write"Dave Airlie2011-10-272-5/+3
| | | | | | | | | 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>
* Merge branch 'drm-nouveau-next' of ↵Dave Airlie2011-09-2056-1597/+4217
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ...
| * drm/nouveau: remove allocations from gart populate() hookBen Skeggs2011-09-201-45/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * drm/nvc0/fb: slightly improve PMFB intr handling, move out of nvc0_graph.cBen Skeggs2011-09-202-18/+27
| | | | | | | | | | | | | | 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>
| * drm/nvc0/fifo: avoid touching missing subfifosBen Skeggs2011-09-201-1/+1
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvd9/disp: bail out of mode_set_base if no fb bound to crtcBen Skeggs2011-09-201-0/+5
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvd9/disp: stub some more api hooks so we don't oops on resumeBen Skeggs2011-09-201-0/+12
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix printk typo in ioremap failure pathMarcin Slusarz2011-09-201-1/+1
| | | | | | | | | | Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvc0/pm: minor clock readback fixesBen Skeggs2011-09-201-2/+6
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40/pm: execute memory reset script from vbiosBen Skeggs2011-09-203-0/+16
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50/gr: refactor initialisationBen Skeggs2011-09-201-81/+37
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: if requested, try harder at disabling sysmem pushbufsBen Skeggs2011-09-201-6/+10
| | | | | | | | | | | | On >=nv50, userspace would still end up allocating pushbufs in GART. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50/gr: enable ctxprog xfer only when we need it to save powerMartin Peres2011-09-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * drm/nouveau/dp: add support for displayport table 0x30Ben Skeggs2011-09-201-22/+48
| | | | | | | | | | | | | | 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>
| * drm/nouveau/dp: return master dp table pointer too when looking up encoderBen Skeggs2011-09-204-70/+66
| | | | | | | | | | | | | | 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>
| * drm/nouveau/bios: simplify U/d table hash matching func to just matchBen Skeggs2011-09-202-51/+40
| | | | | | | | | | | | | | The caller is now responsible for parsing its own lists (or whatever) of possible encoders. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: preserve non-pattern bits in DP_TRAINING_PATTERN_SETBen Skeggs2011-09-201-1/+8
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvc0/gr: remove MODULE_FIRMWARE() linesBen Skeggs2011-09-201-17/+0
| | | | | | | | | | | | | | 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>
| * drm/nouveau/dp: use alternate lane mask for nvafBen Skeggs2011-09-201-1/+10
| | | | | | | | | | | | | | Naturally... Because Macs can't just be the same as everything else now can they? Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: link rate scripts are selected with a comparison tableBen Skeggs2011-09-201-4/+3
| | | | | | | | | | | | Not hardcoded as originally thought. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40/pm: write nv40-specific reclocking routinesBen Skeggs2011-09-204-4/+342
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * drm/nv40/pm: parse geometric delta clock from vbiosBen Skeggs2011-09-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * drm/nouveau/dp: enable down-spread if vbios and sink support itBen Skeggs2011-09-202-29/+20
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: execute some more vbios tables relating to link rateBen Skeggs2011-09-201-5/+21
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: store unencoded link_bw everywhereBen Skeggs2011-09-203-20/+24
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: restructure link training codeBen Skeggs2011-09-204-352/+206
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: pass in required datarate to link trainingBen Skeggs2011-09-204-7/+11
| | | | | | | | | | | | | | Not used currently, but it will be used in preference to pre-determined lane/bandwidth numbers at a later point. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/bios: check for null script pointers in parserBen Skeggs2011-09-201-0/+4
| | | | | | | | | | | | Allows us to be lazy elsewhere... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nva3/backlight: add suppport for newer style backlight regsBen Skeggs2011-09-202-12/+64
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50/backlight: express brightness level in percentBen Skeggs2011-09-201-3/+7
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50/backlight: take the sor into account when bashing regsBen Skeggs2011-09-205-31/+52
| | | | | | | | | | | | | | I'm sure that out there somewhere, someone will need this. We currently haven't seen an example of LVDS being on a non-0 SOR so far though. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>