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: stable/10/sys/dev/drm2/ttm/ttm_bo_driver.h 275408 2014-12-02 14:09:54Z tijl $ */ |
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> --- 946 unchanged lines hidden (view full) --- 985 * 986 * Utility function that returns the pgprot_t that should be used for 987 * setting up a PTE with the caching model indicated by @c_state. 988 */ 989extern vm_memattr_t ttm_io_prot(uint32_t caching_flags); 990 991extern const struct ttm_mem_type_manager_func ttm_bo_manager_func; 992 |
993#if __OS_HAS_AGP |
994#define TTM_HAS_AGP |
995 996/** 997 * ttm_agp_tt_create 998 * 999 * @bdev: Pointer to a struct ttm_bo_device. 1000 * @bridge: The agp bridge this device is sitting on. 1001 * @size: Size of the data needed backing. 1002 * @page_flags: Page flags as identified by TTM_PAGE_FLAG_XX flags. 1003 * @dummy_read_page: See struct ttm_bo_device. 1004 * 1005 * 1006 * Create a TTM backend that uses the indicated AGP bridge as an aperture 1007 * for TT memory. This function uses the linux agpgart interface to 1008 * bind and unbind memory backing a ttm_tt. 1009 */ 1010extern struct ttm_tt *ttm_agp_tt_create(struct ttm_bo_device *bdev, |
1011 device_t bridge, |
1012 unsigned long size, uint32_t page_flags, 1013 struct vm_page *dummy_read_page); 1014int ttm_agp_tt_populate(struct ttm_tt *ttm); 1015void ttm_agp_tt_unpopulate(struct ttm_tt *ttm); 1016#endif 1017 1018int ttm_bo_cmp_rb_tree_items(struct ttm_buffer_object *a, 1019 struct ttm_buffer_object *b); 1020 1021RB_PROTOTYPE(ttm_bo_device_buffer_objects, ttm_buffer_object, vm_rb, 1022 ttm_bo_cmp_rb_tree_items); 1023 1024#endif |