Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
r600_cp.c File Reference
#include <linux/module.h>
#include <drm/drmP.h>
#include <drm/radeon_drm.h>
#include "radeon_drv.h"

Go to the source code of this file.

Macros

#define PFP_UCODE_SIZE   576
 
#define PM4_UCODE_SIZE   1792
 
#define R700_PFP_UCODE_SIZE   848
 
#define R700_PM4_UCODE_SIZE   1360
 
#define ATI_PCIGART_PAGE_SIZE   4096
 
#define ATI_PCIGART_PAGE_MASK   (~(ATI_PCIGART_PAGE_SIZE-1))
 
#define R600_PTE_VALID   (1 << 0)
 
#define R600_PTE_SYSTEM   (1 << 1)
 
#define R600_PTE_SNOOPED   (1 << 2)
 
#define R600_PTE_READABLE   (1 << 5)
 
#define R600_PTE_WRITEABLE   (1 << 6)
 
#define R6XX_MAX_SH_GPRS   256
 
#define R6XX_MAX_TEMP_GPRS   16
 
#define R6XX_MAX_SH_THREADS   256
 
#define R6XX_MAX_SH_STACK_ENTRIES   4096
 
#define R6XX_MAX_BACKENDS   8
 
#define R6XX_MAX_BACKENDS_MASK   0xff
 
#define R6XX_MAX_SIMDS   8
 
#define R6XX_MAX_SIMDS_MASK   0xff
 
#define R6XX_MAX_PIPES   8
 
#define R6XX_MAX_PIPES_MASK   0xff
 
#define R7XX_MAX_SH_GPRS   256
 
#define R7XX_MAX_TEMP_GPRS   16
 
#define R7XX_MAX_SH_THREADS   256
 
#define R7XX_MAX_SH_STACK_ENTRIES   4096
 
#define R7XX_MAX_BACKENDS   8
 
#define R7XX_MAX_BACKENDS_MASK   0xff
 
#define R7XX_MAX_SIMDS   16
 
#define R7XX_MAX_SIMDS_MASK   0xffff
 
#define R7XX_MAX_PIPES   8
 
#define R7XX_MAX_PIPES_MASK   0xff
 

Functions

 MODULE_FIRMWARE ("radeon/R600_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/R600_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV610_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV610_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV630_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV630_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV620_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV620_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV635_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV635_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV670_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV670_me.bin")
 
 MODULE_FIRMWARE ("radeon/RS780_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RS780_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV770_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV770_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV730_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV730_me.bin")
 
 MODULE_FIRMWARE ("radeon/RV710_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/RV710_me.bin")
 
int r600_cs_legacy (struct drm_device *dev, void *data, struct drm_file *filp, unsigned family, u32 *ib, int *l)
 
void r600_cs_legacy_init (void)
 
