FreeBSD kernel AGP device code
agp_i810.h File Reference
#include <sys/param.h>
#include <sys/rman.h>
#include <sys/sglist.h>
#include <vm/vm.h>
#include <vm/vm_page.h>
Include dependency graph for agp_i810.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  intel_gtt
 

Macros

#define AGP_DCACHE_MEMORY   1
 
#define AGP_PHYS_MEMORY   2
 
#define AGP_USER_CACHED_MEMORY_LLC_MLC   (AGP_USER_TYPES + 2)
 
#define AGP_USER_UNCACHED_MEMORY   (AGP_USER_TYPES + 4)
 
#define AGP_USER_CACHED_MEMORY_GFDT   (1 << 3)
 

Functions

struct intel_gtt agp_intel_gtt_get (device_t dev)
 
int agp_intel_gtt_chipset_flush (device_t dev)
 
void agp_intel_gtt_unmap_memory (device_t dev, struct sglist *sg_list)
 
void agp_intel_gtt_clear_range (device_t dev, u_int first_entry, u_int num_entries)
 
int agp_intel_gtt_map_memory (device_t dev, vm_page_t *pages, u_int num_entries, struct sglist **sg_list)
 
void agp_intel_gtt_insert_sg_entries (device_t dev, struct sglist *sg_list, u_int pg_start, u_int flags)
 
void agp_intel_gtt_insert_pages (device_t dev, u_int first_entry, u_int num_entries, vm_page_t *pages, u_int flags)
 
struct intel_gttintel_gtt_get (void)
 
int intel_gtt_chipset_flush (void)
 
void intel_gtt_unmap_memory (struct sglist *sg_list)
 
void intel_gtt_clear_range (u_int first_entry, u_int num_entries)
 
void intel_gtt_install_pte (u_int index, vm_paddr_t addr, u_int flags)
 
int intel_gtt_map_memory (vm_page_t *pages, u_int num_entries, struct sglist **sg_list)
 
void intel_gtt_insert_sg_entries (struct sglist *sg_list, u_int pg_start, u_int flags)
 
void intel_gtt_insert_pages (u_int first_entry, u_int num_entries, vm_page_t *pages, u_int flags)
 
vm_paddr_t intel_gtt_read_pte_paddr (u_int entry)
 
u_int32_t intel_gtt_read_pte (u_int entry)
 
device_t intel_gtt_get_bridge_device (void)
 
void intel_gtt_write (u_int entry, uint32_t val)
 

Macro Definition Documentation

◆ AGP_DCACHE_MEMORY

#define AGP_DCACHE_MEMORY   1

Definition at line 44 of file agp_i810.h.

◆ AGP_PHYS_MEMORY

#define AGP_PHYS_MEMORY   2

Definition at line 45 of file agp_i810.h.

◆ AGP_USER_CACHED_MEMORY_GFDT

#define AGP_USER_CACHED_MEMORY_GFDT   (1 << 3)

Definition at line 52 of file agp_i810.h.

◆ AGP_USER_CACHED_MEMORY_LLC_MLC

#define AGP_USER_CACHED_MEMORY_LLC_MLC   (AGP_USER_TYPES + 2)

Definition at line 48 of file agp_i810.h.

◆ AGP_USER_UNCACHED_MEMORY

#define AGP_USER_UNCACHED_MEMORY   (AGP_USER_TYPES + 4)

Definition at line 49 of file agp_i810.h.

Function Documentation

◆ agp_intel_gtt_chipset_flush()

int agp_intel_gtt_chipset_flush ( device_t  dev)

Definition at line 2187 of file agp_i810.c.

References agp_i810_driver::chipset_flush, agp_i810_match::driver, and agp_i810_softc::match.

Referenced by intel_gtt_chipset_flush().

Here is the caller graph for this function:

◆ agp_intel_gtt_clear_range()

void agp_intel_gtt_clear_range ( device_t  dev,
u_int  first_entry,
u_int  num_entries 
)

Definition at line 1934 of file agp_i810.c.

References agp_i810_match::driver, agp_i810_driver::install_gtt_pte, agp_i810_softc::match, and agp_i810_driver::read_gtt_pte.

Referenced by intel_gtt_clear_range().

Here is the caller graph for this function:

◆ agp_intel_gtt_get()

◆ agp_intel_gtt_insert_pages()

