freebsd-skq/sys/dev/drm2
Jean-Sébastien Pédron a7fa1c7cc3 drm/ttm: Import Linux commit ff7c60c580d9722f820d85c9c58ca55ecc1ee7c4
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Jan 14 15:08:14 2013 +0100

    drm/ttm: fix fence locking in ttm_buffer_object_transfer, 2nd try

    This fixes up

    commit e8e89622ed361c46bf90ba4828e685a8b603f7e5
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Tue Dec 18 22:25:11 2012 +0100

        drm/ttm: fix fence locking in ttm_buffer_object_transfer

    which leaves behind a might_sleep in atomic context, since the
    fence_lock spinlock is held over a kmalloc(GFP_KERNEL) call. The fix
    is to revert the above commit and only take the lock where we need it,
    around the call to ->sync_obj_ref.

    v2: Fixup things noticed by Maarten Lankhorst:
    - Brown paper bag locking bug.
    - No need for kzalloc if we clear the entire thing on the next line.
    - check for bo->sync_obj (totally unlikely race, but still someone
      else could have snuck in) and clear fbo->sync_obj if it's cleared
      already.

    Reported-by: Dave Airlie <airlied@gmail.com>
    Cc: Jerome Glisse <jglisse@redhat.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

Approved by:	kib@
2013-08-25 14:58:44 +00:00
..
i915 drm: Move definition of EREMOTEIO to drmP.h 2013-08-24 23:47:31 +00:00
ttm drm/ttm: Import Linux commit ff7c60c580d9722f820d85c9c58ca55ecc1ee7c4 2013-08-25 14:58:44 +00:00
drm_agpsupport.c
drm_atomic.h drm: Update drm_atomic.h, now that projects/atomic64 is in HEAD 2013-08-25 14:33:49 +00:00
drm_auth.c
drm_buffer.c drm: Import drm_buffer.[ch] from Linux 3.8-rc3 2013-08-24 16:14:20 +00:00
drm_buffer.h drm: Import drm_buffer.[ch] from Linux 3.8-rc3 2013-08-24 16:14:20 +00:00
drm_bufs.c
drm_context.c
drm_core.h drm: Call drm_global_init() & drm_global_release() at module load/unload 2013-08-24 15:47:15 +00:00
drm_crtc_helper.c
drm_crtc_helper.h drm: Const'ify the 1st "drm_display_mode" passed to "mode_fixup" callbacks 2013-08-24 16:50:47 +00:00
drm_crtc.c drm: Fix leak of connector->edid_blob_ptr 2013-08-24 16:55:53 +00:00
drm_crtc.h drm: Const'ify the 1st "drm_display_mode" passed to "mode_fixup" callbacks 2013-08-24 16:50:47 +00:00
drm_dma.c
drm_dp_helper.c drm: Import drm_dp_helper.c from Linux 3.8-rc3 2013-08-24 23:38:57 +00:00
drm_dp_helper.h drm: Import drm_dp_helper.c from Linux 3.8-rc3 2013-08-24 23:38:57 +00:00
drm_dp_iic_helper.c drm: Don't delete already deleted iicbus child from drm_iic_dp_aux 2013-08-24 23:54:06 +00:00
drm_drawable.c
drm_drv.c drm: In drm_mmap_single, try ttm_bo_mmap_single() before drm_gem_mmap_single() 2013-08-25 00:34:44 +00:00
drm_edid_modes.h
drm_edid.c drm: Import Linux commit cd004b3f4cd4169815c82bf9e424fda06978898a 2013-08-25 09:46:03 +00:00
drm_edid.h
drm_fb_helper.c Import Linux commit a1b7736dac5f2d5876e68c47a0fce3f423840070 2013-03-08 18:15:07 +00:00
drm_fb_helper.h
drm_fixed.h drm: Import drm_fixed.h from Linux 3.8 2013-08-25 12:27:15 +00:00
drm_fops.c Streamline use of cdevpriv and correct some corner cases. 2012-08-15 16:19:39 +00:00
drm_fourcc.h
drm_gem_names.c drm: In drm_gem_name_create(), verify argument before acquiring lock 2013-08-25 10:04:10 +00:00
drm_gem_names.h
drm_gem.c drm: Call "gem_close_object" driver callback from drm_gem_object_release_handle() 2013-08-25 10:01:59 +00:00
drm_global.c drm: Fix a call to free(9) with an incorrect malloc type 2013-03-08 18:11:02 +00:00
drm_global.h Import the drm_global references helpers. 2013-03-05 09:27:21 +00:00
drm_hashtab.c
drm_hashtab.h
drm_internal.h
drm_ioc32.c Add drm and i915 ioctl translations for 32 bit process on 64 bit host. 2012-08-18 18:26:25 +00:00
drm_ioctl.c drm: Use DRM_IF_MAJOR & DRM_IF_MINOR from drm_core.h 2013-08-25 10:13:23 +00:00
drm_irq.c
drm_linux_list_sort.c
drm_linux_list.h drm: Import list_for_each_entry_safe_from() macro 2013-08-25 10:28:02 +00:00
drm_lock.c
drm_memory.c
drm_mm.c Import the drm_mm_debug_table() function. 2013-03-05 09:07:58 +00:00
drm_mm.h Import the drm_mm_debug_table() function. 2013-03-05 09:07:58 +00:00
drm_mode.h
drm_modes.c
drm_os_freebsd.h drm: Add missing bits to drmP.h, required by the Radeon driver 2013-08-25 14:27:14 +00:00
drm_pci.c drm: Import drm_pcie_get_speed_cap_mask() in drm_pci.c 2013-08-25 11:34:37 +00:00
drm_pciids.h drm: Update drm_pciids.h based on Linux 3.8 2013-08-25 12:20:57 +00:00
drm_sarea.h
drm_scatter.c Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
drm_sman.c
drm_sman.h
drm_stub.c
drm_sysctl.c
drm_vm.c
drm.h
drmP.h drm: Add missing bits to drmP.h, required by the Radeon driver 2013-08-25 14:27:14 +00:00