Rev 3192 | Rev 3391 | 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 | |||
3192 | Serge | 8 | struct intel_gtt { |
3031 | serge | 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; |
||
3243 | Serge | 22 | struct page *scratch_page; |
3031 | serge | 23 | /* for ppgtt PDE access */ |
24 | u32 __iomem *gtt; |
||
25 | /* needed for ioremap in drm/i915 */ |
||
26 | phys_addr_t gma_bus_addr; |
||
27 | } *intel_gtt_get(void); |
||
28 | |||
29 | int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev, |
||
30 | struct agp_bridge_data *bridge); |
||
31 | void intel_gmch_remove(void); |
||
32 | |||
33 | bool intel_enable_gtt(void); |
||
34 | |||
35 | void intel_gtt_chipset_flush(void); |
||
3243 | Serge | 36 | void intel_gtt_insert_sg_entries(struct sg_table *st, |
37 | unsigned int pg_start, |
||
3031 | serge | 38 | unsigned int flags); |
39 | void intel_gtt_clear_range(unsigned int first_entry, unsigned int num_entries); |
||
40 | |||
41 | /* Special gtt memory types */ |
||
42 | #define AGP_DCACHE_MEMORY 1 |
||
43 | #define AGP_PHYS_MEMORY 2 |
||
44 | |||
45 | /* New caching attributes for gen6/sandybridge */ |
||
46 | #define AGP_USER_CACHED_MEMORY_LLC_MLC (AGP_USER_TYPES + 2) |
||
47 | #define AGP_USER_UNCACHED_MEMORY (AGP_USER_TYPES + 4) |
||
48 | |||
49 | /* flag for GFDT type */ |
||
50 | #define AGP_USER_CACHED_MEMORY_GFDT (1 << 3) |
||
51 | |||
52 | #ifdef CONFIG_INTEL_IOMMU |
||
53 | extern int intel_iommu_gfx_mapped; |
||
54 | #endif |
||
55 | |||
56 | #endif><> |