ttm_bo_driver.h (254861) | ttm_bo_driver.h (254863) |
---|---|
1/************************************************************************** 2 * 3 * Copyright (c) 2006-2009 Vmware, Inc., Palo Alto, CA., USA 4 * All Rights Reserved. 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a 7 * copy of this software and associated documentation files (the 8 * "Software"), to deal in the Software without restriction, including --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 23 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 24 * USE OR OTHER DEALINGS IN THE SOFTWARE. 25 * 26 **************************************************************************/ 27/* 28 * Authors: Thomas Hellstrom <thellstrom-at-vmware-dot-com> 29 */ | 1/************************************************************************** 2 * 3 * Copyright (c) 2006-2009 Vmware, Inc., Palo Alto, CA., USA 4 * All Rights Reserved. 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a 7 * copy of this software and associated documentation files (the 8 * "Software"), to deal in the Software without restriction, including --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 23 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 24 * USE OR OTHER DEALINGS IN THE SOFTWARE. 25 * 26 **************************************************************************/ 27/* 28 * Authors: Thomas Hellstrom <thellstrom-at-vmware-dot-com> 29 */ |
30/* $FreeBSD: head/sys/dev/drm2/ttm/ttm_bo_driver.h 254861 2013-08-25 14:39:51Z dumbbell $ */ | 30/* $FreeBSD: head/sys/dev/drm2/ttm/ttm_bo_driver.h 254863 2013-08-25 14:47:22Z dumbbell $ */ |
31 32#ifndef _TTM_BO_DRIVER_H_ 33#define _TTM_BO_DRIVER_H_ 34 35#include <dev/drm2/drmP.h> 36#include <dev/drm2/ttm/ttm_bo_api.h> 37#include <dev/drm2/ttm/ttm_memory.h> 38#include <dev/drm2/ttm/ttm_module.h> --- 778 unchanged lines hidden (view full) --- 817 * -EBUSY: The function needed to sleep, but @no_wait was true 818 * -EDEADLK: Bo already reserved using @sequence. This error code will only 819 * be returned if @use_sequence is set to true. 820 */ 821extern int ttm_bo_reserve(struct ttm_buffer_object *bo, 822 bool interruptible, 823 bool no_wait, bool use_sequence, uint32_t sequence); 824 | 31 32#ifndef _TTM_BO_DRIVER_H_ 33#define _TTM_BO_DRIVER_H_ 34 35#include <dev/drm2/drmP.h> 36#include <dev/drm2/ttm/ttm_bo_api.h> 37#include <dev/drm2/ttm/ttm_memory.h> 38#include <dev/drm2/ttm/ttm_module.h> --- 778 unchanged lines hidden (view full) --- 817 * -EBUSY: The function needed to sleep, but @no_wait was true 818 * -EDEADLK: Bo already reserved using @sequence. This error code will only 819 * be returned if @use_sequence is set to true. 820 */ 821extern int ttm_bo_reserve(struct ttm_buffer_object *bo, 822 bool interruptible, 823 bool no_wait, bool use_sequence, uint32_t sequence); 824 |
825/** 826 * ttm_bo_reserve_slowpath_nolru: 827 * @bo: A pointer to a struct ttm_buffer_object. 828 * @interruptible: Sleep interruptible if waiting. 829 * @sequence: Set (@bo)->sequence to this value after lock 830 * 831 * This is called after ttm_bo_reserve returns -EAGAIN and we backed off 832 * from all our other reservations. Because there are no other reservations 833 * held by us, this function cannot deadlock any more. 834 * 835 * Will not remove reserved buffers from the lru lists. 836 * Otherwise identical to ttm_bo_reserve_slowpath. 837 */ 838extern int ttm_bo_reserve_slowpath_nolru(struct ttm_buffer_object *bo, 839 bool interruptible, 840 uint32_t sequence); |
|
825 | 841 |
842 |
|
826/** | 843/** |
844 * ttm_bo_reserve_slowpath: 845 * @bo: A pointer to a struct ttm_buffer_object. 846 * @interruptible: Sleep interruptible if waiting. 847 * @sequence: Set (@bo)->sequence to this value after lock 848 * 849 * This is called after ttm_bo_reserve returns -EAGAIN and we backed off 850 * from all our other reservations. Because there are no other reservations 851 * held by us, this function cannot deadlock any more. 852 */ 853extern int ttm_bo_reserve_slowpath(struct ttm_buffer_object *bo, 854 bool interruptible, uint32_t sequence); 855 856/** |
|
827 * ttm_bo_reserve_nolru: 828 * 829 * @bo: A pointer to a struct ttm_buffer_object. 830 * @interruptible: Sleep interruptible if waiting. 831 * @no_wait: Don't sleep while trying to reserve, rather return -EBUSY. 832 * @use_sequence: If @bo is already reserved, Only sleep waiting for 833 * it to become unreserved if @sequence < (@bo)->sequence. 834 * --- 173 unchanged lines hidden --- | 857 * ttm_bo_reserve_nolru: 858 * 859 * @bo: A pointer to a struct ttm_buffer_object. 860 * @interruptible: Sleep interruptible if waiting. 861 * @no_wait: Don't sleep while trying to reserve, rather return -EBUSY. 862 * @use_sequence: If @bo is already reserved, Only sleep waiting for 863 * it to become unreserved if @sequence < (@bo)->sequence. 864 * --- 173 unchanged lines hidden --- |