1. 26 3月, 2014 1 次提交
  2. 23 1月, 2014 1 次提交
  3. 14 11月, 2013 1 次提交
  4. 08 11月, 2013 4 次提交
  5. 29 8月, 2013 1 次提交
    • D
      nouveau: add runtime PM support (v0.9) · 5addcf0a
      Dave Airlie 提交于
      This hooks nouveau up to the runtime PM system to enable
      dynamic power management for secondary GPUs in switchable
      and optimus laptops.
      
      a) rewrite suspend/resume printks to hide them during dynamic s/r
      to avoid cluttering logs
      b) add runtime pm suspend to irq handler, crtc display, ioctl handler,
      connector status,
      c) handle hdmi audio dynamic power on/off using magic register.
      
      v0.5:
      make sure we hit D3 properly
      fix fbdev_set_suspend locking interaction, we only will poweroff if we have no
      active crtcs/fbcon anyways.
      add reference for active crtcs.
      sprinkle mark last busy for autosuspend timeout
      
      v0.6:
      allow more flexible debugging - to avoid log spam
      add option to enable/disable dynpm
      got to D3Cold
      
      v0.7:
      add hdmi audio support.
      
      v0.8:
      call autosuspend from idle, so pci config space access doesn't go straight
      back to sleep, this makes starting X faster.
      only signal usage if we actually handle the irq, otherwise usb keeps us awake.
      fix nv50 display active powerdown
      
      v0.9:
      use masking function to enable hdmi audio
      set busy when we fail to suspend
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      5addcf0a
  6. 08 7月, 2013 1 次提交
  7. 26 4月, 2013 1 次提交
  8. 29 3月, 2013 1 次提交
    • M
      drm/nouveau: fix NULL ptr dereference from nv50_disp_intr() · e4604d8f
      Maarten Lankhorst 提交于
      Op 23-03-13 12:47, Peter Hurley schreef:
      > On Tue, 2013-03-19 at 11:13 -0400, Peter Hurley wrote:
      >> On vanilla 3.9.0-rc3, I get this 100% repeatable oops after login when
      >> the user X session is coming up:
      > Perhaps I wasn't clear that this happens on every boot and is a
      > regression from 3.8
      >
      > I'd be happy to help resolve this but time is of the essence; it would
      > be a shame to have to revert all of this for 3.9
      
      Well it broke on my system too, so it was easy to fix.
      
      I didn't even need gdm to trigger it!
      
      >8----
      This fixes regression caused by 1d7c71a3 (drm/nouveau/disp: port vblank handling to event interface),
      
      which causes a oops in the following way:
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000001
      IP: [<0000000000000001>] 0x0
      PGD 0
      Oops: 0010 [#1] PREEMPT SMP
      Modules linked in: ip6table_filter ip6_tables ebtable_nat ebtables ...<snip>...
      CPU 3
      Pid: 0, comm: swapper/3 Not tainted 3.9.0-rc3-xeon #rc3 Dell Inc. Precision WorkStation T5400  /0RW203
      RIP: 0010:[<0000000000000001>]  [<0000000000000001>] 0x0
      RSP: 0018:ffff8802afcc3d80  EFLAGS: 00010087
      RAX: ffff88029f6e5808 RBX: 0000000000000001 RCX: 0000000000000000
      RDX: 0000000000000096 RSI: 0000000000000001 RDI: ffff88029f6e5808
      RBP: ffff8802afcc3dc8 R08: 0000000000000000 R09: 0000000000000004
      R10: 000000000000002c R11: ffff88029e559a98 R12: ffff8802a376cb78
      R13: ffff88029f6e57e0 R14: ffff88029f6e57f8 R15: ffff88029f6e5808
      FS:  0000000000000000(0000) GS:ffff8802afcc0000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 0000000000000001 CR3: 000000029fa67000 CR4: 00000000000007e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process swapper/3 (pid: 0, threadinfo ffff8802a355e000, task ffff8802a3535c40)
      Stack:
       ffffffffa0159d8a 0000000000000082 ffff88029f6e5820 0000000000000001
       ffff88029f71aa00 0000000000000000 0000000000000000 0000000004000000
       0000000004000000 ffff8802afcc3e38 ffffffffa01843b5 ffff8802afcc3df8
      Call Trace:
       <IRQ>
       [<ffffffffa0159d8a>] ? nouveau_event_trigger+0xaa/0xe0 [nouveau]
       [<ffffffffa01843b5>] nv50_disp_intr+0xc5/0x200 [nouveau]
       [<ffffffff816fbacc>] ? _raw_spin_unlock_irqrestore+0x2c/0x50
       [<ffffffff816ff98d>] ? notifier_call_chain+0x4d/0x70
       [<ffffffffa017a105>] nouveau_mc_intr+0xb5/0x110 [nouveau]
       [<ffffffffa01d45ff>] nouveau_irq_handler+0x6f/0x80 [nouveau]
       [<ffffffff810eec95>] handle_irq_event_percpu+0x75/0x260
       [<ffffffff810eeec8>] handle_irq_event+0x48/0x70
       [<ffffffff810f205a>] handle_fasteoi_irq+0x5a/0x100
       [<ffffffff810182f2>] handle_irq+0x22/0x40
       [<ffffffff8170561a>] do_IRQ+0x5a/0xd0
       [<ffffffff816fc2ad>] common_interrupt+0x6d/0x6d
       <EOI>
       [<ffffffff810449b6>] ? native_safe_halt+0x6/0x10
       [<ffffffff8101ea1d>] default_idle+0x3d/0x170
       [<ffffffff8101f736>] cpu_idle+0x116/0x130
       [<ffffffff816e2a06>] start_secondary+0x251/0x258
      Code:  Bad RIP value.
      RIP  [<0000000000000001>] 0x0
       RSP <ffff8802afcc3d80>
      CR2: 0000000000000001
      ---[ end trace 907323cb8ce6f301 ]---
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      e4604d8f
  9. 20 2月, 2013 1 次提交
  10. 29 11月, 2012 1 次提交
  11. 31 10月, 2012 1 次提交
  12. 03 10月, 2012 7 次提交