linux/x86-64: missing agp.h

This causes data corruption and/or crashes when AGP is actually used.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
This commit is contained in:
kfraser@localhost.localdomain committed 2006-11-30 17:21:52 +00:00
1 parent 89f6444794
commit 99bbc67f93
1 file changed
+35
@@ -0,0 +1,35 @@
#ifndef AGP_H
#define AGP_H 1
#include <asm/cacheflush.h>
#include <asm/system.h>
/*
* Functions to keep the agpgart mappings coherent.
* The GART gives the CPU a physical alias of memory. The alias is
* mapped uncacheable. Make sure there are no conflicting mappings
* with different cachability attributes for the same page.
*/
int map_page_into_agp(struct page *page);
int unmap_page_from_agp(struct page *page);
#define flush_agp_mappings() global_flush_tlb()
/* Could use CLFLUSH here if the cpu supports it. But then it would
need to be called for each cacheline of the whole page so it may not be
worth it. Would need a page for it. */
#define flush_agp_cache() wbinvd()
/* Convert a physical address to an address suitable for the GART. */
#define phys_to_gart(x) phys_to_machine(x)
#define gart_to_phys(x) machine_to_phys(x)
/* GATT allocation. Returns/accepts GATT kernel virtual address. */
#define alloc_gatt_pages(order) ({ \
char *_t; dma_addr_t _d; \
_t = dma_alloc_coherent(NULL,PAGE_SIZE<<(order),&_d,GFP_KERNEL); \
_t; })
#define free_gatt_pages(table, order) \
dma_free_coherent(NULL,PAGE_SIZE<<(order),(table),virt_to_bus(table))
#endif
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.