- 14 Mar, 2011 2 commits
-
-
Marcin Slusarz authored
When "buffer in list" check does not pass, don't free validation lists - they were not initialized yet. Fixes this oops: [drm] nouveau 0000:02:00.0: push 105 buffer not in list BUG: unable to handle kernel NULL pointer dereference at 000000000000057c IP: [<ffffffff81236aa4>] do_raw_spin_lock+0x14/0x13c PGD 1ac6cb067 PUD 1aaa52067 PMD 0 CPU 0 Modules linked in: nouveau ttm drm_kms_helper snd_hda_codec_realtek snd_hda_intel snd_hda_codec Pid: 6265, comm: OilRush_x86 Not tainted 2.6.38-rc6-nv+ #632 System manufacturer System Product Name/P6T SE RIP: 0010:[<ffffffff81236aa4>] [<ffffffff81236aa4>] do_raw_spin_lock+0x14/0x13c (...) Process OilRush_x86 (pid: 6265, threadinfo ffff8801a6aee000, task ffff8801a26c0000) 0000000000000000 ffff8801ac74c618 0000000000000000 0000000000000578 0000000000000000 ffff8801ac74c618 0000000000000000 ffff8801bd9d0000 [<ffffffff81417f78>] _raw_spin_lock+0x1e/0x22 [<ffffffffa00a2746>] nouveau_bo_fence+0x2e/0x60 [nouveau] [<ffffffffa00a540b>] validate_fini_list+0x35/0xeb [nouveau] [<ffffffffa00a54d3>] validate_fini+0x12/0x31 [nouveau] [<ffffffffa00a6386>] nouveau_gem_ioctl_pushbuf+0xe94/0xf6b [nouveau] [<ffffffff8141ac56>] ? sub_preempt_count+0x9e/0xb2 [<ffffffff81417e94>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [<ffffffff8105dea2>] ? __wake_up+0x3f/0x48 [<ffffffff812aebb4>] drm_ioctl+0x289/0x361 [<ffffffff8141ac56>] ? sub_preempt_count+0x9e/0xb2 [<ffffffffa00a54f2>] ? nouveau_gem_ioctl_pushbuf+0x0/0xf6b [nouveau] [<ffffffff8141ac56>] ? sub_preempt_count+0x9e/0xb2 [<ffffffffa010caa2>] nouveau_compat_ioctl+0x16/0x1c [nouveau] [<ffffffff81142c0d>] compat_sys_ioctl+0x1c8/0x12d7 [<ffffffff814179ca>] ? trace_hardirqs_off_thunk+0x3a/0x6c [<ffffffff81058099>] sysenter_dispatch+0x7/0x30 [<ffffffff8141798e>] ? trace_hardirqs_on_thunk+0x3a/0x3c RIP [<ffffffff81236aa4>] do_raw_spin_lock+0x14/0x13c RSP <ffff8801a6aefb88> ---[ end trace 0014d5d93e6147e1 ]--- Additionally, don't call validate_fini twice in case of validation failure. Signed-off-by:
Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by:
Maarten Maathuis <madman2003@gmail.com> Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
Appears to be fixed with commit: "drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo" Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
- 04 Mar, 2011 2 commits
-
-
Dave Airlie authored
This allows libkms to make an easier decision. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Ben Skeggs authored
We're coming to see a need to have a set of generic capability checks in the core DRM, in addition to the driver-specific ioctls that already exist. This patch defines an ioctl to do as such, but does not yet define any capabilities. [airlied: drop the driver callback for now.] Signed-off-by:
Ben Skeggs <bskeggs@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 03 Mar, 2011 17 commits
-
-
Alex Deucher authored
hdmi 1.3 raises the max clock from 165 Mhz to 340 Mhz. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
* korg/drm-radeon-cayman: drm/radeon/kms: add cayman pci ids drm/radeon/kms: cayman/evergreen cs checker updates drm/radeon/kms/cayman: always set certain VGT regs at CP init drm/radeon/kms: additional default context regs for cayman drm/radeon/kms: add cayman CS check support drm/radeon/kms: add radeon_asic entry for cayman drm/radeon/kms: add cayman safe regs drm/radeon/kms/cayman: add asic init/startup/fini/suspend/resume functions drm/radeon/kms: add cayman asic reset support drm/radeon/kms: add support for cayman irqs drm/radeon/kms: add support for CP setup on cayman asics drm/radeon/kms: add support for cayman gart setup drm/radeon/kms: add gpu_init function for cayman drm/radeon/kms: add ucode loader for cayman drm/radeon/kms: add cayman chip family
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
These should be handled by the clear_state setup, but set them directly as well just to be sure. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Added to existing evergreen CS checker. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
For the CS checker. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Cayman is different enough from evergreen to warrant it's own functions. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Cayman asics have 3 ring buffers: ring 0 supports both gfx and compute rings 1 and 2 are compute only At the moment we only support ring 0. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
This patch sets up the gart in legacy mode. We probably want to switch to full VM mode at some point. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
This may some work to get accel going. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
The MC ucode is no longer loaded by the vbios tables as on previous asics. It now must be loaded by the driver. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Cayman is DCE5 display plus a new 4-way shader block. 3D state programming is similar to evergreen. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 01 Mar, 2011 4 commits
-
-
Dave Airlie authored
This allows userspace to work out how many DBs there are for conditional rendering to work. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
This could free things twice, just deref the GEM object and hope its enough. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
This lets r600g enable texture formats and some more extensions. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
This is required for NV_conditional_render and EXT_transform_feedback. v2: add evergreen support. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 28 Feb, 2011 1 commit
-
-
Dave Airlie authored
have to read values from the IB in order as we could cross a page boundary at any time and won't be able to go backwards. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 27 Feb, 2011 1 commit
-
-
Dan Carpenter authored
There are a bunch of off by one errors in the sanity checks here. Signed-off-by:
Dan Carpenter <error27@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 25 Feb, 2011 1 commit
-
-
Dave Airlie authored
Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (50 commits) drm/nv50: flesh out ZCULL init and match nvidia on later chipsets drm/nv50: support for compression drm/nv50-nvc0: delay GART binding until move_notify time drm/nouveau: rename nouveau_vram to nouveau_mem drm/nvc0: allow creation of buffers with any non-compressed memtype drm/nv50-nvc0: unmap buffers from the vm when they're evicted drm/nv50-nvc0: move vm bind/unbind to move_notify hook drm/nv50-nvc0: restrict memtype to those specified at creation time drm/nouveau: pass domain rather than ttm flags to gem_new() drm/nv50: simplify bo moves now that they're all through the vm drm/nouveau: remove no_vm/mappable flags from nouveau_bo drm/nouveau: Fix pageflip event drm/nouveau/vbios: parse more gpio tag bits from connector table drm/nouveau: decode PFIFO DMA_PUSHER error codes drm/nv50: fix typos in CCACHE error reporting drm/nvc0: support for sw methods + enable page flipping drm/nv50: enable page flipping drm/nv50-nvc0: activate/update ds channel's framebuffer on modesets drm/nv50-nvc0: initialise display sync channels drm/nv50-nvc0: precalculate some fb state when creating them ...
-
- 24 Feb, 2011 12 commits
-
-
Ben Skeggs authored
Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
The immediate benefit of doing this is that on NV50 and up, the GPU virtual address of any buffer is now constant, regardless of what memtype they're placed in. Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
This structure will also be used for GART in the near future. Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
This adds a table of known nvc0 memtypes, and modifies the validity check to allow any non-compressed type. Support for Z compression will come at a later point. Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
Upcoming patches are going to enable full support for buffers that keep a constant GPU virtual address whenever they're validated for use by the GPU. In order for this to work properly while keeping support for large pages, we need to know if it's ever going to be possible for a buffer to end up in GART, and if so, disable large pages for the buffer's VMA. This is a new restriction that's not present in earlier kernel's, but should not break userspace as the current code never attempts to validate buffers into a memtype other than it was created with. Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Ben Skeggs authored
'mappable' isn't really used at all, nor is it necessary anymore as the bo code is capable of moving buffers to mappable vram as required. 'no_vm' isn't necessary anymore either, any places that don't want to be mapped into a GPU address space should allocate the VRAM directly instead. Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-
Benjamin Franzke authored
Assign correct event when initializing nouveau_page_flip_state. Signed-off-by:
Ben Skeggs <bskeggs@redhat.com>
-