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


#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


 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)


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.