xref: /openbmc/linux/include/drm/intel-gtt.h (revision 64e06652)
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 
7ce6838afSAndy Shevchenko #include <linux/types.h>
8ce6838afSAndy Shevchenko 
97e78153aSJani Nikula struct agp_bridge_data;
10ce6838afSAndy Shevchenko struct pci_dev;
11ce6838afSAndy Shevchenko struct sg_table;
125c27b9faSJani Nikula 
13*64e06652SLucas De Marchi void intel_gmch_gtt_get(u64 *gtt_total,
14edd1f2feSChris Wilson 			phys_addr_t *mappable_base,
15b7128ef1SMatthew Auld 			resource_size_t *mappable_end);
1619966754SDaniel Vetter 
1714be93ddSDaniel Vetter int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev,
1814be93ddSDaniel Vetter 		     struct agp_bridge_data *bridge);
1914be93ddSDaniel Vetter void intel_gmch_remove(void);
2014be93ddSDaniel Vetter 
21*64e06652SLucas De Marchi bool intel_gmch_enable_gtt(void);
228ecd1a66SDaniel Vetter 
23*64e06652SLucas De Marchi void intel_gmch_gtt_flush(void);
24*64e06652SLucas De Marchi void intel_gmch_gtt_insert_page(dma_addr_t addr,
25d6473f56SChris Wilson 				unsigned int pg,
26d6473f56SChris Wilson 				unsigned int flags);
27*64e06652SLucas De Marchi void intel_gmch_gtt_insert_sg_entries(struct sg_table *st,
284080775bSDaniel Vetter 				      unsigned int pg_start,
294080775bSDaniel Vetter 				      unsigned int flags);
30*64e06652SLucas De Marchi void intel_gmch_gtt_clear_range(unsigned int first_entry, unsigned int num_entries);
3123ed992aSDaniel Vetter 
3223ed992aSDaniel Vetter /* Special gtt memory types */
3323ed992aSDaniel Vetter #define AGP_DCACHE_MEMORY	1
3423ed992aSDaniel Vetter #define AGP_PHYS_MEMORY		2
3523ed992aSDaniel Vetter 
3623ed992aSDaniel Vetter /* flag for GFDT type */
3723ed992aSDaniel Vetter #define AGP_USER_CACHED_MEMORY_GFDT (1 << 3)
3823ed992aSDaniel Vetter 
390ade6386SDaniel Vetter #endif
40