The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/drm2/ttm/ttm_page_alloc.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) Red Hat Inc.
    3 
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sub license,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
   10  *
   11  * The above copyright notice and this permission notice (including the
   12  * next paragraph) shall be included in all copies or substantial portions
   13  * of the Software.
   14  *
   15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   17  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
   18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   21  * DEALINGS IN THE SOFTWARE.
   22  *
   23  * Authors: Dave Airlie <airlied@redhat.com>
   24  *          Jerome Glisse <jglisse@redhat.com>
   25  */
   26 /* $FreeBSD$ */
   27 #ifndef TTM_PAGE_ALLOC
   28 #define TTM_PAGE_ALLOC
   29 
   30 #include <dev/drm2/ttm/ttm_bo_driver.h>
   31 #include <dev/drm2/ttm/ttm_memory.h>
   32 
   33 /**
   34  * Initialize pool allocator.
   35  */
   36 int ttm_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages);
   37 /**
   38  * Free pool allocator.
   39  */
   40 void ttm_page_alloc_fini(void);
   41 
   42 /**
   43  * ttm_pool_populate:
   44  *
   45  * @ttm: The struct ttm_tt to contain the backing pages.
   46  *
   47  * Add backing pages to all of @ttm
   48  */
   49 extern int ttm_pool_populate(struct ttm_tt *ttm);
   50 
   51 /**
   52  * ttm_pool_unpopulate:
   53  *
   54  * @ttm: The struct ttm_tt which to free backing pages.
   55  *
   56  * Free all pages of @ttm
   57  */
   58 extern void ttm_pool_unpopulate(struct ttm_tt *ttm);
   59 
   60 /**
   61  * Output the state of pools to debugfs file
   62  */
   63 /* XXXKIB
   64 extern int ttm_page_alloc_debugfs(struct seq_file *m, void *data);
   65 */
   66 
   67 #ifdef CONFIG_SWIOTLB
   68 /**
   69  * Initialize pool allocator.
   70  */
   71 int ttm_dma_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages);
   72 
   73 /**
   74  * Free pool allocator.
   75  */
   76 void ttm_dma_page_alloc_fini(void);
   77 
   78 /**
   79  * Output the state of pools to debugfs file
   80  */
   81 extern int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data);
   82 
   83 extern int ttm_dma_populate(struct ttm_dma_tt *ttm_dma, struct device *dev);
   84 extern void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev);
   85 
   86 #else
   87 static inline int ttm_dma_page_alloc_init(struct ttm_mem_global *glob,
   88                                           unsigned max_pages)
   89 {
   90         return -ENODEV;
   91 }
   92 
   93 static inline void ttm_dma_page_alloc_fini(void) { return; }
   94 
   95 /* XXXKIB
   96 static inline int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data)
   97 {
   98         return 0;
   99 }
  100 */
  101 #endif
  102 
  103 #endif

Cache object: 5746f3fd35c64cfb51cd735050758981


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.