forked from Minki/linux
Blackfin: BF537: push down error masks to avoid namespace pollution
The error masks are only needed in the BF537 demux error code, so instead of needing all the short peripheral defines in global space, push these masks into the one file where they are actually needed. This fixes a bunch of define collisions with common code (can/serial/etc...). Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Barry Song <barry.song@analog.com>
This commit is contained in:
parent
578d36f5e1
commit
7eb87fd3f1
@ -9,16 +9,6 @@
|
||||
#ifndef __MACH_BF537_H__
|
||||
#define __MACH_BF537_H__
|
||||
|
||||
/* Masks for generic ERROR IRQ demultiplexing used in int-priority-sc.c */
|
||||
|
||||
#define SPI_ERR_MASK (TXCOL | RBSY | MODF | TXE) /* SPI_STAT */
|
||||
#define SPORT_ERR_MASK (ROVF | RUVF | TOVF | TUVF) /* SPORTx_STAT */
|
||||
#define PPI_ERR_MASK (0xFFFF & ~FLD) /* PPI_STATUS */
|
||||
#define EMAC_ERR_MASK (PHYINT | MMCINT | RXFSINT | TXFSINT | WAKEDET | RXDMAERR | TXDMAERR | STMDONE) /* EMAC_SYSTAT */
|
||||
#define UART_ERR_MASK_STAT1 (0x4) /* UARTx_IIR */
|
||||
#define UART_ERR_MASK_STAT0 (0x2) /* UARTx_IIR */
|
||||
#define CAN_ERR_MASK (EWTIF | EWRIF | EPIF | BOIF | WUIF | UIAIF | AAIF | RMLIF | UCEIF | EXTIF | ADIF) /* CAN_GIF */
|
||||
|
||||
#define OFFSET_(x) ((x) & 0x0000FFFF)
|
||||
|
||||
/*some misc defines*/
|
||||
|
@ -26,11 +26,19 @@
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/irq_handler.h>
|
||||
#include <asm/dpmc.h>
|
||||
#include <asm/bfin5xx_spi.h>
|
||||
#include <asm/bfin_sport.h>
|
||||
|
||||
#define SIC_SYSIRQ(irq) (irq - (IRQ_CORETMR + 1))
|
||||
|
||||
#ifdef BF537_FAMILY
|
||||
# define BF537_GENERIC_ERROR_INT_DEMUX
|
||||
# define SPI_ERR_MASK (BIT_STAT_TXCOL | BIT_STAT_RBSY | BIT_STAT_MODF | BIT_STAT_TXE) /* SPI_STAT */
|
||||
# define SPORT_ERR_MASK (ROVF | RUVF | TOVF | TUVF) /* SPORT_STAT */
|
||||
# define PPI_ERR_MASK (0xFFFF & ~FLD) /* PPI_STATUS */
|
||||
# define EMAC_ERR_MASK (PHYINT | MMCINT | RXFSINT | TXFSINT | WAKEDET | RXDMAERR | TXDMAERR | STMDONE) /* EMAC_SYSTAT */
|
||||
# define UART_ERR_MASK (0x6) /* UART_IIR */
|
||||
# define CAN_ERR_MASK (EWTIF | EWRIF | EPIF | BOIF | WUIF | UIAIF | AAIF | RMLIF | UCEIF | EXTIF | ADIF) /* CAN_GIF */
|
||||
#else
|
||||
# undef BF537_GENERIC_ERROR_INT_DEMUX
|
||||
#endif
|
||||
@ -325,11 +333,9 @@ static void bfin_demux_error_irq(unsigned int int_err_irq,
|
||||
irq = IRQ_CAN_ERROR;
|
||||
else if (bfin_read_SPI_STAT() & SPI_ERR_MASK)
|
||||
irq = IRQ_SPI_ERROR;
|
||||
else if ((bfin_read_UART0_IIR() & UART_ERR_MASK_STAT1) &&
|
||||
(bfin_read_UART0_IIR() & UART_ERR_MASK_STAT0))
|
||||
else if ((bfin_read_UART0_IIR() & UART_ERR_MASK) == UART_ERR_MASK)
|
||||
irq = IRQ_UART0_ERROR;
|
||||
else if ((bfin_read_UART1_IIR() & UART_ERR_MASK_STAT1) &&
|
||||
(bfin_read_UART1_IIR() & UART_ERR_MASK_STAT0))
|
||||
else if ((bfin_read_UART1_IIR() & UART_ERR_MASK) == UART_ERR_MASK)
|
||||
irq = IRQ_UART1_ERROR;
|
||||
|
||||
if (irq) {
|
||||
|
Loading…
Reference in New Issue
Block a user