1. 15 3月, 2011 1 次提交
    • D
      Merge remote branch 'nouveau/drm-nouveau-next' of ../drm-nouveau-next into drm-core-next · 235b87af
      Dave Airlie 提交于
      * 'nouveau/drm-nouveau-next' of ../drm-nouveau-next:
        drm/nouveau: fix __nouveau_fence_wait performance
        drm/nv40: attempt to reserve just enough vram for all 32 channels
        drm/nv50: check for vm traps on every gr irq
        drm/nv50: decode vm faults some more
        drm/nouveau: add nouveau_enum_find() util function
        drm/nouveau: properly handle pushbuffer check failures
        drm/nvc0: remove vm hack forcing large/small pages to not share a PDE
      235b87af
  2. 14 3月, 2011 9 次提交
    • M
      drm/nouveau: fix __nouveau_fence_wait performance · bd35fe5a
      Marcin Slusarz 提交于
      Commit 21e86c1c ("drm/nouveau: remove
      cpu_writers lock") turned on lazy waits. Unfortunately
      __nouveau_fence_wait was not optimized for this case and on HZ=100
      kernel wasted up to 10 ms per call.
      
      Depending on application, it led to 10-30% FPS regression.
      
      Fix it.
      Signed-off-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Signed-off-by: NFrancisco Jerez <currojerez@riseup.net>
      bd35fe5a
    • B
      drm/nv40: attempt to reserve just enough vram for all 32 channels · 459ca7e5
      Ben Skeggs 提交于
      This also makes the fact we're giving 512MiB of GART space to all PCIE
      boards explicit, although the vast majority (if not all) of them will
      now have a ramin_rsvd_vram larger than 2MiB anyway.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      459ca7e5
    • B
      drm/nv50: check for vm traps on every gr irq · 6fdb383e
      Ben Skeggs 提交于
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      6fdb383e
    • B
      drm/nv50: decode vm faults some more · 312d1d5f
      Ben Skeggs 提交于
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      312d1d5f
    • B
      drm/nouveau: add nouveau_enum_find() util function · bb9b18a3
      Ben Skeggs 提交于
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      bb9b18a3
    • M
      drm/nouveau: properly handle pushbuffer check failures · 7fa0cba2
      Marcin Slusarz 提交于
      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: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Signed-off-by: NMaarten Maathuis <madman2003@gmail.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      7fa0cba2
    • B
      drm/nvc0: remove vm hack forcing large/small pages to not share a PDE · b84f30e6
      Ben Skeggs 提交于
      Appears to be fixed with commit:
      
      "drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo"
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      b84f30e6
    • D
      drm/i915: disable opregion lid detection for now. · bcd5023c
      Dave Airlie 提交于
      At least on my HP 2540p this is wrong at bootup, fine
      at any other time once a lid event has occured. This is due to
      _REG vs _INI ordering in the ACPI tables.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      bcd5023c
    • D
      Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next · 34db18ab
      Dave Airlie 提交于
      * 'intel/drm-intel-next' of ../drm-next: (755 commits)
        drm/i915: Only wait on a pending flip if we intend to write to the buffer
        drm/i915/dp: Sanity check eDP existence
        drm/i915: Rebind the buffer if its alignment constraints changes with tiling
        drm/i915: Disable GPU semaphores by default
        drm/i915: Do not overflow the MMADDR write FIFO
        Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing"
        drm/i915: Don't save/restore hardware status page address register
        drm/i915: don't store the reg value for HWS_PGA
        drm/i915: fix memory corruption with GM965 and >4GB RAM
        Linux 2.6.38-rc7
        Revert "TPM: Long default timeout fix"
        drm/i915: Re-enable GPU semaphores for SandyBridge mobile
        drm/i915: Replace vblank PM QoS with "Interrupt-Based AGPBUSY#"
        Revert "drm/i915: Use PM QoS to prevent C-State starvation of gen3 GPU"
        drm/i915: Allow relocation deltas outside of target bo
        drm/i915: Silence an innocuous compiler warning for an unused variable
        fs/block_dev.c: fix new kernel-doc warning
        ACPI: Fix build for CONFIG_NET unset
        mm: <asm-generic/pgtable.h> must include <linux/mm_types.h>
        x86: Use u32 instead of long to set reset vector back to 0
        ...
      
      Conflicts:
      	drivers/gpu/drm/i915/i915_gem.c
      34db18ab
  3. 07 3月, 2011 5 次提交
  4. 06 3月, 2011 2 次提交
  5. 04 3月, 2011 2 次提交
  6. 03 3月, 2011 17 次提交
  7. 02 3月, 2011 4 次提交