Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
arbiter.c File Reference
#include <hwregs/reg_map.h>
#include <hwregs/reg_rdwr.h>
#include <hwregs/marb_foo_defs.h>
#include <hwregs/marb_bar_defs.h>
#include <arbiter.h>
#include <hwregs/intr_vect.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/signal.h>
#include <linux/errno.h>
#include <linux/spinlock.h>
#include <asm/io.h>
#include <asm/irq_regs.h>

Go to the source code of this file.

Data Structures

struct  crisv32_watch_entry
 
struct  arbiter
 

Macros

#define D(x)
 
#define NUMBER_OF_BP   4
 
#define SDRAM_BANDWIDTH   400000000
 
#define INTMEM_BANDWIDTH   400000000
 
#define NBR_OF_SLOTS   64
 
#define NBR_OF_REGIONS   2
 
#define NBR_OF_CLIENTS   15
 
#define ARBITERS   2
 
#define UNASSIGNED   100
 

Functions

 DEFINE_SPINLOCK (arbiter_lock)
 
int crisv32_arbiter_allocate_bandwidth (int client, int region, unsigned long bandwidth)
 
void crisv32_arbiter_deallocate_bandwidth (int client, int region)
 
int crisv32_arbiter_watch (unsigned long start, unsigned long size, unsigned long clients, unsigned long accesses, watch_callback *cb)
 
int crisv32_arbiter_unwatch (int id)
 
void show_registers (struct pt_regs *regs)
 

Variables

struct arbiter arbiters [ARBITERS]
 
char _stext
 
char _etext
 

Macro Definition Documentation

#define ARBITERS   2

Definition at line 68 of file arbiter.c.

#define D (   x)

Definition at line 52 of file arbiter.c.

#define INTMEM_BANDWIDTH   400000000

Definition at line 64 of file arbiter.c.

#define NBR_OF_CLIENTS   15

Definition at line 67 of file arbiter.c.

#define NBR_OF_REGIONS   2

Definition at line 66 of file arbiter.c.

#define NBR_OF_SLOTS   64

Definition at line 65 of file arbiter.c.

#define NUMBER_OF_BP   4

Definition at line 62 of file arbiter.c.

#define SDRAM_BANDWIDTH   400000000

Definition at line 63 of file arbiter.c.

#define UNASSIGNED   100

Definition at line 69 of file arbiter.c.

Function Documentation

int crisv32_arbiter_allocate_bandwidth ( int  client,
int  region,
unsigned long  bandwidth 
)

Definition at line 285 of file arbiter.c.

void crisv32_arbiter_deallocate_bandwidth ( int  client,
int  region 
)

Definition at line 344 of file arbiter.c.

int crisv32_arbiter_unwatch ( int  id)

Definition at line 468 of file arbiter.c.

int crisv32_arbiter_watch ( unsigned long  start,
unsigned long  size,
unsigned long  clients,
unsigned long  accesses,
watch_callback cb 
)

Definition at line 362 of file arbiter.c.

DEFINE_SPINLOCK ( arbiter_lock  )
void show_registers ( struct pt_regs regs)

Definition at line 17 of file traps.c.

Variable Documentation

char _etext
char _stext
struct arbiter arbiters[ARBITERS]
Initial value:
=
{
{
.instance = regi_marb_foo,
.nbr_regions = 2,
.nbr_clients = 15
},
{
.instance = regi_marb_bar,
.nbr_regions = 1,
.nbr_clients = 9
}
}

Definition at line 95 of file arbiter.c.