1. 26 3月, 2014 4 次提交
  2. 18 2月, 2014 1 次提交
  3. 30 1月, 2014 2 次提交
  4. 16 12月, 2013 1 次提交
  5. 14 11月, 2013 1 次提交
  6. 08 11月, 2013 7 次提交
  7. 09 10月, 2013 1 次提交
    • D
      drm: kill ->gem_init_object() and friends · 16eb5f43
      David Herrmann 提交于
      All drivers embed gem-objects into their own buffer objects. There is no
      reason to keep drm_gem_object_alloc(), gem->driver_private and
      ->gem_init_object() anymore.
      
      New drivers are highly encouraged to do the same. There is no benefit in
      allocating gem-objects separately.
      
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Jerome Glisse <jglisse@redhat.com>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Ben Skeggs <skeggsb@gmail.com>
      Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      16eb5f43
  8. 10 9月, 2013 1 次提交
  9. 02 9月, 2013 1 次提交
  10. 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
  11. 19 8月, 2013 1 次提交
    • D
      drm: remove FASYNC support · b0e898ac
      Daniel Vetter 提交于
      So I've stumbled over drm_fasync and wondered what it does. Digging
      that up is quite a story.
      
      First I've had to read up on what this does and ended up being rather
      bewildered why peopled loved signals so much back in the days that
      they've created SIGIO just for that ...
      
      Then I wondered how this ever works, and what that strange "No-op."
      comment right above it should mean. After all calling the core fasync
      helper is pretty obviously not a noop. After reading through the
      kernels FASYNC implementation I've noticed that signals are only sent
      out to the processes attached with FASYNC by calling kill_fasync.
      
      No merged drm driver has ever done that.
      
      After more digging I've found out that the only driver that ever used
      this is the so called GAMMA driver. I've frankly never heard of such a
      gpu brand ever before. Now FASYNC seems to not have been the only bad
      thing with that driver, since Dave Airlie removed it from the drm
      driver with prejudice:
      
      commit 1430163b4bbf7b00367ea1066c1c5fe85dbeefed
      Author: Dave Airlie <airlied@linux.ie>
      Date:   Sun Aug 29 12:04:35 2004 +0000
      
          Drop GAMMA DRM from a great height ...
      
      Long story short, the drm fasync support seems to be doing absolutely
      nothing. And the only user of it was never merged into the upstream
      kernel. And we don't need any fops->fasync callback since the fcntl
      implementation in the kernel already implements the noop case
      correctly.
      
      So stop this particular cargo-cult and rip it all out.
      
      v2: Kill drm_fasync assignments in rcar (newly added) and imx drivers
      (somehow I've missed that one in staging). Also drop the reference in
      the drm DocBook. ARM compile-fail reported by Rob Clark.
      
      v3: Move the removal of dev->buf_asnyc assignment in drm_setup to this
      patch here.
      
      v4: Actually git add ... tsk.
      
      Cc: Dave Airlie <airlied@linux.ie>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Rob Clark <robdclark@gmail.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      b0e898ac
  12. 07 8月, 2013 2 次提交
  13. 23 7月, 2013 1 次提交
  14. 10 7月, 2013 2 次提交
  15. 28 6月, 2013 1 次提交
  16. 20 5月, 2013 1 次提交
  17. 02 5月, 2013 1 次提交
  18. 26 4月, 2013 2 次提交
  19. 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
  20. 20 2月, 2013 5 次提交
  21. 09 2月, 2013 1 次提交
  22. 08 2月, 2013 1 次提交
  23. 13 1月, 2013 1 次提交