2010-08-24 22:18:41 +02:00
/* Common header for intel-gtt.ko and i915.ko */
# ifndef _DRM_INTEL_GTT_H
# define _DRM_INTEL_GTT_H
2010-11-23 14:24:24 +00:00
const struct intel_gtt {
/* Size of memory reserved for graphics by the BIOS */
unsigned int stolen_size ;
2010-08-24 22:18:41 +02:00
/* Total number of gtt entries. */
unsigned int gtt_total_entries ;
/* Part of the gtt that is mappable by the cpu, for those chips where
* this is not the full gtt . */
unsigned int gtt_mappable_entries ;
2010-11-06 11:18:58 +01:00
/* Whether i915 needs to use the dmar apis or not. */
unsigned int needs_dmar : 1 ;
2011-10-17 15:51:55 -07:00
/* Whether we idle the gpu before mapping/unmapping */
unsigned int do_idle_maps : 1 ;
2012-02-09 17:15:44 +01:00
/* Share the scratch page dma with ppgtts. */
dma_addr_t scratch_page_dma ;
2012-02-09 17:15:45 +01:00
/* for ppgtt PDE access */
u32 __iomem * gtt ;
2010-11-23 14:24:24 +00:00
} * intel_gtt_get ( void ) ;
2010-09-06 20:08:44 +02:00
2010-11-05 18:12:18 +01:00
void intel_gtt_chipset_flush ( void ) ;
2010-11-06 11:18:58 +01:00
void intel_gtt_unmap_memory ( struct scatterlist * sg_list , int num_sg ) ;
void intel_gtt_clear_range ( unsigned int first_entry , unsigned int num_entries ) ;
int intel_gtt_map_memory ( struct page * * pages , unsigned int num_entries ,
struct scatterlist * * sg_list , int * num_sg ) ;
void intel_gtt_insert_sg_entries ( struct scatterlist * sg_list ,
unsigned int sg_len ,
unsigned int pg_start ,
unsigned int flags ) ;
void intel_gtt_insert_pages ( unsigned int first_entry , unsigned int num_entries ,
struct page * * pages , unsigned int flags ) ;
2010-11-05 18:04:52 +01:00
/* Special gtt memory types */
# define AGP_DCACHE_MEMORY 1
# define AGP_PHYS_MEMORY 2
/* New caching attributes for gen6/sandybridge */
# define AGP_USER_CACHED_MEMORY_LLC_MLC (AGP_USER_TYPES + 2)
# define AGP_USER_UNCACHED_MEMORY (AGP_USER_TYPES + 4)
/* flag for GFDT type */
# define AGP_USER_CACHED_MEMORY_GFDT (1 << 3)
2012-04-02 10:08:35 +02:00
# ifdef CONFIG_INTEL_IOMMU
extern int intel_iommu_gfx_mapped ;
# endif
2010-08-24 22:18:41 +02:00
# endif