summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'drm-nouveau-next' of ↵Dave Airlie2011-06-275-45/+47
|\ | | | | | | | | | | | | | | | | | | | | git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-core-next * 'drm-nouveau-next' of git://git.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau: error paths leak in nvc0_graph_construct_context() drm/nouveau: Calculate reserved VRAM for PRAMIN value before use. drm/nouveau: fix nouveau_vma object leak drm/nouveau: fix nouveau_mem object leak drm/nouveau: fix fetching vbios from above 4GiB vram addresses
| * drm/nouveau: error paths leak in nvc0_graph_construct_context()Dan Carpenter2011-06-271-10/+12
| | | | | | | | | | | | | | Two of these error paths returned without freeing "ctx". Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: Calculate reserved VRAM for PRAMIN value before use.Younes Manton2011-06-272-28/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | 'drm/nouveau: rework vram init/fini ordering a little' changed the order of instmem.init() and nouveau_mem_vram_init() which resulted in using ramin_rsvd_vram before it was calculated and failing to init any accel on pre-NV50 cards. Since it's only used on <NV50 just calculate it where it's needed and leave it as default 0 for NV50. Signed-off-by: Younes Manton <younes.m@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix nouveau_vma object leakMarcin Slusarz2011-06-271-1/+3
| | | | | | | | | | Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix nouveau_mem object leakMarcin Slusarz2011-06-271-1/+1
| | | | | | | | | | | | | | | | It's a regression from "drm/nouveau: create temp vmas for both src and dst of bo moves". Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix fetching vbios from above 4GiB vram addressesBen Skeggs2011-06-271-5/+6
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | Merge branch 'drm-nouveau-next' of ↵Dave Airlie2011-06-2343-719/+4105
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-core-next * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (58 commits) drm/nouveau: fix off-by-one drm/nouveau/temp: Add default calibration values for nv67 drm/nouveau/temp: Fix signed/unsigned int logic drm/nvc0: push prunk140 irq messages to debug loglevel drm/nouveau: un-blacklist nvce accel drm/nouveau: fix null pointer deref on pre-nv50 chipsets drm/nouveau: rework vram init/fini ordering a little drm/nouveau: shut lockdep up if last vm ref needs to destroy pgd drm/nouveau: fix display takedown order to match reverse init order drm/nvc0: enable per-client address spaces drm/nouveau: add some debug output if nouveau_mm busy at destroy time drm/nv50: enable use of per-client gpu address space drm/nouveau: remove implicit mapping of every bo into chan_vm drm/nouveau: remove 'chan' argument from nouveau_bo_new drm/nouveau: fixup gem_info ioctl to return client-specific bo virtual drm/nvc0: explicitly map PDISP semaphore buffer into each channel's vm drm/nv50-nvc0: lookup pushbuf virtual address on dma_push drm/nv84-nvc0: explicitly map semaphore buffer into channel vm drm/nv50-nvc0: explicitly map pushbuf bo into channel vm drm/nv50-nvc0: explicitly map notifier bo into channel vm ...
| * drm/nouveau: fix off-by-oneBen Skeggs2011-06-231-1/+1
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/temp: Add default calibration values for nv67Emil Velikov2011-06-231-0/+7
| | | | | | | | | | Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/temp: Fix signed/unsigned int logicEmil Velikov2011-06-232-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Many (all?) of the coefficients related to calculating the correct temperature are signed integers This patch correcly parses and stores those values It also ensures that the default offset is 0 (previously 1) Affected cards - the original nv50 and the nv40 family Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvc0: push prunk140 irq messages to debug loglevelBen Skeggs2011-06-231-1/+1
| | | | | | | | | | | | | | We know they happen, we don't know why. They're annoying, so hide them from users for the moment. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: un-blacklist nvce accelBen Skeggs2011-06-231-1/+0
| | | | | | | | | | | | Reported working on IRC. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix null pointer deref on pre-nv50 chipsetsBen Skeggs2011-06-231-5/+11
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: rework vram init/fini ordering a littleBen Skeggs2011-06-236-53/+59
| | | | | | | | | | | | | | | | | | | | | | | | Commit "drm/nouveau: add some debug output if nouveau_mm busy at destroy time" revealed an issue where vram mm takedown would actually fail due to there still being nodes present, causing nouveau to leak a small amount of memory on module unload. This splits TTM/nouveau_mm a bit more cleanly and ensures nouveau_mm fini isn't done until all gpuobjs are also destroyed. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: shut lockdep up if last vm ref needs to destroy pgdBen Skeggs2011-06-231-8/+11
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix display takedown order to match reverse init orderBen Skeggs2011-06-231-5/+6
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvc0: enable per-client address spacesBen Skeggs2011-06-233-40/+55
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: add some debug output if nouveau_mm busy at destroy timeBen Skeggs2011-06-232-3/+10
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: enable use of per-client gpu address spaceBen Skeggs2011-06-231-1/+11
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: remove implicit mapping of every bo into chan_vmBen Skeggs2011-06-234-11/+43
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: remove 'chan' argument from nouveau_bo_newBen Skeggs2011-06-239-18/+15
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fixup gem_info ioctl to return client-specific bo virtualBen Skeggs2011-06-231-12/+20
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvc0: explicitly map PDISP semaphore buffer into each channel's vmBen Skeggs2011-06-233-2/+19
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0: lookup pushbuf virtual address on dma_pushBen Skeggs2011-06-231-1/+6
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv84-nvc0: explicitly map semaphore buffer into channel vmBen Skeggs2011-06-232-16/+14
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0: explicitly map pushbuf bo into channel vmBen Skeggs2011-06-232-1/+9
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0: explicitly map notifier bo into channel vmBen Skeggs2011-06-233-4/+15
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0: explicitly map fbcon fb into channel vmBen Skeggs2011-06-234-10/+22
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: initial changes to support multiple VMAs per buffer objectBen Skeggs2011-06-233-26/+80
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0: completely disable relocsBen Skeggs2011-06-231-17/+20
| | | | | | | | | | | | | | | | | | | | GPU virtual addresses are constant now so this should never be getting hit anyway and userspace shouldn't break from them being ignored. This is being done in preference to teaching the code how to deal with BOs that exist at different virtual addresses within separate VMs. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: convert bo.mem.start usage to bo.offsetBen Skeggs2011-06-238-12/+10
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: convert some bo.offset use to vma.offsetBen Skeggs2011-06-235-7/+9
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: create temp vmas for both src and dst of bo movesBen Skeggs2011-06-233-107/+64
| | | | | | | | | | | | | | | | | | Greatly simplifies a number of things, particularly once per-client GPU address spaces are involved. May add this back later once I know what things'll look like. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: store bo's page size in nouveau_boBen Skeggs2011-06-233-19/+15
| | | | | | | | | | | | | | | | Was previously assuming a page size of 4KiB unless a VMA was present to override it. Eventually, a buffer won't necessarily have a VMA at all at some stages of its life, so we need to store this info elsewhere. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: skip move_notify() if bo does not have a vma attachedBen Skeggs2011-06-231-4/+2
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: will need to specify channel for vm-ful gpuobj allocationsBen Skeggs2011-06-236-14/+19
| | | | | | | | | | | | | | | | | | Abuses existing gpuobj_new() chan argument for this, which in turn forces all NVOBJ_FLAG_VM allocations to be done from the global heap, not suballocated from the channel's private heap. Not a problem though in practise. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: initialise any vm for a channel before pushbuf/ntfyBen Skeggs2011-06-231-66/+48
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: modify gpuobj/ntfy takedown orderingBen Skeggs2011-06-233-3/+4
| | | | | | | | | | | | gpuobj really needs splitting into channel/gpuobj code instead... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/gem: implement stub hooks for GEM object open/closeBen Skeggs2011-06-233-0/+25
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: remove 'chan' argument from nouveau_gem_newBen Skeggs2011-06-234-21/+11
| | | | | | | | | | | | | | Userspace hasn't passed us a channel_hint for a long long time now, and there isn't actually a need to do so anymore anyway. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0/chan: inherit vm from fpriv, rather than chan_vm directlyBen Skeggs2011-06-231-4/+4
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0/vm: take client reference on shared channel vmBen Skeggs2011-06-232-0/+6
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-nvc0/vm: don't touch chan_vmBen Skeggs2011-06-232-2/+6
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: no need to update bo.offset from vma after validateBen Skeggs2011-06-231-2/+0
| | | | | | | | | | | | | | On chipsets using nouveau_vm, the virtual address stays constant, so the value set at bo creation time is fine. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: store a per-client channel listBen Skeggs2011-06-236-26/+32
| | | | | | | | | | | | | | Removes the need to disable IRQs to lookup channel struct on every pushbuf ioctl, among others. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: use NULL file_priv for DRM-created channelsBen Skeggs2011-06-231-2/+2
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: allocate structure to store per-client dataBen Skeggs2011-06-233-1/+32
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: silence error for missing dac loadval tableBen Skeggs2011-06-231-1/+1
| | | | | | | | | | | | | | There's lots of boards (all recent ones) that don't have this anymore, so punt the message to debug loglevel. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: DCB table quirks for another busted XFX boardBen Skeggs2011-06-231-0/+31
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: log if accel is disabled by default on a chipsetBen Skeggs2011-06-231-0/+2
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud