Date: | 2010-04-28 11:33:25 (13 years 5 months ago) |
---|---|
Author: | Thomas Hellstrom |
Commit: | 8cfe92d683a0041ac8e016a0b0a487c99a78f6c1 |
Message: | drm/ttm: Remove the ttm_bo_block_reservation() function. It's unused and buggy in its current form, since it can place a bo in the reserved state without removing it from lru lists. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com> |
Files: |
drivers/gpu/drm/ttm/ttm_bo.c (1 diff) include/drm/ttm/ttm_bo_driver.h (1 diff) |
Change Details
drivers/gpu/drm/ttm/ttm_bo.c | ||
---|---|---|
1716 | 1716 | } |
1717 | 1717 | EXPORT_SYMBOL(ttm_bo_wait); |
1718 | 1718 | |
1719 | void ttm_bo_unblock_reservation(struct ttm_buffer_object *bo) | |
1720 | { | |
1721 | atomic_set(&bo->reserved, 0); | |
1722 | wake_up_all(&bo->event_queue); | |
1723 | } | |
1724 | ||
1725 | int ttm_bo_block_reservation(struct ttm_buffer_object *bo, bool interruptible, | |
1726 | bool no_wait) | |
1727 | { | |
1728 | int ret; | |
1729 | ||
1730 | while (unlikely(atomic_cmpxchg(&bo->reserved, 0, 1) != 0)) { | |
1731 | if (no_wait) | |
1732 | return -EBUSY; | |
1733 | else if (interruptible) { | |
1734 | ret = wait_event_interruptible | |
1735 | (bo->event_queue, atomic_read(&bo->reserved) == 0); | |
1736 | if (unlikely(ret != 0)) | |
1737 | return ret; | |
1738 | } else { | |
1739 | wait_event(bo->event_queue, | |
1740 | atomic_read(&bo->reserved) == 0); | |
1741 | } | |
1742 | } | |
1743 | return 0; | |
1744 | } | |
1745 | ||
1746 | 1719 | int ttm_bo_synccpu_write_grab(struct ttm_buffer_object *bo, bool no_wait) |
1747 | 1720 | { |
1748 | 1721 | int ret = 0; |
1749 | 1722 | |
1750 | 1723 | /* |
1751 | * Using ttm_bo_reserve instead of ttm_bo_block_reservation | |
1752 | * makes sure the lru lists are updated. | |
1724 | * Using ttm_bo_reserve makes sure the lru lists are updated. | |
1753 | 1725 | */ |
1754 | 1726 | |
1755 | 1727 | ret = ttm_bo_reserve(bo, true, no_wait, false, 0); |
include/drm/ttm/ttm_bo_driver.h | ||
---|---|---|
789 | 789 | extern int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, |
790 | 790 | bool interruptible); |
791 | 791 | |
792 | /** | |
793 | * ttm_bo_block_reservation | |
794 | * | |
795 | * @bo: A pointer to a struct ttm_buffer_object. | |
796 | * @interruptible: Use interruptible sleep when waiting. | |
797 | * @no_wait: Don't sleep, but rather return -EBUSY. | |
798 | * | |
799 | * Block reservation for validation by simply reserving the buffer. | |
800 | * This is intended for single buffer use only without eviction, | |
801 | * and thus needs no deadlock protection. | |
802 | * | |
803 | * Returns: | |
804 | * -EBUSY: If no_wait == 1 and the buffer is already reserved. | |
805 | * -ERESTARTSYS: If interruptible == 1 and the process received a signal | |
806 | * while sleeping. | |
807 | */ | |
808 | extern int ttm_bo_block_reservation(struct ttm_buffer_object *bo, | |
809 | bool interruptible, bool no_wait); | |
810 | ||
811 | /** | |
812 | * ttm_bo_unblock_reservation | |
813 | * | |
814 | * @bo: A pointer to a struct ttm_buffer_object. | |
815 | * | |
816 | * Unblocks reservation leaving lru lists untouched. | |
817 | */ | |
818 | extern void ttm_bo_unblock_reservation(struct ttm_buffer_object *bo); | |
819 | ||
820 | 792 | /* |
821 | 793 | * ttm_bo_util.c |
822 | 794 | */ |
Branches:
ben-wpan
ben-wpan-stefan
5396a9238205f20f811ea57898980d3ca82df0b6
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9