summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
Commit message (Collapse)AuthorAgeFilesLines
* 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/+21Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+37Star
| | | | | | | | 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/+66Star
| | | | | | | | | | | | | | 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/+40Star
| | | | | | | | | | | | | | 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/+0Star
| | | | | | | | | | | | | | 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/+3Star
| | | | | | | | | | | | 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/+20Star
| | | | | | | | 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/+206Star
| | | | | | | | 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>
| * drm/nouveau/backlight: make more consistent with rest of driver styleBen Skeggs2011-09-201-31/+39
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: tidy connector hotplug handler, punt messages to debugBen Skeggs2011-09-201-15/+6Star
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: remove reliance on vbios for native displayportBen Skeggs2011-09-206-63/+126
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: rewrite auxch transaction routinesBen Skeggs2011-09-202-105/+132
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: workaround semaphore hw bug causing unnecessary interruptsBen Skeggs2011-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | The HW will only accept the DMA_FROM_MEMORY class for DMA_SEMAPHORE without asking the driver to intervene. It appears that semaphores will work correctly even without DMA_IN_MEMORY, so lets avoid the large amount of interrupts generated by x-chan sync. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/tmr: fix miscalculation of ratio on pre-nv4x chipsetsBen Skeggs2011-09-201-26/+2Star
| | | | | | | | | | | | | | | | The clock_get() hook returns KHz, not Hz. Also fixed to use crystal freq from dev_priv. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nva3/pm: fixup for NVAF specialBen Skeggs2011-09-201-1/+7
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nva3/pm: use crystal freq where appropriateBen Skeggs2011-09-201-3/+4
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: determine timing crystal freq from strapsBen Skeggs2011-09-202-1/+19
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nva3/pm: pll disabled if bit 0 of ctrl not setBen Skeggs2011-09-201-19/+23
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: magic to make auxch on new macbooks booted in EFI mode workBen Skeggs2011-09-201-1/+4
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/pm: Document and expose CL and WR for 0x1002CxRoy Spliet2011-09-202-14/+21
| | | | | | | | Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl>
| * drm/nouveau/pm: add initial NV3x/NVCx memtiming support, improve other cardsRoy Spliet2011-09-204-143/+206
| | | | | | | | | | | | | | | | | | | | | | | | NV30: Create framework for memtm NV50: Improve reg creation, NV50: Use P.version instead of card codename/stepping, NVC0: Initial memtiming code for Fermi, Renamed regs for consistency, Overall redesign to improve readability, Avoid kfree on null-pointer Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl>
| * drm/nouveau: remove special-casing of hotplug detection typeBen Skeggs2011-09-201-9/+5Star
| | | | | | | | | | | | | | If we support PGPIO interrupts, and know a hotplug GPIO tag for a connector we use HPD, otherwise POLL_CONNECT. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvd0: no page flipping at the momentBen Skeggs2011-09-201-1/+1
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvc0/gr: remove max tpc count infoBen Skeggs2011-09-201-6/+2Star
| | | | | | | | | | | | Just assume a max of 16 everywhere, and hope it's okay. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvd0: lets not attempt to dereference a nv50_display pointerBen Skeggs2011-09-201-4/+8
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: enable hwmon support when both nouveau/hwmon are built as modules.Ken Milmore2011-09-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | The nouveau hwmon temperature support currently only functions when hwmon is compiled into the kernel. There's no reason why this shouldn't also work when both hwmon and nouveau are modularised (as is the case with Slackware's stock kernels). Signed-off-by: Ken Milmore <ken.milmore@googlemail.com> Reviewed-by: Martin Peres <martin.peres@ensi-bourges.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvd0/disp: tidy up what we have so farBen Skeggs2011-09-202-64/+39Star
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvd0/disp: rewrite irq handler, should be somewhat sturdier nowBen Skeggs2011-09-201-81/+111
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>