Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
si.c File Reference
#include <linux/firmware.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <drm/drmP.h>
#include "radeon.h"
#include "radeon_asic.h"
#include <drm/radeon_drm.h>
#include "sid.h"
#include "atom.h"
#include "si_blit_shaders.h"

Go to the source code of this file.

Data Structures

struct  dce6_wm_params
 

Macros

#define SI_PFP_UCODE_SIZE   2144
 
#define SI_PM4_UCODE_SIZE   2144
 
#define SI_CE_UCODE_SIZE   2144
 
#define SI_RLC_UCODE_SIZE   2048
 
#define SI_MC_UCODE_SIZE   7769
 
#define TAHITI_IO_MC_REGS_SIZE   36
 

Functions

 MODULE_FIRMWARE ("radeon/TAHITI_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/TAHITI_me.bin")
 
 MODULE_FIRMWARE ("radeon/TAHITI_ce.bin")
 
 MODULE_FIRMWARE ("radeon/TAHITI_mc.bin")
 
 MODULE_FIRMWARE ("radeon/TAHITI_rlc.bin")
 
 MODULE_FIRMWARE ("radeon/PITCAIRN_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/PITCAIRN_me.bin")
 
 MODULE_FIRMWARE ("radeon/PITCAIRN_ce.bin")
 
 MODULE_FIRMWARE ("radeon/PITCAIRN_mc.bin")
 
 MODULE_FIRMWARE ("radeon/PITCAIRN_rlc.bin")
 
 MODULE_FIRMWARE ("radeon/VERDE_pfp.bin")
 
 MODULE_FIRMWARE ("radeon/VERDE_me.bin")
 
 MODULE_FIRMWARE ("radeon/VERDE_ce.bin")
 
 MODULE_FIRMWARE ("radeon/VERDE_mc.bin")
 
 MODULE_FIRMWARE ("radeon/VERDE_rlc.bin")
 
int r600_ih_ring_alloc (struct radeon_device *rdev)
 
void r600_ih_ring_fini (struct radeon_device *rdev)
 
void evergreen_fix_pci_max_read_req_size (struct radeon_device *rdev)
 
void evergreen_mc_stop (struct radeon_device *rdev, struct evergreen_mc_save *save)
 
void evergreen_mc_resume (struct radeon_device *rdev, struct evergreen_mc_save *save)
 
u32 evergreen_get_number_of_dram_channels (struct radeon_device *rdev)
 
int si_get_temp (struct radeon_device *rdev)
 
void dce6_bandwidth_update (struct radeon_device *rdev)
 
void si_fence_ring_emit (struct radeon_device *rdev, struct radeon_fence *fence)
 
void si_ring_ib_execute (struct radeon_device *rdev, struct radeon_ib *ib)
 
bool si_gpu_is_lockup (struct radeon_device *rdev, struct radeon_ring *ring)
 
int si_asic_reset (struct radeon_device *rdev)
 
void si_pcie_gart_tlb_flush (struct radeon_device *rdev)
 
int si_ib_parse (struct radeon_device *rdev, struct radeon_ib *ib)
 
int si_vm_init (struct radeon_device *rdev)
 
void si_vm_fini (struct radeon_device *rdev)
 
void si_vm_set_page (struct radeon_device *rdev, uint64_t pe, uint64_t addr, unsigned count, uint32_t incr, uint32_t flags)
 
void si_vm_flush (struct radeon_device *rdev, int ridx, struct radeon_vm *vm)
 
void si_rlc_fini (struct radeon_device *rdev)
 
int si_rlc_init (struct radeon_device *rdev)
 
int si_irq_set (struct radeon_device *rdev)
 
int si_irq_process (struct radeon_device *rdev)
 
int si_resume (struct radeon_device *rdev)
 
int si_suspend (struct radeon_device *rdev)
 
int si_init (struct radeon_device *rdev)
 
void si_fini (struct radeon_device *rdev)
 
uint64_t si_get_gpu_clock (struct radeon_device *rdev)
 

Macro Definition Documentation

#define SI_CE_UCODE_SIZE   2144

Definition at line 38 of file si.c.

#define SI_MC_UCODE_SIZE   7769

Definition at line 40 of file si.c.

#define SI_PFP_UCODE_SIZE   2144

Definition at line 36 of file si.c.

#define SI_PM4_UCODE_SIZE   2144

Definition at line 37 of file si.c.

#define SI_RLC_UCODE_SIZE   2048

Definition at line 39 of file si.c.

#define TAHITI_IO_MC_REGS_SIZE   36

Definition at line 84 of file si.c.

Function Documentation

void dce6_bandwidth_update ( struct radeon_device rdev)