void r600_page_table_cleanup (struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
 
int r600_page_table_init (struct drm_device *dev)
 
int r600_do_engine_reset (struct drm_device *dev)
 
int r600_do_cleanup_cp (struct drm_device *dev)
 
int r600_do_init_cp (struct drm_device *dev, drm_radeon_init_t *init, struct drm_file *file_priv)
 
int r600_do_resume_cp (struct drm_device *dev, struct drm_file *file_priv)
 
int r600_do_cp_idle (drm_radeon_private_t *dev_priv)
 
void r600_do_cp_start (drm_radeon_private_t *dev_priv)
 
void r600_do_cp_reset (drm_radeon_private_t *dev_priv)
 
void r600_do_cp_stop (drm_radeon_private_t *dev_priv)
 
int r600_cp_dispatch_indirect (struct drm_device *dev, struct drm_buf *buf, int start, int end)
 
void r600_cp_dispatch_swap (struct drm_device *dev, struct drm_file *file_priv)
 
int r600_cp_dispatch_texture (struct drm_device *dev, struct drm_file *file_priv, drm_radeon_texture_t *tex, drm_radeon_tex_image_t *image)
 
int r600_cs_legacy_ioctl (struct drm_device *dev, void *data, struct drm_file *fpriv)
 
void r600_cs_legacy_get_tiling_conf (struct drm_device *dev, u32 *npipes, u32 *nbanks, u32 *group_size)
 

Macro Definition Documentation

#define ATI_PCIGART_PAGE_MASK   (~(ATI_PCIGART_PAGE_SIZE-1))

Definition at line 69 of file r600_cp.c.

#define ATI_PCIGART_PAGE_SIZE   4096

PCI GART page size

Definition at line 68 of file r600_cp.c.

#define PFP_UCODE_SIZE   576

Definition at line 35 of file r600_cp.c.

#define PM4_UCODE_SIZE   1792

Definition at line 36 of file r600_cp.c.

#define R600_PTE_READABLE   (1 << 5)

Definition at line 74 of file r600_cp.c.

#define R600_PTE_SNOOPED   (1 << 2)

Definition at line 73 of file r600_cp.c.

#define R600_PTE_SYSTEM   (1 << 1)

Definition at line 72 of file r600_cp.c.

#define R600_PTE_VALID   (1 << 0)

Definition at line 71 of file r600_cp.c.

#define R600_PTE_WRITEABLE   (1 << 6)

Definition at line 75 of file r600_cp.c.

#define R6XX_MAX_BACKENDS   8

Definition at line 82 of file r600_cp.c.

#define R6XX_MAX_BACKENDS_MASK   0xff

Definition at line 83 of file r600_cp.c.

#define R6XX_MAX_PIPES   8

Definition at line 86 of file r600_cp.c.

#define R6XX_MAX_PIPES_MASK   0xff

Definition at line 87 of file r600_cp.c.

#define R6XX_MAX_SH_GPRS   256

Definition at line 78 of file r600_cp.c.

#define R6XX_MAX_SH_STACK_ENTRIES   4096

Definition at line 81 of file r600_cp.c.

#define R6XX_MAX_SH_THREADS   256

Definition at line 80 of file r600_cp.c.

#define R6XX_MAX_SIMDS   8

Definition at line 84 of file r600_cp.c.

#define R6XX_MAX_SIMDS_MASK   0xff

Definition at line 85 of file r600_cp.c.

#define R6XX_MAX_TEMP_GPRS   16

Definition at line 79 of file r600_cp.c.

#define R700_PFP_UCODE_SIZE   848

Definition at line 37 of file r600_cp.c.

#define R700_PM4_UCODE_SIZE   1360

Definition at line 38 of file r600_cp.c.

#define R7XX_MAX_BACKENDS   8

Definition at line 93 of file r600_cp.c.

#define R7XX_MAX_BACKENDS_MASK   0xff

Definition at line 94 of file r600_cp.c.

#define R7XX_MAX_PIPES   8

Definition at line 97 of file r600_cp.c.

#define R7XX_MAX_PIPES_MASK   0xff

Definition at line 98 of file r600_cp.c.

#define R7XX_MAX_SH_GPRS   256

Definition at line 89 of file r600_cp.c.

#define R7XX_MAX_SH_STACK_ENTRIES   4096

Definition at line 92 of file r600_cp.c.

#define R7XX_MAX_SH_THREADS   256

Definition at line 91 of file r600_cp.c.

#define R7XX_MAX_SIMDS   16

Definition at line 95 of file r600_cp.c.

#define R7XX_MAX_SIMDS_MASK   0xffff

Definition at line 96 of file r600_cp.c.

#define R7XX_MAX_TEMP_GPRS   16

Definition at line 90 of file r600_cp.c.

Function Documentation

MODULE_FIRMWARE ( "radeon/R600_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/R600_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV610_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV610_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV630_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV630_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV620_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV620_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV635_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV635_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV670_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV670_me.bin"  )
MODULE_FIRMWARE ( "radeon/RS780_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RS780_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV770_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV770_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV730_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV730_me.bin"  )
MODULE_FIRMWARE ( "radeon/RV710_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/RV710_me.bin"  )
int r600_cp_dispatch_indirect ( struct drm_device dev,
struct drm_buf *  buf,
int  start,
int  end 
)

Definition at line 2383 of file r600_cp.c.

void r600_cp_dispatch_swap ( struct drm_device dev,
struct drm_file *  file_priv 
)

Definition at line 2420 of file r600_cp.c.

int r600_cp_dispatch_texture ( struct drm_device dev,
struct drm_file *  file_priv,
drm_radeon_texture_t tex,
drm_radeon_tex_image_t image 
)

Definition at line 2480 of file r600_cp.c.

int r600_cs_legacy ( struct drm_device dev,
void data,
struct drm_file *  filp,
unsigned  family,
u32 ib,
int l 
)

Definition at line 2439 of file r600_cs.c.

void r600_cs_legacy_get_tiling_conf ( struct drm_device dev,
u32 npipes,
u32 nbanks,
u32 group_size 
)

Definition at line 2656 of file r600_cp.c.

void r600_cs_legacy_init ( void  )

Definition at line 2495 of file r600_cs.c.

int r600_cs_legacy_ioctl ( struct drm_device dev,
void data,
struct drm_file *  fpriv 
)

Definition at line 2615 of file r600_cp.c.

int r600_do_cleanup_cp ( struct drm_device dev)

Definition at line 1940 of file r600_cp.c.

int r600_do_cp_idle ( drm_radeon_private_t dev_priv)

Definition at line 2310 of file r600_cp.c.

void r600_do_cp_reset ( drm_radeon_private_t dev_priv)

Definition at line 2359 of file r600_cp.c.

void r600_do_cp_start ( drm_radeon_private_t dev_priv)

Definition at line 2331 of file r600_cp.c.

void r600_do_cp_stop ( drm_radeon_private_t dev_priv)

Definition at line 2370 of file r600_cp.c.

int r600_do_engine_reset ( struct drm_device dev)

Definition at line 570 of file r600_cp.c.

int r600_do_init_cp ( struct drm_device dev,
drm_radeon_init_t init,
struct drm_file *  file_priv 
)

Definition at line 1984 of file r600_cp.c.

int r600_do_resume_cp ( struct drm_device dev,
struct drm_file *  file_priv 
)

Definition at line 2290 of file r600_cp.c.

void r600_page_table_cleanup ( struct drm_device dev,
struct drm_ati_pcigart_info *  gart_info 
)

Definition at line 149 of file r600_cp.c.

int r600_page_table_init ( struct drm_device dev)

Definition at line 176 of file r600_cp.c.