1. 23 4月, 2014 3 次提交
  2. 22 4月, 2014 5 次提交
  3. 20 1月, 2014 9 次提交
  4. 18 12月, 2013 2 次提交
  5. 06 11月, 2013 2 次提交
  6. 14 10月, 2013 1 次提交
  7. 09 10月, 2013 4 次提交
  8. 08 8月, 2013 1 次提交
  9. 03 6月, 2013 1 次提交
    • H
      drm: fix a use-after-free when GPU acceleration disabled · b7ea85a4
      Huacai Chen 提交于
      When GPU acceleration is disabled, drm_vblank_cleanup() will free the
      vblank-related data, such as vblank_refcount, vblank_inmodeset, etc.
      But we found that drm_vblank_post_modeset() may be called after the
      cleanup, which use vblank_refcount and vblank_inmodeset. And this will
      cause a kernel panic.
      
      Fix this by return immediately if dev->num_crtcs is zero. This is the
      same thing that drm_vblank_pre_modeset() does.
      
      Call trace of a drm_vblank_post_modeset() after drm_vblank_cleanup():
      [   62.628906] [<ffffffff804868d0>] drm_vblank_post_modeset+0x34/0xb4
      [   62.628906] [<ffffffff804c7008>] atombios_crtc_dpms+0xb4/0x174
      [   62.628906] [<ffffffff804c70e0>] atombios_crtc_commit+0x18/0x38
      [   62.628906] [<ffffffff8047f038>] drm_crtc_helper_set_mode+0x304/0x3cc
      [   62.628906] [<ffffffff8047f92c>] drm_crtc_helper_set_config+0x6d8/0x988
      [   62.628906] [<ffffffff8047dd40>] drm_fb_helper_set_par+0x94/0x104
      [   62.628906] [<ffffffff80439d14>] fbcon_init+0x424/0x57c
      [   62.628906] [<ffffffff8046a638>] visual_init+0xb8/0x118
      [   62.628906] [<ffffffff8046b9f8>] take_over_console+0x238/0x384
      [   62.628906] [<ffffffff80436df8>] fbcon_takeover+0x7c/0xdc
      [   62.628906] [<ffffffff8024fa20>] notifier_call_chain+0x44/0x94
      [   62.628906] [<ffffffff8024fcbc>] __blocking_notifier_call_chain+0x48/0x68
      [   62.628906] [<ffffffff8042d990>] register_framebuffer+0x228/0x260
      [   62.628906] [<ffffffff8047e010>] drm_fb_helper_single_fb_probe+0x260/0x314
      [   62.628906] [<ffffffff8047e2c4>] drm_fb_helper_initial_config+0x200/0x234
      [   62.628906] [<ffffffff804e5560>] radeon_fbdev_init+0xd4/0xf4
      [   62.628906] [<ffffffff804e0e08>] radeon_modeset_init+0x9bc/0xa18
      [   62.628906] [<ffffffff804bfc14>] radeon_driver_load_kms+0xdc/0x12c
      [   62.628906] [<ffffffff8048b548>] drm_get_pci_dev+0x148/0x238
      [   62.628906] [<ffffffff80423564>] local_pci_probe+0x5c/0xd0
      [   62.628906] [<ffffffff80241ac4>] work_for_cpu_fn+0x1c/0x30
      [   62.628906] [<ffffffff802427c8>] process_one_work+0x274/0x3bc
      [   62.628906] [<ffffffff80242934>] process_scheduled_works+0x24/0x44
      [   62.628906] [<ffffffff8024515c>] worker_thread+0x31c/0x3f4
      [   62.628906] [<ffffffff802497a8>] kthread+0x88/0x90
      [   62.628906] [<ffffffff80206794>] kernel_thread_helper+0x10/0x18
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Signed-off-by: NBinbin Zhou <zhoubb@lemote.com>
      Cc: <stable@vger.kernel.org>
      Reviewed-by: NMichel Dänzer <michel.daenzer@amd.com>
      Acked-by: NPaul Menzel <paulepanter@users.sourceforge.net>
      Signed-off-by: NDave Airlie <airlied@gmail.com>
      b7ea85a4
  10. 18 2月, 2013 1 次提交
  11. 08 2月, 2013 2 次提交
  12. 29 11月, 2012 1 次提交
  13. 20 11月, 2012 4 次提交
    • E
      DRM/KMS: Add Bail-Out Conditions for Loop. · 0355cf3a
      Egbert Eich 提交于
      When trying to obtain an accurate timestamp for the last vsync interrupt
      in vblank_disable_and_save() we loop until the vsync counter after reading
      the time stamp is identical to the one before.
      In the case where no hardware timestamp can be obtained there is probably
      no point in trying to make sure we remain within the same vsync during
      the time we obtain the counter.
      Furthermore we should make sure there's an 'emergency exit' so that we
      don't end up in an endless loop when the driver get_vblank_timestamp()
      function doesn't manage to return within the same vsync.
      This may happen when this function prints out debugging information over
      a slow (ie serial) line.
      Signed-off-by: NEgbert Eich <eich@suse.de>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0355cf3a
    • I
      drm: add support for monotonic vblank timestamps · c61eef72
      Imre Deak 提交于
      Jumps in the vblank and page flip event timestamps cause trouble for
      clients, so we should avoid them. The timestamp we get currently with
      gettimeofday can jump, so use instead monotonic timestamps.
      
      For backward compatibility use a module flag to revert back to using
      gettimeofday timestamps. Add also a DRM_CAP_TIMESTAMP_MONOTONIC flag
      that is simply a read only version of the module flag, so that clients
      can query this without depending on sysfs.
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c61eef72
    • I
      drm: use monotonic time in drm_calc_vbltimestamp_from_scanoutpos · e62f2f5a
      Imre Deak 提交于
      For measuring duration we want to avoid that our start/end timestamps
      jump, so use monotonic instead of real time for that.
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: mario.kleiner
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e62f2f5a
    • R
      drm: add drm_send_vblank_event() helper (v5) · c6eefa17
      Rob Clark 提交于
      A helper that drivers can use to send vblank event after a pageflip.
      If the driver doesn't support proper vblank irq based time/seqn then
      just pass -1 for the pipe # to get do_gettimestamp() behavior (since
      there are a lot of drivers that don't use drm_vblank_count_and_time())
      
      Also an internal send_vblank_event() helper for the various other code
      paths within drm_irq that also need to send vblank events.
      
      v1: original
      v2: add back 'vblwait->reply.sequence = seq' which should not have
          been deleted
      v3: add WARN_ON() in case lock is not held and comments
      v4: use WARN_ON_SMP() instead to fix issue with !SMP && !DEBUG_SPINLOCK
          as pointed out by Marcin Slusarz
      v5: update docbook
      Signed-off-by: NRob Clark <rob@ti.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c6eefa17
  14. 03 10月, 2012 1 次提交
  15. 24 8月, 2012 1 次提交
  16. 18 7月, 2012 1 次提交
  17. 22 5月, 2012 1 次提交