Definition at line 844 of file si.c.

void evergreen_fix_pci_max_read_req_size ( struct radeon_device rdev)

Definition at line 87 of file evergreen.c.

u32 evergreen_get_number_of_dram_channels ( struct radeon_device rdev)

Definition at line 745 of file evergreen.c.

void evergreen_mc_resume ( struct radeon_device rdev,
struct evergreen_mc_save save 
)

Definition at line 1350 of file evergreen.c.

void evergreen_mc_stop ( struct radeon_device rdev,
struct evergreen_mc_save save 
)

Definition at line 1296 of file evergreen.c.

MODULE_FIRMWARE ( "radeon/TAHITI_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/TAHITI_me.bin"  )
MODULE_FIRMWARE ( "radeon/TAHITI_ce.bin"  )
MODULE_FIRMWARE ( "radeon/TAHITI_mc.bin"  )
MODULE_FIRMWARE ( "radeon/TAHITI_rlc.bin"  )
MODULE_FIRMWARE ( "radeon/PITCAIRN_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/PITCAIRN_me.bin"  )
MODULE_FIRMWARE ( "radeon/PITCAIRN_ce.bin"  )
MODULE_FIRMWARE ( "radeon/PITCAIRN_mc.bin"  )
MODULE_FIRMWARE ( "radeon/PITCAIRN_rlc.bin"  )
MODULE_FIRMWARE ( "radeon/VERDE_pfp.bin"  )
MODULE_FIRMWARE ( "radeon/VERDE_me.bin"  )
MODULE_FIRMWARE ( "radeon/VERDE_ce.bin"  )
MODULE_FIRMWARE ( "radeon/VERDE_mc.bin"  )
MODULE_FIRMWARE ( "radeon/VERDE_rlc.bin"  )
int r600_ih_ring_alloc ( struct radeon_device rdev)

Definition at line 2700 of file r600.c.

void r600_ih_ring_fini ( struct radeon_device rdev)

Definition at line 2736 of file r600.c.

int si_asic_reset ( struct radeon_device rdev)

Definition at line 2187 of file si.c.

void si_fence_ring_emit ( struct radeon_device rdev,
struct radeon_fence fence 
)

Definition at line 1741 of file si.c.

void si_fini ( struct radeon_device rdev)

Definition at line 3999 of file si.c.

uint64_t si_get_gpu_clock ( struct radeon_device rdev)

si_get_gpu_clock - return GPU clock counter snapshot

: radeon_device pointer

Fetches a GPU clock counter snapshot (SI). Returns the 64 bit clock counter snapshot.

Definition at line 4029 of file si.c.

int si_get_temp ( struct radeon_device rdev)

Definition at line 66 of file si.c.

bool si_gpu_is_lockup ( struct radeon_device rdev,
struct radeon_ring ring 
)

Definition at line 2104 of file si.c.

int si_ib_parse ( struct radeon_device rdev,
struct radeon_ib ib 
)

Definition at line 2725 of file si.c.

int si_init ( struct radeon_device rdev)

Definition at line 3900 of file si.c.

int si_irq_process ( struct radeon_device rdev)

Definition at line 3447 of file si.c.

int si_irq_set ( struct radeon_device rdev)

Definition at line 3162 of file si.c.

void si_pcie_gart_tlb_flush ( struct radeon_device rdev)

Definition at line 2358 of file si.c.

int si_resume ( struct radeon_device rdev)

Definition at line 3859 of file si.c.

void si_ring_ib_execute ( struct radeon_device rdev,
struct radeon_ib ib 
)

Definition at line 1771 of file si.c.

void si_rlc_fini ( struct radeon_device rdev)

Definition at line 2886 of file si.c.

int si_rlc_init ( struct radeon_device rdev)

Definition at line 2915 of file si.c.

int si_suspend ( struct radeon_device rdev)

Definition at line 3882 of file si.c.

void si_vm_fini ( struct radeon_device rdev)

Definition at line 2790 of file si.c.

void si_vm_flush ( struct radeon_device rdev,
int  ridx,
struct radeon_vm vm 
)

Definition at line 2840 of file si.c.

int si_vm_init ( struct radeon_device rdev)

Definition at line 2780 of file si.c.

void si_vm_set_page ( struct radeon_device rdev,
uint64_t  pe,
uint64_t  addr,
unsigned  count,
uint32_t  incr,
uint32_t  flags 
)

si_vm_set_page - update the page tables using the CP

: radeon_device pointer : addr of the page entry : dst addr to write into pe : number of page entries to update : increase next addr by incr bytes : access flags

Update the page tables using the CP (cayman-si).

Definition at line 2806 of file si.c.