Changeset 509040f0 in rtems for c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
- Timestamp:
- 04/14/14 15:11:12 (10 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 598f39cd
- Parents:
- c5831a3f
- git-author:
- Sebastian Huber <sebastian.huber@…> (04/14/14 15:11:12)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (04/15/14 08:43:05)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
rc5831a3f r509040f0 64 64 rtems_irq_number irq_num_err; 65 65 66 rtems_interrupt_lock lock; 67 66 68 /* 67 69 * BD management … … 141 143 | TSEC_IEVENT_XFUN ) 142 144 143 #define TSEC_IMASK_SET(reg,mask,val) { \ 144 rtems_interrupt_level level; \ 145 \ 146 rtems_interrupt_disable(level); \ 147 (reg) = (((reg) & ~(mask)) | \ 148 ((val) & (mask))); \ 149 rtems_interrupt_enable(level); \ 145 static void TSEC_IMASK_SET(struct tsec_struct *sc, uint32_t mask, uint32_t val) 146 { 147 volatile uint32_t *reg = &sc->reg_ptr->imask; 148 rtems_interrupt_lock_context lock_context; 149 150 rtems_interrupt_lock_acquire(&sc->lock, &lock_context); 151 *reg = (*reg & ~mask) | (val & mask); 152 rtems_interrupt_lock_release(&sc->lock, &lock_context); 150 153 } 151 154 … … 506 509 * enable Rx interrupts, make sure this is not interrupted :-) 507 510 */ 508 TSEC_IMASK_SET(sc ->reg_ptr->imask,IEVENT_RXALL,~0);511 TSEC_IMASK_SET(sc,IEVENT_RXALL,~0); 509 512 510 513 /* … … 877 880 * enable Tx interrupts, make sure this is not interrupted :-) 878 881 */ 879 TSEC_IMASK_SET(sc ->reg_ptr->imask,IEVENT_TXALL,~0);882 TSEC_IMASK_SET(sc,IEVENT_TXALL,~0); 880 883 881 884 /* … … 1157 1160 * disable tx interrupts 1158 1161 */ 1159 TSEC_IMASK_SET(sc ->reg_ptr->imask,IEVENT_TXALL,0);1162 TSEC_IMASK_SET(sc,IEVENT_TXALL,0); 1160 1163 1161 1164 #if defined(CLREVENT_IN_IRQ) … … 1201 1204 * disable rx interrupts 1202 1205 */ 1203 TSEC_IMASK_SET(sc ->reg_ptr->imask,IEVENT_RXALL,0);1206 TSEC_IMASK_SET(sc,IEVENT_RXALL,0); 1204 1207 #if defined(CLREVENT_IN_IRQ) 1205 1208 /* … … 1307 1310 (struct tsec_struct *)(irq_conn_data->handle); 1308 1311 1309 TSEC_IMASK_SET(sc ->reg_ptr->imask,1312 TSEC_IMASK_SET(sc, 1310 1313 tsec_irq_mask(irq_conn_data->name,sc), 1311 1314 ~0); … … 1334 1337 (struct tsec_struct *)irq_conn_data->handle; 1335 1338 1336 TSEC_IMASK_SET(sc ->reg_ptr->imask,1339 TSEC_IMASK_SET(sc, 1337 1340 tsec_irq_mask(irq_conn_data->name,sc), 1338 1341 0);
Note: See TracChangeset
for help on using the changeset viewer.