Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
mmu.c File Reference
#include <drm/drmP.h>
#include "psb_drv.h"
#include "psb_reg.h"

Go to the source code of this file.

Data Structures

struct  psb_mmu_driver
 
struct  psb_mmu_pt
 
struct  psb_mmu_pd
 

Functions

void psb_mmu_flush (struct psb_mmu_driver *driver, int rc_prot)
 
void psb_mmu_set_pd_context (struct psb_mmu_pd *pd, int hw_context)
 
struct psb_mmu_pdpsb_mmu_alloc_pd (struct psb_mmu_driver *driver, int trap_pagefaults, int invalid_type)
 
void psb_mmu_free_pagedir (struct psb_mmu_pd *pd)
 
void psb_mmu_mirror_gtt (struct psb_mmu_pd *pd, uint32_t mmu_offset, uint32_t gtt_start, uint32_t gtt_pages)
 
struct psb_mmu_pdpsb_mmu_get_default_pd (struct psb_mmu_driver *driver)
 
void psb_mmu_driver_takedown (struct psb_mmu_driver *driver)
 
struct psb_mmu_driverpsb_mmu_driver_init (uint8_t __iomem *registers, int trap_pagefaults, int invalid_type, struct drm_psb_private *dev_priv)
 
void psb_mmu_remove_pfn_sequence (struct psb_mmu_pd *pd, unsigned long address, uint32_t num_pages)
 
void psb_mmu_remove_pages (struct psb_mmu_pd *pd, unsigned long address, uint32_t num_pages, uint32_t desired_tile_stride, uint32_t hw_tile_stride)
 
int psb_mmu_insert_pfn_sequence (struct psb_mmu_pd *pd, uint32_t start_pfn, unsigned long address, uint32_t num_pages, int type)
 
int psb_mmu_insert_pages (struct psb_mmu_pd *pd, struct page **pages, unsigned long address, uint32_t num_pages, uint32_t desired_tile_stride, uint32_t hw_tile_stride, int type)
 
int psb_mmu_virtual_to_pfn (struct psb_mmu_pd *pd, uint32_t virtual, unsigned long *pfn)
 

Function Documentation

struct psb_mmu_pd* psb_mmu_alloc_pd ( struct psb_mmu_driver driver,
int  trap_pagefaults,
int  invalid_type 
)
read

Definition at line 205 of file mmu.c.

struct psb_mmu_driver* psb_mmu_driver_init ( uint8_t __iomem registers,
int  trap_pagefaults,
int  invalid_type,
struct drm_psb_private dev_priv 
)
read

Definition at line 497 of file mmu.c.

void psb_mmu_driver_takedown ( struct psb_mmu_driver driver)

Definition at line 491 of file mmu.c.

void psb_mmu_flush ( struct psb_mmu_driver driver,
int  rc_prot 
)

Definition at line 163 of file mmu.c.

void psb_mmu_free_pagedir ( struct psb_mmu_pd pd)

Definition at line 279 of file mmu.c.

struct psb_mmu_pd* psb_mmu_get_default_pd ( struct psb_mmu_driver driver)
read

Definition at line 480 of file mmu.c.

int psb_mmu_insert_pages ( struct psb_mmu_pd pd,
struct page **  pages,
unsigned long  address,
uint32_t  num_pages,
uint32_t  desired_tile_stride,
uint32_t  hw_tile_stride,
int  type 
)

Definition at line 742 of file mmu.c.

int psb_mmu_insert_pfn_sequence ( struct psb_mmu_pd pd,
uint32_t  start_pfn,
unsigned long  address,
uint32_t  num_pages,
int  type 
)

Definition at line 697 of file mmu.c.

void psb_mmu_mirror_gtt ( struct psb_mmu_pd pd,
uint32_t  mmu_offset,
uint32_t  gtt_start,
uint32_t  gtt_pages 
)

Definition at line 448 of file mmu.c.

void psb_mmu_remove_pages ( struct psb_mmu_pd pd,
unsigned long  address,
uint32_t  num_pages,
uint32_t  desired_tile_stride,
uint32_t  hw_tile_stride 
)

Definition at line 641 of file mmu.c.

void psb_mmu_remove_pfn_sequence ( struct psb_mmu_pd pd,
unsigned long  address,
uint32_t  num_pages 
)

Definition at line 602 of file mmu.c.

void psb_mmu_set_pd_context ( struct psb_mmu_pd pd,
int  hw_context 
)

Definition at line 171 of file mmu.c.

int psb_mmu_virtual_to_pfn ( struct psb_mmu_pd pd,
uint32_t  virtual,
unsigned long pfn 
)

Definition at line 810 of file mmu.c.