xref: /openbmc/linux/include/drm/intel-gtt.h (revision 5c27b9fa)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
20ade6386SDaniel Vetter /* Common header for intel-gtt.ko and i915.ko */
30ade6386SDaniel Vetter 
40ade6386SDaniel Vetter #ifndef _DRM_INTEL_GTT_H
50ade6386SDaniel Vetter #define	_DRM_INTEL_GTT_H
6c64f7ba5SChris Wilson 
75c27b9faSJani Nikula #include <linux/agp_backend.h>
85c27b9faSJani Nikula #include <linux/kernel.h>
95c27b9faSJani Nikula 
10edd1f2feSChris Wilson void intel_gtt_get(u64 *gtt_total,
11edd1f2feSChris Wilson 		   phys_addr_t *mappable_base,
12b7128ef1SMatthew Auld 		   resource_size_t *mappable_end);
1319966754SDaniel Vetter 
1414be93ddSDaniel Vetter int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev,
1514be93ddSDaniel Vetter 		     struct agp_bridge_data *bridge);
1614be93ddSDaniel Vetter void intel_gmch_remove(void);
1714be93ddSDaniel Vetter 
188ecd1a66SDaniel Vetter bool intel_enable_gtt(void);
198ecd1a66SDaniel Vetter 
2040ce6575SDaniel Vetter void intel_gtt_chipset_flush(void);
21d6473f56SChris Wilson void intel_gtt_insert_page(dma_addr_t addr,
22d6473f56SChris Wilson 			   unsigned int pg,
23d6473f56SChris Wilson 			   unsigned int flags);
249da3da66SChris Wilson void intel_gtt_insert_sg_entries(struct sg_table *st,
254080775bSDaniel Vetter 				 unsigned int pg_start,
264080775bSDaniel Vetter 				 unsigned int flags);
279da3da66SChris Wilson void intel_gtt_clear_range(unsigned int first_entry, unsigned int num_entries);
2823ed992aSDaniel Vetter 
2923ed992aSDaniel Vetter /* Special gtt memory types */
3023ed992aSDaniel Vetter #define AGP_DCACHE_MEMORY	1
3123ed992aSDaniel Vetter #define AGP_PHYS_MEMORY		2
3223ed992aSDaniel Vetter 
3323ed992aSDaniel Vetter /* flag for GFDT type */
3423ed992aSDaniel Vetter #define AGP_USER_CACHED_MEMORY_GFDT (1 << 3)
3523ed992aSDaniel Vetter 
36650dc07eSDaniel Vetter #ifdef CONFIG_INTEL_IOMMU
37650dc07eSDaniel Vetter extern int intel_iommu_gfx_mapped;
38650dc07eSDaniel Vetter #endif
39650dc07eSDaniel Vetter 
400ade6386SDaniel Vetter #endif
41