bsp/genmcf548x: Use bsp_interrupt_vector_enable()

This commit is contained in:
Sebastian Huber
2013-12-06 08:37:11 +01:00
parent 8d2920119b
commit 6eb17335ed
3 changed files with 9 additions and 28 deletions

View File

@@ -50,12 +50,13 @@
#include <rtems.h> #include <rtems.h>
#include <bsp.h> #include <bsp.h>
#include <bsp/irq-generic.h>
#include <mcf548x/mcf548x.h> #include <mcf548x/mcf548x.h>
/* /*
* Use SLT 0 * Use SLT 0
*/ */
#define CLOCK_VECTOR (64+54) #define CLOCK_IRQ MCF548X_IRQ_SLT0
/* /*
* Periodic interval timer interrupt handler * Periodic interval timer interrupt handler
@@ -70,7 +71,7 @@
*/ */
#define Clock_driver_support_install_isr( _new, _old ) \ #define Clock_driver_support_install_isr( _new, _old ) \
do { \ do { \
_old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \ _old = (rtems_isr_entry)set_vector(_new, CLOCK_IRQ + 64, 1); \
} while(0) } while(0)
/* /*
@@ -89,10 +90,7 @@
*/ */
#define Clock_driver_support_initialize_hardware() \ #define Clock_driver_support_initialize_hardware() \
do { \ do { \
int level; \ bsp_interrupt_vector_enable(CLOCK_IRQ); \
rtems_interrupt_disable( level ); \
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK54); \
rtems_interrupt_enable( level ); \
MCF548X_SLT_SLTCNT0 = get_CPU_clock_speed() \ MCF548X_SLT_SLTCNT0 = get_CPU_clock_speed() \
/ 1000 \ / 1000 \
* rtems_configuration_get_microseconds_per_tick() \ * rtems_configuration_get_microseconds_per_tick() \

View File

@@ -56,6 +56,7 @@
#include <rtems/termiostypes.h> #include <rtems/termiostypes.h>
#include <termios.h> #include <termios.h>
#include <bsp.h> #include <bsp.h>
#include <bsp/irq-generic.h>
#include <malloc.h> #include <malloc.h>
#include <rtems/mw_uid.h> #include <rtems/mw_uid.h>
@@ -483,27 +484,8 @@ IntUartInitialize(void)
/* set uart default values */ /* set uart default values */
IntUartSetAttributes(chan, NULL); IntUartSetAttributes(chan, NULL);
/* unmask interrupt */ /* unmask interrupt */
rtems_interrupt_disable(level); bsp_interrupt_vector_enable(MCF548X_IRQ_PSC(chan));
switch(chan) {
case 0:
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK35);
break;
case 1:
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK34);
break;
case 2:
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK33);
break;
case 3:
MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK32);
break;
}
rtems_interrupt_enable(level);
} /* of chan loop */ } /* of chan loop */

View File

@@ -50,6 +50,7 @@
#include <net/if_var.h> #include <net/if_var.h>
#include <bsp.h> #include <bsp.h>
#include <bsp/irq-generic.h>
#include <mcf548x/mcf548x.h> #include <mcf548x/mcf548x.h>
#include <rtems/rtems_mii_ioctl.h> #include <rtems/rtems_mii_ioctl.h>
#include <errno.h> #include <errno.h>
@@ -1288,7 +1289,7 @@ static void mcf548x_fec_init(void *arg)
rtems_panic ("Can't attach MFC54xx FEX interrupt handler\n"); rtems_panic ("Can't attach MFC54xx FEX interrupt handler\n");
} }
MCF548X_INTC_IMRH &= ~(1 << (MCF548X_FEC_IRQ_VECTOR(chan) % 32)); bsp_interrupt_vector_enable(MCF548X_IRQ_FEC(chan));
MCF548X_FEC_EIMR(chan) = FEC_INTR_MASK_USED; MCF548X_FEC_EIMR(chan) = FEC_INTR_MASK_USED;
mcf548x_fec_rx_bd_init(sc); mcf548x_fec_rx_bd_init(sc);