Rev 2967 | Rev 3192 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3031 | serge | 1 | /* Common header for intel-gtt.ko and i915.ko */ |
2 | |||
3 | #ifndef _DRM_INTEL_GTT_H |
||
4 | #define _DRM_INTEL_GTT_H |
||
5 | |||
6 | struct agp_bridge_data; |
||
7 | |||
8 | const struct intel_gtt { |
||
9 | /* Size of memory reserved for graphics by the BIOS */ |
||
10 | unsigned int stolen_size; |
||
11 | /* Total number of gtt entries. */ |
||
12 | unsigned int gtt_total_entries; |
||
13 | /* Part of the gtt that is mappable by the cpu, for those chips where |
||
14 | * this is not the full gtt. */ |
||
15 | unsigned int gtt_mappable_entries; |
||
16 | /* Whether i915 needs to use the dmar apis or not. */ |
||
17 | unsigned int needs_dmar : 1; |
||
18 | /* Whether we idle the gpu before mapping/unmapping */ |
||
19 | unsigned int do_idle_maps : 1; |
||
20 | /* Share the scratch page dma with ppgtts. */ |
||
21 | dma_addr_t scratch_page_dma; |
||
22 | /* for ppgtt PDE access */ |
||
23 | u32 __iomem *gtt; |
||
24 | /* needed for ioremap in drm/i915 */ |
||
25 | phys_addr_t gma_bus_addr; |
||
26 | } *intel_gtt_get(void); |
||
27 | |||
28 | int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev, |
||
29 | struct agp_bridge_data *bridge); |
||
30 | void intel_gmch_remove(void); |
||
31 | |||
32 | bool intel_enable_gtt(void); |
||
33 | |||
34 | void intel_gtt_chipset_flush(void); |
||
35 | void intel_gtt_insert_sg_entries(struct pagelist *st, unsigned int pg_start, |
||
36 | unsigned int flags); |
||
37 | void intel_gtt_clear_range(unsigned int first_entry, unsigned int num_entries); |
||
38 | |||
39 | /* Special gtt memory types */ |
||
40 | #define AGP_DCACHE_MEMORY 1 |
||
41 | #define AGP_PHYS_MEMORY 2 |
||
42 | |||
43 | /* New caching attributes for gen6/sandybridge */ |
||
44 | #define AGP_USER_CACHED_MEMORY_LLC_MLC (AGP_USER_TYPES + 2) |
||
45 | #define AGP_USER_UNCACHED_MEMORY (AGP_USER_TYPES + 4) |
||
46 | |||
47 | /* flag for GFDT type */ |
||
48 | #define AGP_USER_CACHED_MEMORY_GFDT (1 << 3) |
||
49 | |||
50 | #ifdef CONFIG_INTEL_IOMMU |
||
51 | extern int intel_iommu_gfx_mapped; |
||
52 | #endif |
||
53 | |||
54 | #endif><> |