10ade6386SDaniel Vetter /* Common header for intel-gtt.ko and i915.ko */ 20ade6386SDaniel Vetter 30ade6386SDaniel Vetter #ifndef _DRM_INTEL_GTT_H 40ade6386SDaniel Vetter #define _DRM_INTEL_GTT_H 5c64f7ba5SChris Wilson 6c44ef60eSMika Kuoppala void intel_gtt_get(u64 *gtt_total, size_t *stolen_size, 7c44ef60eSMika Kuoppala phys_addr_t *mappable_base, u64 *mappable_end); 819966754SDaniel Vetter 914be93ddSDaniel Vetter int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev, 1014be93ddSDaniel Vetter struct agp_bridge_data *bridge); 1114be93ddSDaniel Vetter void intel_gmch_remove(void); 1214be93ddSDaniel Vetter 138ecd1a66SDaniel Vetter bool intel_enable_gtt(void); 148ecd1a66SDaniel Vetter 1540ce6575SDaniel Vetter void intel_gtt_chipset_flush(void); 16d6473f56SChris Wilson void intel_gtt_insert_page(dma_addr_t addr, 17d6473f56SChris Wilson unsigned int pg, 18d6473f56SChris Wilson unsigned int flags); 199da3da66SChris Wilson void intel_gtt_insert_sg_entries(struct sg_table *st, 204080775bSDaniel Vetter unsigned int pg_start, 214080775bSDaniel Vetter unsigned int flags); 229da3da66SChris Wilson void intel_gtt_clear_range(unsigned int first_entry, unsigned int num_entries); 2323ed992aSDaniel Vetter 2423ed992aSDaniel Vetter /* Special gtt memory types */ 2523ed992aSDaniel Vetter #define AGP_DCACHE_MEMORY 1 2623ed992aSDaniel Vetter #define AGP_PHYS_MEMORY 2 2723ed992aSDaniel Vetter 2823ed992aSDaniel Vetter /* flag for GFDT type */ 2923ed992aSDaniel Vetter #define AGP_USER_CACHED_MEMORY_GFDT (1 << 3) 3023ed992aSDaniel Vetter 31650dc07eSDaniel Vetter #ifdef CONFIG_INTEL_IOMMU 32650dc07eSDaniel Vetter extern int intel_iommu_gfx_mapped; 33650dc07eSDaniel Vetter #endif 34650dc07eSDaniel Vetter 350ade6386SDaniel Vetter #endif 36