summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/1553
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2009-11-29 15:33:28 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2009-11-29 15:33:28 +0000
commit44b06ca617a8d8910a308037ebad06876085a6cc (patch)
treec9bd98f2ad44ad1fbfab11b51f9b09c9d3561d0b /c/src/lib/libbsp/sparc/shared/1553
parentWhitespace removal. (diff)
downloadrtems-44b06ca617a8d8910a308037ebad06876085a6cc.tar.bz2
Whitespace removal.
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/1553')
-rw-r--r--c/src/lib/libbsp/sparc/shared/1553/b1553brm.c318
-rw-r--r--c/src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c18
-rw-r--r--c/src/lib/libbsp/sparc/shared/1553/b1553brm_rasta.c18
3 files changed, 177 insertions, 177 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c b/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c
index cc9988be32..5eac447450 100644
--- a/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c
+++ b/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c
@@ -1,5 +1,5 @@
/*
- * BRM driver
+ * BRM driver
*
* COPYRIGHT (c) 2006.
* Gaisler Research.
@@ -21,7 +21,7 @@
#endif
/* default name to /dev/brm */
-#if !defined(B1553BRM_DEVNAME) || !defined(B1553BRM_DEVNAME_NO)
+#if !defined(B1553BRM_DEVNAME) || !defined(B1553BRM_DEVNAME_NO)
#undef B1553BRM_DEVNAME
#undef B1553BRM_DEVNAME_NO
#define B1553BRM_DEVNAME "/dev/brm0"
@@ -68,7 +68,7 @@
/* EVENT_QUEUE_SIZE sets the size of the event queue
*/
-#define EVENT_QUEUE_SIZE 1024
+#define EVENT_QUEUE_SIZE 1024
#define INDEX(x) ( x&(EVENT_QUEUE_SIZE-1) )
@@ -76,13 +76,13 @@
#ifdef DEBUG
#define DBG(x...) printk(x)
#else
-#define DBG(x...)
+#define DBG(x...)
#endif
#ifdef FUNCDEBUG
#define FUNCDBG(x...) printk(x)
#else
-#define FUNCDBG(x...)
+#define FUNCDBG(x...)
#endif
#define READ_REG(address) _BRM_REG_READ16((unsigned int)address)
@@ -132,7 +132,7 @@ struct irq_log_list {
volatile unsigned short iaw;
};
-typedef struct {
+typedef struct {
unsigned int memarea_base;
struct brm_reg *regs;
@@ -140,7 +140,7 @@ typedef struct {
/* BRM descriptors */
struct desc_table {
- volatile unsigned short ctrl;
+ volatile unsigned short ctrl;
volatile unsigned short top;
volatile unsigned short cur;
volatile unsigned short bot;
@@ -160,7 +160,7 @@ typedef struct {
unsigned short ba; /* branch address */
unsigned short timer; /* timer value */
} descs[128]; /* 2k (1024 half words) */
-
+
/* message data */
struct {
unsigned short data[32]; /* 1 message's data */
@@ -191,7 +191,7 @@ typedef struct {
struct desc_table rxmodes[32];
/* TX mode code descriptors */
struct desc_table txmodes[32];
-
+
/* RX Sub Address messages */
struct circ_buf rxsuba_msgs[32];
/* TX Sub Address messages */
@@ -200,11 +200,11 @@ typedef struct {
struct circ_buf rxmode_msgs[32];
/* RX Mode Code messages */
struct circ_buf txmode_msgs[32];
-
-
+
+
/* offset to last 64bytes of 128k: tot-used-needed */
unsigned short unused[(64*1024-(4*32*4+4*32*9*34))-16*2];
-
+
/* interrupt log at 64 bytes from end */
struct irq_log_list irq_logs[16];
} *rtmem;
@@ -224,7 +224,7 @@ typedef struct {
struct desc_table rxmodes[32];
/* TX mode code descriptors */
struct desc_table txmodes[32];
-
+
/* RX Sub Address messages */
struct circ_buf_2 rxsuba_msgs[32];
/* TX Sub Address messages */
@@ -233,11 +233,11 @@ typedef struct {
struct circ_buf_2 rxmode_msgs[32];
/* RX Mode Code messages */
struct circ_buf_1 txmode_msgs[32];
-
-
+
+
/* offset to last 64bytes of 16k: tot-used-needed */
unsigned short unused[8*1024 -(4*32*4 +3*32*2*34 +1*32*1*34) -16*2];
-
+
/* interrupt log at 64 bytes from end */
struct irq_log_list irq_logs[16];
} *rtmem;
@@ -266,11 +266,11 @@ typedef struct {
int minor;
int irqno;
unsigned int mode;
-#ifdef DEBUG
+#ifdef DEBUG
unsigned int log[EVENT_QUEUE_SIZE*4];
unsigned int log_i;
#endif
-
+
rtems_id event_id; /* event that may be signalled upon errors, needs to be set through ioctl command BRM_SET_EVENTID */
unsigned int status;
int bc_list_fail;
@@ -298,7 +298,7 @@ static int odd_parity(unsigned int data) {
{
i++;
data &= (data - 1);
- }
+ }
return !(i&1);
}
@@ -346,25 +346,25 @@ int B1553BRM_PREFIX(_register)(amba_confarea_type *bus, unsigned int clksel, uns
rtems_device_major_number m;
FUNCDBG("brm_register:\n\r");
-
+
/* save amba bus pointer */
amba_bus = bus;
if ( !bus ){
printk("brm_register: bus is NULL\n\r");
return 1;
}
-
+
#ifdef B1553BRM_LOCAL_MEM
allbrm_memarea = B1553BRM_LOCAL_MEM_ADR;
#else
allbrm_memarea = 0;
#endif
-
+
/* Save clksel, clkdiv and brm_freq for later use */
allbrm_cfg_clksel = clksel & CLKSEL_MASK;
allbrm_cfg_clkdiv = clkdiv & CLKDIV_MASK;
allbrm_cfg_freq = brm_freq & BRM_FREQ_MASK;
-
+
if ((r = rtems_io_register_driver(0, &brm_driver, &m)) == RTEMS_SUCCESSFUL) {
DBG("BRM: driver successfully registered, major: %d\n",m);
@@ -404,12 +404,12 @@ static rtems_device_driver rt_init(brm_priv *brm) {
if ( brm->rt_event )
free(brm->rt_event);
-
+
brm->bcmem = NULL;
brm->rtmem = (void *)brm->mem;
brm->rt_event = (struct rt_msg *) malloc(EVENT_QUEUE_SIZE*sizeof(struct rt_msg));
-
+
if (brm->rt_event == NULL) {
DBG("BRM driver failed to allocated memory.");
return RTEMS_NO_MEMORY;
@@ -426,7 +426,7 @@ static rtems_device_driver rt_init(brm_priv *brm) {
brm->regs->w_ctrl = (allbrm_cfg_clksel<<9) | (allbrm_cfg_clkdiv<<5) | 1;
brm->regs->w_irqctrl = 6;
brm->regs->w_ahbaddr = (unsigned int) memarea_to_hw(brm->memarea_base);
-
+
clr_int_logs(brm->irq_log);
/* Legalize all commands */
@@ -434,19 +434,19 @@ static rtems_device_driver rt_init(brm_priv *brm) {
brm->regs->rt_cmd_leg[i] = 0;
}
- /* Init descriptor table
- *
+ /* Init descriptor table
+ *
* Each circular buffer has room for 8 messages with up to 34 (32 data + miw + time) words (16b) in each.
* The buffers must separated by 34 words.
*/
-
+
/* RX Sub-address 0 - 31 */
for (i = 0; i < 32; i++) {
brm->rtmem->rxsubs[i].ctrl = 0x00E0; /* Interrupt: INTX, IWA, and IBRD */
brm->rtmem->rxsubs[i].top = OFS(brm->rtmem->rxsuba_msgs[i]); /* Top address */
brm->rtmem->rxsubs[i].cur = OFS(brm->rtmem->rxsuba_msgs[i]); /* Current address */
- brm->rtmem->rxsubs[i].bot = OFS(brm->rtmem->rxsuba_msgs[i+1]) - sizeof(struct msg)/2; /* Bottom address */
+ brm->rtmem->rxsubs[i].bot = OFS(brm->rtmem->rxsuba_msgs[i+1]) - sizeof(struct msg)/2; /* Bottom address */
brm->last_read[i] = OFS(brm->rtmem->rxsuba_msgs[i]);
}
/* TX Sub-address 0 - 31 */
@@ -465,7 +465,7 @@ static rtems_device_driver rt_init(brm_priv *brm) {
brm->rtmem->rxmodes[i].cur = OFS(brm->rtmem->rxmode_msgs[i]); /* Current address */
brm->rtmem->rxmodes[i].bot = OFS(brm->rtmem->rxmode_msgs[i+1]) - sizeof(struct msg)/2; /* Bottom address */
brm->last_read[i+64] = OFS(brm->rtmem->rxmode_msgs[i]);
- }
+ }
/* TX mode code 0 - 31 */
for (i = 0; i < 32; i++) {
brm->rtmem->txmodes[i].ctrl = 0x0060; /* Interrupt: IWA and IBRD */
@@ -474,7 +474,7 @@ static rtems_device_driver rt_init(brm_priv *brm) {
brm->rtmem->txmodes[i].bot = OFS(brm->rtmem->txmode_msgs[i+1]) - sizeof(struct msg)/2; /* Bottom address */
brm->last_read[i+96] = OFS(brm->rtmem->txmode_msgs[i]);
}
-
+
brm->mode = BRM_MODE_RT;
return RTEMS_SUCCESSFUL;
@@ -489,14 +489,14 @@ static rtems_device_driver bc_init(brm_priv *brm){
if ( brm->rt_event )
free(brm->rt_event);
brm->rt_event = NULL;
-
+
brm->bcmem = (void *)brm->mem;
brm->rtmem = NULL;
brm->irq_log = (struct irq_log_list *)&brm->bcmem->irq_logs[0];
-
+
brm->head = brm->tail = 0;
brm->rx_blocking = brm->tx_blocking = 1;
-
+
brm->regs->ctrl = 0x0006; /* ping pong enable and enable interrupt log */
brm->regs->oper = 0x0800; /* configure as BC */
brm->regs->imask = BRM_EOL_IRQ|BRM_BC_ILLCMD_IRQ|BRM_ILLOP_IRQ|BRM_DMAF_IRQ|BRM_WRAPF_IRQ|BRM_MERR_IRQ;
@@ -507,11 +507,11 @@ static rtems_device_driver bc_init(brm_priv *brm){
brm->regs->w_ctrl = (allbrm_cfg_clksel<<9) | (allbrm_cfg_clkdiv<<5) | 1;
brm->regs->w_irqctrl = 6;
brm->regs->w_ahbaddr = (unsigned int) memarea_to_hw(brm->memarea_base);
-
+
clr_int_logs(brm->irq_log);
-
+
brm->mode = BRM_MODE_BC;
-
+
return RTEMS_SUCCESSFUL;
}
@@ -527,12 +527,12 @@ static rtems_device_driver bm_init(brm_priv *brm) {
if ( brm->bm_event )
free(brm->bm_event);
-
+
brm->bcmem = NULL;
brm->rtmem = NULL;
-
+
brm->bm_event = (struct bm_msg *) malloc(EVENT_QUEUE_SIZE*sizeof(struct bm_msg));
-
+
if (brm->bm_event == NULL) {
DBG("BRM driver failed to allocated memory.");
return RTEMS_NO_MEMORY;
@@ -553,11 +553,11 @@ static rtems_device_driver bm_init(brm_priv *brm) {
brm->regs->w_ctrl = (allbrm_cfg_clksel<<9) | (allbrm_cfg_clkdiv<<5) | 1;
brm->regs->w_irqctrl = 6;
brm->regs->w_ahbaddr = (unsigned int) memarea_to_hw(brm->memarea_base);
-
+
clr_int_logs(brm->irq_log);
-
+
brm->mode = BRM_MODE_BM;
-
+
return RTEMS_SUCCESSFUL;
}
@@ -570,12 +570,12 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems
brm_priv *brm;
amba_ahb_device ambadev;
char *mem;
-
+
FUNCDBG("brm_initialize\n");
brm_cores = 0;
strcpy(fs_name,B1553BRM_DEVNAME);
-
+
/* Find all BRM devices */
dev_cnt = amba_get_number_ahbslv_devices(amba_bus,VENDOR_GAISLER,GAISLER_BRM);
if ( dev_cnt < 1 ){
@@ -583,16 +583,16 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems
printk("BRM: Failed to find any BRM cores\n\r");
return -1;
}
-
+
/* allocate & zero memory for the brm devices */
brms = (brm_priv *)malloc(sizeof(*brms)*dev_cnt);
if ( !brms ){
printk("BRM: Failed to allocate SW memory\n\r");
return -1;
}
- memset(brms,0,sizeof(*brms)*dev_cnt);
-
- /* Allocate memory for all device's descriptors,
+ memset(brms,0,sizeof(*brms)*dev_cnt);
+
+ /* Allocate memory for all device's descriptors,
* they must be aligned to a XXX byte boundary.
*/
#define BRM_DESCS_PER_CTRL 128
@@ -606,7 +606,7 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems
printk("BRM: Failed to allocate HW memory\n\r");
return -1;
}
-
+
/* align memory to 128k boundary */
mem = (char *)(((unsigned int)mem+0x1ffff) & ~0x1ffff);
}
@@ -617,34 +617,34 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems
/* initialize each brm device, one at a time */
for(minor=0; minor<dev_cnt; minor++){
brm = &brms[minor];
-
+
/* Get AMBA AHB device info from Plug&Play */
amba_find_next_ahbslv(amba_bus,VENDOR_GAISLER,GAISLER_BRM,&ambadev,minor);
-
+
/* Copy Basic HW info */
brm->regs = (void *)ambadev.start[0];
brm->irqno = ambadev.irq;
brm->minor = minor;
brm->irq = 0;
#ifdef DEBUG
- brm->log_i = 0;
+ brm->log_i = 0;
memset(brm->log,0,sizeof(brm->log));
#endif
-
+
/* Set unique name */
B1553BRM_DEVNAME_NO(fs_name,minor);
-
+
DBG("Registering BRM core at [0x%x] irq %d, minor %d as %s\n",brm->regs,brm->irqno,minor,fs_name);
-
+
/* Bind filesystem name to device number (minor) */
status = rtems_io_register_name(fs_name, major, minor);
if (status != RTEMS_SUCCESSFUL)
rtems_fatal_error_occurred(status);
-
+
/* RX Semaphore created with count = 0 */
if ( rtems_semaphore_create(rtems_build_name('B', 'M', 'R', '0'+minor),
0,
- RTEMS_FIFO|RTEMS_SIMPLE_BINARY_SEMAPHORE|RTEMS_NO_INHERIT_PRIORITY|RTEMS_LOCAL|RTEMS_NO_PRIORITY_CEILING,
+ RTEMS_FIFO|RTEMS_SIMPLE_BINARY_SEMAPHORE|RTEMS_NO_INHERIT_PRIORITY|RTEMS_LOCAL|RTEMS_NO_PRIORITY_CEILING,
0,
&brm->rx_sem) != RTEMS_SUCCESSFUL ){
printk("BRM: Failed to create rx semaphore\n");
@@ -654,7 +654,7 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems
/* TX Semaphore created with count = 1 */
if ( rtems_semaphore_create(rtems_build_name('B', 'M', 'T', '0'+minor),
1,
- RTEMS_FIFO|RTEMS_SIMPLE_BINARY_SEMAPHORE|RTEMS_NO_INHERIT_PRIORITY|RTEMS_LOCAL|RTEMS_NO_PRIORITY_CEILING,
+ RTEMS_FIFO|RTEMS_SIMPLE_BINARY_SEMAPHORE|RTEMS_NO_INHERIT_PRIORITY|RTEMS_LOCAL|RTEMS_NO_PRIORITY_CEILING,
0,
&brm->tx_sem) != RTEMS_SUCCESSFUL ){
printk("BRM: Failed to create tx semaphore\n");
@@ -664,69 +664,69 @@ static rtems_device_driver brm_initialize(rtems_device_major_number major, rtems
/* Device Semaphore created with count = 1 */
if ( rtems_semaphore_create(rtems_build_name('B', 'M', 'D', '0'+minor),
1,
- RTEMS_FIFO|RTEMS_SIMPLE_BINARY_SEMAPHORE|RTEMS_NO_INHERIT_PRIORITY|RTEMS_LOCAL|RTEMS_NO_PRIORITY_CEILING,
+ RTEMS_FIFO|RTEMS_SIMPLE_BINARY_SEMAPHORE|RTEMS_NO_INHERIT_PRIORITY|RTEMS_LOCAL|RTEMS_NO_PRIORITY_CEILING,
0,
&brm->dev_sem) != RTEMS_SUCCESSFUL ){
printk("BRM: Failed to create device semaphore\n");
return RTEMS_INTERNAL_ERROR;
}
-
+
/* Set base address of all descriptors */
brm->memarea_base = (unsigned int)&mem[(128*1024) * minor];
brm->desc = (struct desc_table *) brm->memarea_base;
brm->mem = (volatile unsigned short *) brm->memarea_base;
brm->irq_log = (struct irq_log_list *)(brm->memarea_base + (0xFFE0<<1)); /* last 64byte */
-
+
brm->bm_event = NULL;
brm->rt_event = NULL;
-
+
/* Sel clock so that we can write to BRM's registers */
brm->regs->w_ctrl = (allbrm_cfg_clksel<<9) | (allbrm_cfg_clkdiv<<5);
/* Reset BRM core */
brm->regs->w_ctrl = 1<<10 | READ_REG(&brm->regs->w_ctrl);
-
+
/* Register interrupt handler */
B1553BRM_REG_INT(B1553BRM_PREFIX(_interrupt_handler), brm->irqno, brm);
-
+
rt_init(brm);
-
+
DBG("BRM: LOG: 0x%lx, 0x%lx\n\r",brm->log,brm);
}
-
+
/* save number of BRM cores found */
brm_cores = dev_cnt;
-
+
DBG("BRM initialisation done.\n");
-
+
return RTEMS_SUCCESSFUL;
}
static rtems_device_driver brm_open(rtems_device_major_number major, rtems_device_minor_number minor, void *arg) {
brm_priv *brm;
-
+
FUNCDBG("brm_open\n");
if (minor >= brm_cores) {
DBG("Wrong minor %d\n", minor);
return RTEMS_UNSATISFIED; /* ENODEV */
}
-
+
brm = &brms[minor];
-
+
if (rtems_semaphore_obtain(brm->dev_sem, RTEMS_NO_WAIT, RTEMS_NO_TIMEOUT) != RTEMS_SUCCESSFUL) {
DBG("brm_open: resource in use\n");
return RTEMS_RESOURCE_IN_USE; /* EBUSY */
}
-
+
/* Set defaults */
brm->event_id = 0;
-
+
start_operation(brm);
-
+
return RTEMS_SUCCESSFUL;
}
-
+
static rtems_device_driver brm_close(rtems_device_major_number major, rtems_device_minor_number minor, void *arg)
{
brm_priv *brm = &brms[minor];
@@ -737,7 +737,7 @@ static rtems_device_driver brm_close(rtems_device_major_number major, rtems_devi
return RTEMS_SUCCESSFUL;
}
-
+
static int get_rt_messages(brm_priv *brm, void *buf, unsigned int msg_count) {
struct rt_msg *dest = (struct rt_msg *) buf;
@@ -784,13 +784,13 @@ static rtems_device_driver brm_read(rtems_device_major_number major, rtems_devic
int count = 0;
brm_priv *brm = &brms[minor];
int (*get_messages)(brm_priv *brm, void *buf, unsigned int count);
-
+
if ( ! (brm->mode & (BRM_MODE_RT | BRM_MODE_BM)) ){
return RTEMS_INVALID_NAME;
}
-
+
rw_args = (rtems_libio_rw_args_t *) arg;
-
+
if ( ((READ_REG(&brm->regs->oper)>>8) & 3) == 1 ) { /* RT */
get_messages = get_rt_messages;
}
@@ -815,7 +815,7 @@ static rtems_device_driver brm_read(rtems_device_major_number major, rtems_devic
rw_args->bytes_moved = count;
return RTEMS_SUCCESSFUL;
-
+
}
@@ -825,16 +825,16 @@ static rtems_device_driver brm_write(rtems_device_major_number major, rtems_devi
struct rt_msg *source;
unsigned int count=0, current, next, descriptor, wc, suba;
brm_priv *brm = &brms[minor];
-
+
if ( ! (brm->mode & BRM_MODE_RT) ){
return RTEMS_INVALID_NAME;
}
-
+
rw_args = (rtems_libio_rw_args_t *) arg;
source = (struct rt_msg *) rw_args->buffer;
FUNCDBG("brm_write [%i,%i]: buf: 0x%x len: %i\n",major, minor, (unsigned int)rw_args->buffer,rw_args->count);
-
+
do {
descriptor = source[count].desc & 0x7F;
@@ -846,14 +846,14 @@ static rtems_device_driver brm_write(rtems_device_major_number major, rtems_devi
if (descriptor < 32 || descriptor >= 64)
return RTEMS_INVALID_NAME;
- current = brm->desc[descriptor].cur;
+ current = brm->desc[descriptor].cur;
next = brm->written[suba] + 2 + wc;
if (brm->written[suba] < current) {
-
+
if (next > current) {
- /* No room in transmission buffer */
+ /* No room in transmission buffer */
if (brm->tx_blocking && count == 0) {
rtems_semaphore_obtain(brm->tx_sem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
@@ -862,7 +862,7 @@ static rtems_device_driver brm_write(rtems_device_major_number major, rtems_devi
/* return the number of messages sent so far */
break;
}
- else {
+ else {
/* Translates to posix EBUSY */
return RTEMS_RESOURCE_IN_USE;
}
@@ -870,7 +870,7 @@ static rtems_device_driver brm_write(rtems_device_major_number major, rtems_devi
}
memcpy((void *)&brm->mem[brm->written[suba]], &source[count], (2+wc)*2);
-
+
count++;
if (next >= brm->desc[descriptor].bot) {
@@ -879,8 +879,8 @@ static rtems_device_driver brm_write(rtems_device_major_number major, rtems_devi
brm->written[suba] = next;
} while (count < rw_args->count);
-
- rw_args->bytes_moved = count;
+
+ rw_args->bytes_moved = count;
if (count >= 0) {
return RTEMS_SUCCESSFUL;
@@ -890,7 +890,7 @@ static rtems_device_driver brm_write(rtems_device_major_number major, rtems_devi
static rtems_device_driver brm_control(rtems_device_major_number major, rtems_device_minor_number minor, void *arg)
{
-
+
unsigned int i=0;
unsigned short ctrl, oper, cw1, cw2;
rtems_libio_ioctl_args_t *ioarg = (rtems_libio_ioctl_args_t *) arg;
@@ -899,9 +899,9 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
brm_priv *brm = &brms[minor];
rtems_device_driver ret;
int len;
-
+
FUNCDBG("brm_control[%d]: [%i,%i]\n",minor,major, minor);
-
+
if (!ioarg) {
DBG("brm_control: invalid argument\n");
return RTEMS_INVALID_NAME;
@@ -917,17 +917,17 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
if (data[0] == 0) {
ret = bc_init(brm);
}
- else if (data[0] == 1) {
- ret = rt_init(brm);
- }
- else if (data[0] == 2) {
- ret = bm_init(brm);
+ else if (data[0] == 1) {
+ ret = rt_init(brm);
+ }
+ else if (data[0] == 2) {
+ ret = bm_init(brm);
}else
ret = RTEMS_INVALID_NAME;
if ( ret != RTEMS_SUCCESSFUL)
return ret;
-
+
if ( brm->mode & (BRM_MODE_RT | BRM_MODE_BM ) )
start_operation(brm);
break;
@@ -950,7 +950,7 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
start_operation(brm);
break;
- case BRM_SET_RT_ADDR:
+ case BRM_SET_RT_ADDR:
stop_operation(brm);
oper = READ_REG(&brm->regs->oper);
oper &= 0x03FF; /* Clear bit 15-10 ... */
@@ -959,8 +959,8 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
brm->regs->oper = oper;
start_operation(brm);
break;
-
- case BRM_SET_STD:
+
+ case BRM_SET_STD:
stop_operation(brm);
ctrl = READ_REG(&brm->regs->ctrl);
ctrl &= 0xFF7F; /* Clear bit 7 ... */
@@ -979,12 +979,12 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
break;
case BRM_TX_BLOCK:
- brm->tx_blocking = data[0];
+ brm->tx_blocking = data[0];
break;
- case BRM_RX_BLOCK:
- brm->rx_blocking = data[0];
- break;
+ case BRM_RX_BLOCK:
+ brm->rx_blocking = data[0];
+ break;
case BRM_DO_LIST:
@@ -1029,7 +1029,7 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
brm->bcmem->descs[i].cw1 = cw1;
brm->bcmem->descs[i].cw2 = cw2;
/* data pointer:
- * (&brm->bcmem->msg_data[i].data[0] & 0x1ffff) / 2
+ * (&brm->bcmem->msg_data[i].data[0] & 0x1ffff) / 2
*/
brm->bcmem->descs[i].dptr = 1024+i*32; /* data pointer */
brm->bcmem->descs[i].tsw[0] = 0;
@@ -1038,27 +1038,27 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
brm->bcmem->descs[i].timer = 0;
memcpy((void *)&brm->bcmem->msg_data[i].data[0], &cmd_list[i].data[0], cmd_list[i].wc*2);
-
+
i++;
}
brm->bcmem->descs[i].ctrl = 0; /* end of list */
- start_operation(brm);
+ start_operation(brm);
- break;
+ break;
case BRM_LIST_DONE:
if ( brm->mode != BRM_MODE_BC ){
return RTEMS_INVALID_NAME;
}
-
+
/* Check if we are bus controller */
if ( ((READ_REG(&brm->regs->oper)>>8) & 3) != 0 ) {
return RTEMS_INVALID_NAME;
}
-
+
if (is_executing(brm)) {
data[0] = 0;
@@ -1071,8 +1071,8 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
}else{
return RTEMS_RESOURCE_IN_USE;
}
-
-
+
+
}
else {
data[0] = 1; /* done */
@@ -1083,8 +1083,8 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
while ( (brm->cur_list[i].ctrl & BC_EOL) == 0) {
if (READ_DMA(&brm->bcmem->descs[i].ctrl) & 1) {
- brm->cur_list[i].ctrl |= 0x8000; /* Set BAME */
- }
+ brm->cur_list[i].ctrl |= 0x8000; /* Set BAME */
+ }
if (brm->cur_list[i].ctrl & BC_TR) {
/* RT Transmit command, copy received data */
len = brm->cur_list[i].wc;
@@ -1103,15 +1103,15 @@ static rtems_device_driver brm_control(rtems_device_major_number major, rtems_de
case BRM_CLR_STATUS:
brm->status = 0;
break;
-
+
case BRM_GET_STATUS: /* copy status */
if ( !ioarg->buffer )
return RTEMS_INVALID_NAME;
-
+
*(unsigned int *)ioarg->buffer = brm->status;
break;
-
+
case BRM_SET_EVENTID:
brm->event_id = (rtems_id)ioarg->buffer;
break;
@@ -1142,10 +1142,10 @@ static void brm_interrupt(brm_priv *brm) {
int signal_event=0;
unsigned int event_status=0;
#define SET_ERROR_DESCRIPTOR(descriptor) (event_status = (event_status & 0x0000ffff) | descriptor<<16)
-
+
while( (iiw=READ_REG(&brm->irq_log[brm->irq].iiw)) != 0xffff ){
iaw=READ_REG(&brm->irq_log[brm->irq].iaw);
-
+
/* indicate that the interrupt log entry has been processed */
brm->irq_log[brm->irq].iiw = 0xffff;
@@ -1153,17 +1153,17 @@ static void brm_interrupt(brm_priv *brm) {
descriptor = iaw >> 2;
pending = iiw;
brm->irq = (brm->irq + 1) % 16;
-
+
/* Clear the log so that we */
-
-
- /* Subaddress accessed irq (RT only)
+
+
+ /* Subaddress accessed irq (RT only)
*
* Can be either a receive or transmit command
* as well as a mode code.
*/
if (pending & BRM_SUBAD_IRQ) {
-
+
/* Pointer to next free message in circular buffer */
current = READ_DMA(&brm->desc[descriptor].cur);
@@ -1177,29 +1177,29 @@ static void brm_interrupt(brm_priv *brm) {
if (descriptor < 32) {
wc = wc ? wc : 32;
}
- /* Data transmitted */
+ /* Data transmitted */
else if (descriptor < 64) {
- wc = wc ? wc : 32;
+ wc = wc ? wc : 32;
rtems_semaphore_release(brm->tx_sem);
}
/* RX Mode code */
else if (descriptor < 96) {
wc = (wc>>4);
- }
+ }
/* TX Mode code */
else if (descriptor < 128) {
wc = (wc>>4);
}
-#ifdef DEBUG
- brm->log[brm->log_i++ % EVENT_QUEUE_SIZE] = (descriptor << 16) | wc;
+#ifdef DEBUG
+ brm->log[brm->log_i++ % EVENT_QUEUE_SIZE] = (descriptor << 16) | wc;
brm->log[brm->log_i++ % EVENT_QUEUE_SIZE] = current;
brm->log[brm->log_i++ % EVENT_QUEUE_SIZE] = msgadr;
#endif
/* If there is room in the event queue, copy the event there */
if (brm->head - brm->tail != EVENT_QUEUE_SIZE) {
-
+
/* Copy to event queue */
brm->rt_event[INDEX(brm->head)].miw = READ_DMA(&brm->mem[msgadr]);
brm->rt_event[INDEX(brm->head)].time = READ_DMA(&brm->mem[msgadr+1]);
@@ -1229,12 +1229,12 @@ static void brm_interrupt(brm_priv *brm) {
/* Wake any blocked rx thread */
rtems_semaphore_release(brm->rx_sem);
-
+
}
-
+
}
- if (pending & BRM_EOL_IRQ) {
+ if (pending & BRM_EOL_IRQ) {
rtems_semaphore_release(brm->tx_sem);
}
@@ -1246,17 +1246,17 @@ static void brm_interrupt(brm_priv *brm) {
}
/* Monitor irq */
- if (pending & BRM_MBC_IRQ) {
-
+ if (pending & BRM_MBC_IRQ) {
+
stop_operation(brm);
brm->regs->mbc = 1;
start_operation(brm);
-
+
/* If there is room in the event queue, copy the event there */
if (brm->head - brm->tail != EVENT_QUEUE_SIZE) {
-
+
/* Copy to event queue */
-
+
brm->bm_event[INDEX(brm->head)].miw = READ_DMA(&brm->mem[0]);
brm->bm_event[INDEX(brm->head)].cw1 = READ_DMA(&brm->mem[1]);
brm->bm_event[INDEX(brm->head)].cw2 = READ_DMA(&brm->mem[2]);
@@ -1276,7 +1276,7 @@ static void brm_interrupt(brm_priv *brm) {
}
/* memcpy((void *)brm->bm_event[INDEX(brm->head)].data, &brm->mem[0x100], 32);*/
-#ifdef DEBUG
+#ifdef DEBUG
brm->log[brm->log_i++ % EVENT_QUEUE_SIZE] = READ_REG(&brm->regs->mbc);
brm->log[brm->log_i++ % EVENT_QUEUE_SIZE] = READ_DMA(&brm->mem[0]);
brm->log[brm->log_i++ % EVENT_QUEUE_SIZE] = READ_DMA(&brm->mem[1]);
@@ -1284,19 +1284,19 @@ static void brm_interrupt(brm_priv *brm) {
#endif
brm->head++;
-
+
}
else {
/* Indicate overrun */
brm->rt_event[INDEX(brm->head)].miw |= 0x8000;
}
-
+
/* Wake any blocking thread */
rtems_semaphore_release(brm->rx_sem);
}
-
- /* The reset of the interrupts
+
+ /* The reset of the interrupts
* cause a event to be signalled
* so that user can handle error.
*/
@@ -1307,59 +1307,59 @@ static void brm_interrupt(brm_priv *brm) {
SET_ERROR_DESCRIPTOR(descriptor);
signal_event=1;
}
-
+
if ( pending & BRM_ILLOP_IRQ){
FUNCDBG("BRM: BRM_ILLOP_IRQ\n\r");
brm->bc_list_fail = 1;
rtems_semaphore_release(brm->tx_sem);
event_status |= BRM_ILLOP_IRQ;
- SET_ERROR_DESCRIPTOR(descriptor);
+ SET_ERROR_DESCRIPTOR(descriptor);
signal_event=1;
}
-
+
if ( pending & BRM_MERR_IRQ){
FUNCDBG("BRM: BRM_MERR_IRQ\n\r");
event_status |= BRM_MERR_IRQ;
SET_ERROR_DESCRIPTOR(descriptor);
signal_event=1;
}
- /* Clear Block Accessed Bit */
+ /* Clear Block Accessed Bit */
tmp = READ_REG(&brm->desc[descriptor].ctrl);
brm->desc[descriptor].ctrl = tmp & ~0x10;
-
+
} /* While */
-
+
/* clear interrupt flags & handle Hardware errors */
pending = READ_REG(&brm->regs->ipend);
-
+
if ( pending & BRM_DMAF_IRQ){
FUNCDBG("BRM: BRM_DMAF_IRQ\n\r");
event_status |= BRM_DMAF_IRQ;
signal_event=1;
}
-
+
if ( pending & BRM_WRAPF_IRQ){
FUNCDBG("BRM: BRM_WRAPF_IRQ\n\r");
event_status |= BRM_WRAPF_IRQ;
signal_event=1;
}
-
+
if ( pending & BRM_TAPF_IRQ){
FUNCDBG("BRM: BRM_TAPF_IRQ\n\r");
event_status |= BRM_TAPF_IRQ;
signal_event=1;
}
-
+
/* Copy current mask to status mask */
if ( event_status ){
if ( event_status & 0xffff0000 )
brm->status &= 0x0000ffff;
brm->status |= event_status;
}
-
+
/* signal event once */
if ( signal_event && (brm->event_id!=0) ){
rtems_event_send(brm->event_id, event_status);
}
-
+
}
diff --git a/c/src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c b/c/src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c
index 82e09e8abe..76c9f2e56a 100644
--- a/c/src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c
+++ b/c/src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c
@@ -21,7 +21,7 @@ unsigned int brmpci_memarea_address;
/* We have custom address tranlation for HW addresses */
#define B1553BRM_ADR_TO
-/* No custom MEMAREA=>CPU used since BRM Core work with offsets
+/* No custom MEMAREA=>CPU used since BRM Core work with offsets
* in it's descriptors.
*/
#undef B1553BRM_ADR_FROM
@@ -33,7 +33,7 @@ unsigned int brmpci_memarea_address;
/* Any non-static function will begin with */
#define B1553BRM_PREFIX(name) b1553brmpci##name
-/* do nothing, assume that the interrupt handler is called
+/* do nothing, assume that the interrupt handler is called
* setup externally calling b1553_interrupt_handler.
*/
#define B1553BRM_REG_INT(handler,irq,arg) \
@@ -82,16 +82,16 @@ static void b1553brmpci_interrupt_handler(int irq, void *arg);
*/
int b1553brm_pci_register(
- amba_confarea_type *bus,
- unsigned int clksel,
- unsigned int clkdiv,
+ amba_confarea_type *bus,
+ unsigned int clksel,
+ unsigned int clkdiv,
unsigned int brm_freq,
unsigned int memarea,
unsigned int hw_address
)
{
/* Setup configuration */
-
+
/* if zero malloc will be used */
brmpci_memarea_address = memarea;
@@ -100,14 +100,14 @@ int b1553brm_pci_register(
#ifdef B1553BRM_ADR_FROM
brmpci_cpu_address = memarea & 0xf0000000;
#endif
-
+
/* Register the driver */
return B1553BRM_PREFIX(_register)(bus,clksel,clkdiv,brm_freq);
}
-/* Call this from PCI interrupt handler
+/* Call this from PCI interrupt handler
* irq = the irq number of the HW device local to that IRQMP controller
- *
+ *
*/
static void b1553brmpci_interrupt_handler(int irq, void *arg){
brm_interrupt(arg);
diff --git a/c/src/lib/libbsp/sparc/shared/1553/b1553brm_rasta.c b/c/src/lib/libbsp/sparc/shared/1553/b1553brm_rasta.c
index 45e619fb0d..10adb0aec5 100644
--- a/c/src/lib/libbsp/sparc/shared/1553/b1553brm_rasta.c
+++ b/c/src/lib/libbsp/sparc/shared/1553/b1553brm_rasta.c
@@ -21,7 +21,7 @@ unsigned int brmrasta_memarea_address;
/* We have custom address tranlation for HW addresses */
#define B1553BRM_ADR_TO
-/* No custom MEMAREA=>CPU used since BRM Core work with offsets
+/* No custom MEMAREA=>CPU used since BRM Core work with offsets
* in it's descriptors.
*/
#undef B1553BRM_ADR_FROM
@@ -33,7 +33,7 @@ unsigned int brmrasta_memarea_address;
/* Any non-static function will begin with */
#define B1553BRM_PREFIX(name) b1553brmrasta##name
-/* do nothing, assume that the interrupt handler is called
+/* do nothing, assume that the interrupt handler is called
* setup externally calling b1553_interrupt_handler.
*/
#define B1553BRM_REG_INT(handler,irq,arg) \
@@ -82,16 +82,16 @@ static void b1553brmrasta_interrupt_handler(int irq, void *arg);
*/
int b1553brm_rasta_register(
- amba_confarea_type *bus,
- unsigned int clksel,
- unsigned int clkdiv,
+ amba_confarea_type *bus,
+ unsigned int clksel,
+ unsigned int clkdiv,
unsigned int brm_freq,
unsigned int memarea,
unsigned int hw_address
)
{
/* Setup configuration */
-
+
/* if zero the malloc will be used */
brmrasta_memarea_address = memarea;
@@ -100,14 +100,14 @@ int b1553brm_rasta_register(
#ifdef B1553BRM_ADR_FROM
brmrasta_cpu_address = memarea & 0xf0000000;
#endif
-
+
/* Register the driver */
return B1553BRM_PREFIX(_register)(bus,clksel,clkdiv,brm_freq);
}
-/* Call this from RASTA interrupt handler
+/* Call this from RASTA interrupt handler
* irq = the irq number of the HW device local to that IRQMP controller
- *
+ *
*/
static void b1553brmrasta_interrupt_handler(int irq, void *arg){
brm_interrupt(arg);