diff options
author | Pete Popov <ppopov@embeddedalley.com> | 2005-03-01 02:54:50 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 14:30:48 -0400 |
commit | 2d32ffa44a5323fda147bd5b0723744a9163e37f (patch) | |
tree | 0c80197e0430fbd818a5b79e7098a9e060e0569a /arch/mips | |
parent | e3ad1c23ba72214669b364c6fa304531dc768c3e (diff) |
Moved irq_tab_alchemy to the board specific irqmap.c files.
Cleaned up a to of warnings in dbdma.c.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/au1000/common/dbdma.c | 20 | ||||
-rw-r--r-- | arch/mips/au1000/db1x00/irqmap.c | 32 | ||||
-rw-r--r-- | arch/mips/au1000/mtx-1/irqmap.c | 11 | ||||
-rw-r--r-- | arch/mips/au1000/pb1500/irqmap.c | 5 | ||||
-rw-r--r-- | arch/mips/au1000/pb1550/irqmap.c | 5 | ||||
-rw-r--r-- | arch/mips/pci/fixup-au1000.c | 78 |
6 files changed, 64 insertions, 87 deletions
diff --git a/arch/mips/au1000/common/dbdma.c b/arch/mips/au1000/common/dbdma.c index cf10dc246f82..8f78c2fe7cf5 100644 --- a/arch/mips/au1000/common/dbdma.c +++ b/arch/mips/au1000/common/dbdma.c | |||
@@ -39,11 +39,11 @@ | |||
39 | #include <linux/string.h> | 39 | #include <linux/string.h> |
40 | #include <linux/delay.h> | 40 | #include <linux/delay.h> |
41 | #include <linux/interrupt.h> | 41 | #include <linux/interrupt.h> |
42 | #include <linux/module.h> | ||
42 | #include <asm/mach-au1x00/au1000.h> | 43 | #include <asm/mach-au1x00/au1000.h> |
43 | #include <asm/mach-au1x00/au1xxx_dbdma.h> | 44 | #include <asm/mach-au1x00/au1xxx_dbdma.h> |
44 | #include <asm/system.h> | 45 | #include <asm/system.h> |
45 | 46 | ||
46 | /* #include <linux/module.h> */ | ||
47 | 47 | ||
48 | #if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200) | 48 | #if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200) |
49 | 49 | ||
@@ -596,10 +596,10 @@ _au1xxx_dbdma_put_source(u32 chanid, void *buf, int nbytes, u32 flags) | |||
596 | * these parts. If it is fixedin the future, these dma_cache_inv will | 596 | * these parts. If it is fixedin the future, these dma_cache_inv will |
597 | * just be nothing more than empty macros. See io.h. | 597 | * just be nothing more than empty macros. See io.h. |
598 | * */ | 598 | * */ |
599 | dma_cache_wback_inv(buf,nbytes); | 599 | dma_cache_wback_inv((unsigned long)buf, nbytes); |
600 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ | 600 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ |
601 | au_sync(); | 601 | au_sync(); |
602 | dma_cache_wback_inv(dp, sizeof(dp)); | 602 | dma_cache_wback_inv((unsigned long)dp, sizeof(dp)); |
603 | ctp->chan_ptr->ddma_dbell = 0; | 603 | ctp->chan_ptr->ddma_dbell = 0; |
604 | 604 | ||
605 | /* return something not zero. | 605 | /* return something not zero. |
@@ -657,10 +657,10 @@ _au1xxx_dbdma_put_dest(u32 chanid, void *buf, int nbytes, u32 flags) | |||
657 | * parts. If it is fixedin the future, these dma_cache_inv will just | 657 | * parts. If it is fixedin the future, these dma_cache_inv will just |
658 | * be nothing more than empty macros. See io.h. | 658 | * be nothing more than empty macros. See io.h. |
659 | * */ | 659 | * */ |
660 | dma_cache_inv(buf,nbytes); | 660 | dma_cache_inv((unsigned long)buf,nbytes); |
661 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ | 661 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ |
662 | au_sync(); | 662 | au_sync(); |
663 | dma_cache_wback_inv(dp, sizeof(dp)); | 663 | dma_cache_wback_inv((unsigned long)dp, sizeof(dp)); |
664 | ctp->chan_ptr->ddma_dbell = 0; | 664 | ctp->chan_ptr->ddma_dbell = 0; |
665 | 665 | ||
666 | /* Get next descriptor pointer. | 666 | /* Get next descriptor pointer. |
@@ -820,8 +820,7 @@ au1xxx_dbdma_chan_free(u32 chanid) | |||
820 | 820 | ||
821 | au1xxx_dbdma_stop(chanid); | 821 | au1xxx_dbdma_stop(chanid); |
822 | 822 | ||
823 | if (ctp->chan_desc_base != NULL) | 823 | kfree((void *)ctp->chan_desc_base); |
824 | kfree(ctp->chan_desc_base); | ||
825 | 824 | ||
826 | stp->dev_flags &= ~DEV_FLAGS_INUSE; | 825 | stp->dev_flags &= ~DEV_FLAGS_INUSE; |
827 | dtp->dev_flags &= ~DEV_FLAGS_INUSE; | 826 | dtp->dev_flags &= ~DEV_FLAGS_INUSE; |
@@ -831,11 +830,11 @@ au1xxx_dbdma_chan_free(u32 chanid) | |||
831 | } | 830 | } |
832 | EXPORT_SYMBOL(au1xxx_dbdma_chan_free); | 831 | EXPORT_SYMBOL(au1xxx_dbdma_chan_free); |
833 | 832 | ||
834 | static void | 833 | static irqreturn_t |
835 | dbdma_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 834 | dbdma_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
836 | { | 835 | { |
837 | u32 intstat, flags; | 836 | u32 intstat; |
838 | u32 chan_index; | 837 | u32 chan_index; |
839 | chan_tab_t *ctp; | 838 | chan_tab_t *ctp; |
840 | au1x_ddma_desc_t *dp; | 839 | au1x_ddma_desc_t *dp; |
841 | au1x_dma_chan_t *cp; | 840 | au1x_dma_chan_t *cp; |
@@ -857,6 +856,7 @@ dbdma_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
857 | (ctp->chan_callback)(irq, ctp->chan_callparam, regs); | 856 | (ctp->chan_callback)(irq, ctp->chan_callparam, regs); |
858 | 857 | ||
859 | ctp->cur_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr)); | 858 | ctp->cur_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr)); |
859 | return IRQ_RETVAL(1); | ||
860 | } | 860 | } |
861 | 861 | ||
862 | static void au1xxx_dbdma_init(void) | 862 | static void au1xxx_dbdma_init(void) |
diff --git a/arch/mips/au1000/db1x00/irqmap.c b/arch/mips/au1000/db1x00/irqmap.c index 8f6ef0dbe1f8..f63024a9893a 100644 --- a/arch/mips/au1000/db1x00/irqmap.c +++ b/arch/mips/au1000/db1x00/irqmap.c | |||
@@ -48,6 +48,38 @@ | |||
48 | #include <asm/system.h> | 48 | #include <asm/system.h> |
49 | #include <asm/mach-au1x00/au1000.h> | 49 | #include <asm/mach-au1x00/au1000.h> |
50 | 50 | ||
51 | #ifdef CONFIG_MIPS_DB1500 | ||
52 | char irq_tab_alchemy[][5] __initdata = { | ||
53 | [12] = { -1, INTA, INTX, INTX, INTX}, /* IDSEL 12 - HPT371 */ | ||
54 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot */ | ||
55 | }; | ||
56 | #endif | ||
57 | |||
58 | #ifdef CONFIG_MIPS_BOSPORUS | ||
59 | char irq_tab_alchemy[][5] __initdata = { | ||
60 | [11] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 11 - miniPCI */ | ||
61 | [12] = { -1, INTA, INTX, INTX, INTX}, /* IDSEL 12 - SN1741 */ | ||
62 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot */ | ||
63 | }; | ||
64 | #endif | ||
65 | |||
66 | #ifdef CONFIG_MIPS_MIRAGE | ||
67 | char irq_tab_alchemy[][5] __initdata = { | ||
68 | [11] = { -1, INTD, INTX, INTX, INTX}, /* IDSEL 11 - SMI VGX */ | ||
69 | [12] = { -1, INTX, INTX, INTC, INTX}, /* IDSEL 12 - PNX1300 */ | ||
70 | [13] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 13 - miniPCI */ | ||
71 | }; | ||
72 | #endif | ||
73 | |||
74 | #ifdef CONFIG_MIPS_DB1550 | ||
75 | char irq_tab_alchemy[][5] __initdata = { | ||
76 | [11] = { -1, INTC, INTX, INTX, INTX}, /* IDSEL 11 - on-board HPT371 */ | ||
77 | [12] = { -1, INTB, INTC, INTD, INTA}, /* IDSEL 12 - PCI slot 2 (left) */ | ||
78 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot 1 (right) */ | ||
79 | }; | ||
80 | #endif | ||
81 | |||
82 | |||
51 | au1xxx_irq_map_t au1xxx_irq_map[] = { | 83 | au1xxx_irq_map_t au1xxx_irq_map[] = { |
52 | 84 | ||
53 | #ifndef CONFIG_MIPS_MIRAGE | 85 | #ifndef CONFIG_MIPS_MIRAGE |
diff --git a/arch/mips/au1000/mtx-1/irqmap.c b/arch/mips/au1000/mtx-1/irqmap.c index ddcb9d089dc1..f9a0a8b9def2 100644 --- a/arch/mips/au1000/mtx-1/irqmap.c +++ b/arch/mips/au1000/mtx-1/irqmap.c | |||
@@ -47,6 +47,17 @@ | |||
47 | #include <asm/system.h> | 47 | #include <asm/system.h> |
48 | #include <asm/mach-au1x00/au1000.h> | 48 | #include <asm/mach-au1x00/au1000.h> |
49 | 49 | ||
50 | char irq_tab_alchemy[][5] __initdata = { | ||
51 | [0] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 00 - AdapterA-Slot0 (top) */ | ||
52 | [1] = { -1, INTB, INTA, INTX, INTX}, /* IDSEL 01 - AdapterA-Slot1 (bottom) */ | ||
53 | [2] = { -1, INTC, INTD, INTX, INTX}, /* IDSEL 02 - AdapterB-Slot0 (top) */ | ||
54 | [3] = { -1, INTD, INTC, INTX, INTX}, /* IDSEL 03 - AdapterB-Slot1 (bottom) */ | ||
55 | [4] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 04 - AdapterC-Slot0 (top) */ | ||
56 | [5] = { -1, INTB, INTA, INTX, INTX}, /* IDSEL 05 - AdapterC-Slot1 (bottom) */ | ||
57 | [6] = { -1, INTC, INTD, INTX, INTX}, /* IDSEL 06 - AdapterD-Slot0 (top) */ | ||
58 | [7] = { -1, INTD, INTC, INTX, INTX}, /* IDSEL 07 - AdapterD-Slot1 (bottom) */ | ||
59 | }; | ||
60 | |||
50 | au1xxx_irq_map_t au1xxx_irq_map[] = { | 61 | au1xxx_irq_map_t au1xxx_irq_map[] = { |
51 | { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0}, | 62 | { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0}, |
52 | { AU1500_GPIO_201, INTC_INT_LOW_LEVEL, 0 }, | 63 | { AU1500_GPIO_201, INTC_INT_LOW_LEVEL, 0 }, |
diff --git a/arch/mips/au1000/pb1500/irqmap.c b/arch/mips/au1000/pb1500/irqmap.c index 476e25001681..8cb76c2edb5e 100644 --- a/arch/mips/au1000/pb1500/irqmap.c +++ b/arch/mips/au1000/pb1500/irqmap.c | |||
@@ -47,6 +47,11 @@ | |||
47 | #include <asm/system.h> | 47 | #include <asm/system.h> |
48 | #include <asm/mach-au1x00/au1000.h> | 48 | #include <asm/mach-au1x00/au1000.h> |
49 | 49 | ||
50 | char irq_tab_alchemy[][5] __initdata = { | ||
51 | [12] = { -1, INTA, INTX, INTX, INTX}, /* IDSEL 12 - HPT370 */ | ||
52 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot */ | ||
53 | }; | ||
54 | |||
50 | au1xxx_irq_map_t au1xxx_irq_map[] = { | 55 | au1xxx_irq_map_t au1xxx_irq_map[] = { |
51 | { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0}, | 56 | { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0}, |
52 | { AU1500_GPIO_201, INTC_INT_LOW_LEVEL, 0 }, | 57 | { AU1500_GPIO_201, INTC_INT_LOW_LEVEL, 0 }, |
diff --git a/arch/mips/au1000/pb1550/irqmap.c b/arch/mips/au1000/pb1550/irqmap.c index 889d4949ee76..47c7a1c19f4b 100644 --- a/arch/mips/au1000/pb1550/irqmap.c +++ b/arch/mips/au1000/pb1550/irqmap.c | |||
@@ -47,6 +47,11 @@ | |||
47 | #include <asm/system.h> | 47 | #include <asm/system.h> |
48 | #include <asm/mach-au1x00/au1000.h> | 48 | #include <asm/mach-au1x00/au1000.h> |
49 | 49 | ||
50 | char irq_tab_alchemy[][5] __initdata = { | ||
51 | [12] = { -1, INTB, INTC, INTD, INTA}, /* IDSEL 12 - PCI slot 2 (left) */ | ||
52 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot 1 (right) */ | ||
53 | }; | ||
54 | |||
50 | au1xxx_irq_map_t au1xxx_irq_map[] = { | 55 | au1xxx_irq_map_t au1xxx_irq_map[] = { |
51 | { AU1000_GPIO_0, INTC_INT_LOW_LEVEL, 0 }, | 56 | { AU1000_GPIO_0, INTC_INT_LOW_LEVEL, 0 }, |
52 | { AU1000_GPIO_1, INTC_INT_LOW_LEVEL, 0 }, | 57 | { AU1000_GPIO_1, INTC_INT_LOW_LEVEL, 0 }, |
diff --git a/arch/mips/pci/fixup-au1000.c b/arch/mips/pci/fixup-au1000.c index 39fe2b16fcec..c2f8304fe55b 100644 --- a/arch/mips/pci/fixup-au1000.c +++ b/arch/mips/pci/fixup-au1000.c | |||
@@ -26,7 +26,6 @@ | |||
26 | * with this program; if not, write to the Free Software Foundation, Inc., | 26 | * with this program; if not, write to the Free Software Foundation, Inc., |
27 | * 675 Mass Ave, Cambridge, MA 02139, USA. | 27 | * 675 Mass Ave, Cambridge, MA 02139, USA. |
28 | */ | 28 | */ |
29 | #include <linux/config.h> | ||
30 | #include <linux/types.h> | 29 | #include <linux/types.h> |
31 | #include <linux/pci.h> | 30 | #include <linux/pci.h> |
32 | #include <linux/kernel.h> | 31 | #include <linux/kernel.h> |
@@ -34,82 +33,7 @@ | |||
34 | 33 | ||
35 | #include <asm/mach-au1x00/au1000.h> | 34 | #include <asm/mach-au1x00/au1000.h> |
36 | 35 | ||
37 | /* | 36 | extern char irq_tab_alchemy[][5]; |
38 | * Shortcut | ||
39 | */ | ||
40 | #ifdef CONFIG_SOC_AU1500 | ||
41 | #define INTA AU1000_PCI_INTA | ||
42 | #define INTB AU1000_PCI_INTB | ||
43 | #define INTC AU1000_PCI_INTC | ||
44 | #define INTD AU1000_PCI_INTD | ||
45 | #endif | ||
46 | |||
47 | #ifdef CONFIG_SOC_AU1550 | ||
48 | #define INTA AU1550_PCI_INTA | ||
49 | #define INTB AU1550_PCI_INTB | ||
50 | #define INTC AU1550_PCI_INTC | ||
51 | #define INTD AU1550_PCI_INTD | ||
52 | #endif | ||
53 | |||
54 | #define INTX 0xFF /* not valid */ | ||
55 | |||
56 | #ifdef CONFIG_MIPS_DB1500 | ||
57 | static char irq_tab_alchemy[][5] __initdata = { | ||
58 | [12] = { -1, INTA, INTX, INTX, INTX}, /* IDSEL 12 - HPT371 */ | ||
59 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot */ | ||
60 | }; | ||
61 | #endif | ||
62 | |||
63 | #ifdef CONFIG_MIPS_BOSPORUS | ||
64 | static char irq_tab_alchemy[][5] __initdata = { | ||
65 | [11] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 11 - miniPCI */ | ||
66 | [12] = { -1, INTA, INTX, INTX, INTX}, /* IDSEL 12 - SN1741 */ | ||
67 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot */ | ||
68 | }; | ||
69 | #endif | ||
70 | |||
71 | #ifdef CONFIG_MIPS_MIRAGE | ||
72 | static char irq_tab_alchemy[][5] __initdata = { | ||
73 | [11] = { -1, INTD, INTX, INTX, INTX}, /* IDSEL 11 - SMI VGX */ | ||
74 | [12] = { -1, INTX, INTX, INTC, INTX}, /* IDSEL 12 - PNX1300 */ | ||
75 | [13] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 13 - miniPCI */ | ||
76 | }; | ||
77 | #endif | ||
78 | |||
79 | #ifdef CONFIG_MIPS_DB1550 | ||
80 | static char irq_tab_alchemy[][5] __initdata = { | ||
81 | [11] = { -1, INTC, INTX, INTX, INTX}, /* IDSEL 11 - on-board HPT371 */ | ||
82 | [12] = { -1, INTB, INTC, INTD, INTA}, /* IDSEL 12 - PCI slot 2 (left) */ | ||
83 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot 1 (right) */ | ||
84 | }; | ||
85 | #endif | ||
86 | |||
87 | #ifdef CONFIG_MIPS_PB1500 | ||
88 | static char irq_tab_alchemy[][5] __initdata = { | ||
89 | [12] = { -1, INTA, INTX, INTX, INTX}, /* IDSEL 12 - HPT370 */ | ||
90 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot */ | ||
91 | }; | ||
92 | #endif | ||
93 | |||
94 | #ifdef CONFIG_MIPS_PB1550 | ||
95 | static char irq_tab_alchemy[][5] __initdata = { | ||
96 | [12] = { -1, INTB, INTC, INTD, INTA}, /* IDSEL 12 - PCI slot 2 (left) */ | ||
97 | [13] = { -1, INTA, INTB, INTC, INTD}, /* IDSEL 13 - PCI slot 1 (right) */ | ||
98 | }; | ||
99 | #endif | ||
100 | |||
101 | #ifdef CONFIG_MIPS_MTX1 | ||
102 | static char irq_tab_alchemy[][5] __initdata = { | ||
103 | [0] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 00 - AdapterA-Slot0 (top) */ | ||
104 | [1] = { -1, INTB, INTA, INTX, INTX}, /* IDSEL 01 - AdapterA-Slot1 (bottom) */ | ||
105 | [2] = { -1, INTC, INTD, INTX, INTX}, /* IDSEL 02 - AdapterB-Slot0 (top) */ | ||
106 | [3] = { -1, INTD, INTC, INTX, INTX}, /* IDSEL 03 - AdapterB-Slot1 (bottom) */ | ||
107 | [4] = { -1, INTA, INTB, INTX, INTX}, /* IDSEL 04 - AdapterC-Slot0 (top) */ | ||
108 | [5] = { -1, INTB, INTA, INTX, INTX}, /* IDSEL 05 - AdapterC-Slot1 (bottom) */ | ||
109 | [6] = { -1, INTC, INTD, INTX, INTX}, /* IDSEL 06 - AdapterD-Slot0 (top) */ | ||
110 | [7] = { -1, INTD, INTC, INTX, INTX}, /* IDSEL 07 - AdapterD-Slot1 (bottom) */ | ||
111 | }; | ||
112 | #endif | ||
113 | 37 | ||
114 | int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | 38 | int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) |
115 | { | 39 | { |