void agp_intel_gtt_insert_pages ( device_t  dev,
u_int  first_entry,
u_int  num_entries,
vm_page_t *  pages,
u_int  flags 
)

Definition at line 1947 of file agp_i810.c.

References agp_i810_match::driver, agp_i810_driver::install_gtt_pte, agp_i810_softc::match, and agp_i810_driver::read_gtt_pte.

Referenced by intel_gtt_insert_pages().

Here is the caller graph for this function:

◆ agp_intel_gtt_insert_sg_entries()

void agp_intel_gtt_insert_sg_entries ( device_t  dev,
struct sglist *  sg_list,
u_int  pg_start,
u_int  flags 
)

Definition at line 2258 of file agp_i810.c.

References agp_i810_match::driver, agp_i810_driver::install_gtt_pte, agp_i810_softc::match, and agp_i810_driver::read_gtt_pte.

Referenced by intel_gtt_insert_sg_entries().

Here is the caller graph for this function:

◆ agp_intel_gtt_map_memory()

int agp_intel_gtt_map_memory ( device_t  dev,
vm_page_t *  pages,
u_int  num_entries,
struct sglist **  sg_list 
)

Definition at line 2202 of file agp_i810.c.

References agp_i810_softc::match.

Referenced by intel_gtt_map_memory().

Here is the caller graph for this function:

◆ agp_intel_gtt_unmap_memory()

void agp_intel_gtt_unmap_memory ( device_t  dev,
struct sglist *  sg_list 
)

Definition at line 2197 of file agp_i810.c.

Referenced by intel_gtt_unmap_memory().

Here is the caller graph for this function:

◆ intel_gtt_chipset_flush()

int intel_gtt_chipset_flush ( void  )

Definition at line 2305 of file agp_i810.c.

References agp_intel_gtt_chipset_flush(), and intel_agp.

Here is the call graph for this function:

◆ intel_gtt_clear_range()

void intel_gtt_clear_range ( u_int  first_entry,
u_int  num_entries 
)

Definition at line 2281 of file agp_i810.c.

References agp_intel_gtt_clear_range(), and intel_agp.

Here is the call graph for this function:

◆ intel_gtt_get()

struct intel_gtt * intel_gtt_get ( void  )

Definition at line 2297 of file agp_i810.c.

References agp_intel_gtt_get(), intel_agp, and intel_private.

Here is the call graph for this function:

◆ intel_gtt_get_bridge_device()

device_t intel_gtt_get_bridge_device ( void  )

Definition at line 2343 of file agp_i810.c.

References agp_i810_softc::bdev, and intel_agp.

◆ intel_gtt_insert_pages()

void intel_gtt_insert_pages ( u_int  first_entry,
u_int  num_entries,
vm_page_t *  pages,
u_int  flags 
)

Definition at line 2288 of file agp_i810.c.

References agp_intel_gtt_insert_pages(), and intel_agp.

Here is the call graph for this function:

◆ intel_gtt_insert_sg_entries()

void intel_gtt_insert_sg_entries ( struct sglist *  sg_list,
u_int  pg_start,
u_int  flags 
)

Definition at line 2328 of file agp_i810.c.

References agp_intel_gtt_insert_sg_entries(), and intel_agp.

Here is the call graph for this function:

◆ intel_gtt_install_pte()

void intel_gtt_install_pte ( u_int  index,
vm_paddr_t  addr,
u_int  flags 
)

Definition at line 2336 of file agp_i810.c.

References agp_intel_gtt_install_pte(), and intel_agp.

Here is the call graph for this function:

◆ intel_gtt_map_memory()

int intel_gtt_map_memory ( vm_page_t *  pages,
u_int  num_entries,
struct sglist **  sg_list 
)

Definition at line 2319 of file agp_i810.c.

References agp_intel_gtt_map_memory(), and intel_agp.

Here is the call graph for this function:

◆ intel_gtt_read_pte()

u_int32_t intel_gtt_read_pte ( u_int  entry)

◆ intel_gtt_read_pte_paddr()

vm_paddr_t intel_gtt_read_pte_paddr ( u_int  entry)

◆ intel_gtt_unmap_memory()

void intel_gtt_unmap_memory ( struct sglist *  sg_list)

Definition at line 2312 of file agp_i810.c.

References agp_intel_gtt_unmap_memory(), and intel_agp.

Here is the call graph for this function:

◆ intel_gtt_write()

void intel_gtt_write ( u_int  entry,
uint32_t  val 
)