/linux/arch/powerpc/sysdev/ |
H A D | mpic.c | 58 static struct mpic *mpics; 59 static struct mpic *mpic_primary; 152 #define MPIC_INFO(name) mpic->hw_set[MPIC_IDX_##name] 160 static inline unsigned int mpic_processor_id(struct mpic *mpic) in mpic_processor_id() argument 164 if (!(mpic->flags & MPIC_SECONDARY)) in mpic_processor_id() 212 static inline u32 _mpic_ipi_read(struct mpic *mpic, unsigned int ipi) in _mpic_ipi_read() argument 214 enum mpic_reg_type type = mpic->reg_type; in _mpic_ipi_read() 218 if ((mpic->flags & MPIC_BROKEN_IPI) && type == mpic_access_mmio_le) in _mpic_ipi_read() 220 return _mpic_read(type, &mpic->gregs, offset); in _mpic_ipi_read() 223 static inline void _mpic_ipi_write(struct mpic *mpic, unsigned int ipi, u32 value) in _mpic_ipi_write() argument [all …]
|
H A D | fsl_mpic_err.c | 36 struct mpic *mpic = irq_data_get_irq_chip_data(d); in fsl_mpic_mask_err() local 37 unsigned int src = virq_to_hw(d->irq) - mpic->err_int_vecs[0]; in fsl_mpic_mask_err() 39 eimr = mpic_fsl_err_read(mpic->err_regs, MPIC_ERR_INT_EIMR); in fsl_mpic_mask_err() 41 mpic_fsl_err_write(mpic->err_regs, eimr); in fsl_mpic_mask_err() 47 struct mpic *mpic = irq_data_get_irq_chip_data(d); in fsl_mpic_unmask_err() local 48 unsigned int src = virq_to_hw(d->irq) - mpic->err_int_vecs[0]; in fsl_mpic_unmask_err() 50 eimr = mpic_fsl_err_read(mpic->err_regs, MPIC_ERR_INT_EIMR); in fsl_mpic_unmask_err() 52 mpic_fsl_err_write(mpic->err_regs, eimr); in fsl_mpic_unmask_err() 61 int __init mpic_setup_error_int(struct mpic *mpic, int intvec) in mpic_setup_error_int() argument 65 mpic->err_regs = ioremap(mpic->paddr + MPIC_ERR_INT_BASE, 0x1000); in mpic_setup_error_int() [all …]
|
H A D | mpic.h | 10 extern void mpic_msi_reserve_hwirq(struct mpic *mpic, irq_hw_number_t hwirq); 11 int __init mpic_msi_init_allocator(struct mpic *mpic); 12 int __init mpic_u3msi_init(struct mpic *mpic); 14 static inline void mpic_msi_reserve_hwirq(struct mpic *mpic, in mpic_msi_reserve_hwirq() argument 20 static inline int mpic_u3msi_init(struct mpic *mpic) in mpic_u3msi_init() argument 27 int __init mpic_pasemi_msi_init(struct mpic *mpic); 29 static inline int mpic_pasemi_msi_init(struct mpic *mpic) { return -1; } in mpic_pasemi_msi_init() argument 39 extern int mpic_map_error_int(struct mpic *mpic, unsigned int virq, irq_hw_number_t hw); 40 void __init mpic_err_int_init(struct mpic *mpic, irq_hw_number_t irqnum); 41 int __init mpic_setup_error_int(struct mpic *mpic, int intvec); [all …]
|
H A D | mpic_msi.c | 18 void mpic_msi_reserve_hwirq(struct mpic *mpic, irq_hw_number_t hwirq) in mpic_msi_reserve_hwirq() argument 21 if (!mpic->msi_bitmap.bitmap) in mpic_msi_reserve_hwirq() 24 msi_bitmap_reserve_hwirq(&mpic->msi_bitmap, hwirq); in mpic_msi_reserve_hwirq() 28 static int __init mpic_msi_reserve_u3_hwirqs(struct mpic *mpic) in mpic_msi_reserve_u3_hwirqs() argument 31 const struct irq_domain_ops *ops = mpic->irqhost->ops; in mpic_msi_reserve_u3_hwirqs() 45 msi_bitmap_reserve_hwirq(&mpic->msi_bitmap, i); in mpic_msi_reserve_u3_hwirqs() 48 msi_bitmap_reserve_hwirq(&mpic->msi_bitmap, i); in mpic_msi_reserve_u3_hwirqs() 51 msi_bitmap_reserve_hwirq(&mpic->msi_bitmap, i); in mpic_msi_reserve_u3_hwirqs() 53 for (i = 124; i < mpic->num_sources; i++) in mpic_msi_reserve_u3_hwirqs() 54 msi_bitmap_reserve_hwirq(&mpic->msi_bitmap, i); in mpic_msi_reserve_u3_hwirqs() [all …]
|
/linux/drivers/irqchip/ |
H A D | irq-armada-370-xp.c | 170 struct mpic { struct 190 static struct mpic *mpic_data __ro_after_init; argument 192 static inline bool mpic_is_ipi_available(struct mpic *mpic) in mpic_is_ipi_available() argument 200 return mpic->parent_irq <= 0; in mpic_is_ipi_available() 215 struct mpic *mpic = irq_data_get_irq_chip_data(d); in mpic_irq_mask() local 219 writel(hwirq, mpic->base + MPIC_INT_CLEAR_ENABLE); in mpic_irq_mask() 221 writel(hwirq, mpic->per_cpu + MPIC_INT_SET_MASK); in mpic_irq_mask() 226 struct mpic *mpic = irq_data_get_irq_chip_data(d); in mpic_irq_unmask() local 230 writel(hwirq, mpic->base + MPIC_INT_SET_ENABLE); in mpic_irq_unmask() 232 writel(hwirq, mpic->per_cpu + MPIC_INT_CLEAR_MASK); in mpic_irq_unmask() [all …]
|
/linux/arch/powerpc/boot/dts/ |
H A D | stxssa8555.dts | 69 interrupt-parent = <&mpic>; 75 interrupt-parent = <&mpic>; 84 interrupt-parent = <&mpic>; 95 interrupt-parent = <&mpic>; 111 interrupt-parent = <&mpic>; 119 interrupt-parent = <&mpic>; 127 interrupt-parent = <&mpic>; 135 interrupt-parent = <&mpic>; 151 interrupt-parent = <&mpic>; 162 interrupt-parent = <&mpic>; [all …]
|
H A D | stx_gp3_8560.dts | 66 interrupt-parent = <&mpic>; 72 interrupt-parent = <&mpic>; 81 interrupt-parent = <&mpic>; 92 interrupt-parent = <&mpic>; 108 interrupt-parent = <&mpic>; 116 interrupt-parent = <&mpic>; 124 interrupt-parent = <&mpic>; 132 interrupt-parent = <&mpic>; 148 interrupt-parent = <&mpic>; 159 interrupt-parent = <&mpic>; [all …]
|
H A D | mvme5100.dts | 62 interrupt-parent = <&mpic>; 73 interrupt-parent = <&mpic>; 76 mpic: interrupt-controller@f3f80000 { label 98 interrupt-parent = <&mpic>; 112 0x5800 0x0 0x0 0x1 &mpic 0x0 0x2 113 0x5800 0x0 0x0 0x2 &mpic 0x0 0x2 114 0x5800 0x0 0x0 0x3 &mpic 0x0 0x2 115 0x5800 0x0 0x0 0x4 &mpic 0x0 0x2 120 0x6800 0x0 0x0 0x1 &mpic 0x5 0x1 121 0x6800 0x0 0x0 0x2 &mpic 0x6 0x1 [all …]
|
H A D | storcenter.dts | 66 interrupt-parent = <&mpic>; 82 interrupt-parent = <&mpic>; 93 interrupt-parent = <&mpic>; 96 mpic: interrupt-controller@40000 { label 118 interrupt-parent = <&mpic>; 122 0x6800 0 0 1 &mpic 0 1 123 0x6800 0 0 2 &mpic 0 1 124 0x6800 0 0 3 &mpic 0 1 125 0x6800 0 0 4 &mpic 0 1 127 0x7000 0 0 1 &mpic 0 1 [all …]
|
H A D | tqm8548.dts | 67 interrupt-parent = <&mpic>; 73 interrupt-parent = <&mpic>; 82 interrupt-parent = <&mpic>; 93 interrupt-parent = <&mpic>; 114 interrupt-parent = <&mpic>; 130 interrupt-parent = <&mpic>; 138 interrupt-parent = <&mpic>; 146 interrupt-parent = <&mpic>; 154 interrupt-parent = <&mpic>; 170 interrupt-parent = <&mpic>; [all …]
|
H A D | tqm8548-bigflash.dts | 67 interrupt-parent = <&mpic>; 73 interrupt-parent = <&mpic>; 82 interrupt-parent = <&mpic>; 93 interrupt-parent = <&mpic>; 114 interrupt-parent = <&mpic>; 130 interrupt-parent = <&mpic>; 138 interrupt-parent = <&mpic>; 146 interrupt-parent = <&mpic>; 154 interrupt-parent = <&mpic>; 170 interrupt-parent = <&mpic>; [all …]
|
H A D | tqm8541.dts | 67 interrupt-parent = <&mpic>; 73 interrupt-parent = <&mpic>; 82 interrupt-parent = <&mpic>; 93 interrupt-parent = <&mpic>; 119 interrupt-parent = <&mpic>; 127 interrupt-parent = <&mpic>; 135 interrupt-parent = <&mpic>; 143 interrupt-parent = <&mpic>; 159 interrupt-parent = <&mpic>; 170 interrupt-parent = <&mpic>; [all …]
|
H A D | tqm8555.dts | 67 interrupt-parent = <&mpic>; 73 interrupt-parent = <&mpic>; 82 interrupt-parent = <&mpic>; 93 interrupt-parent = <&mpic>; 119 interrupt-parent = <&mpic>; 127 interrupt-parent = <&mpic>; 135 interrupt-parent = <&mpic>; 143 interrupt-parent = <&mpic>; 159 interrupt-parent = <&mpic>; 170 interrupt-parent = <&mpic>; [all …]
|
H A D | tqm8540.dts | 68 interrupt-parent = <&mpic>; 74 interrupt-parent = <&mpic>; 83 interrupt-parent = <&mpic>; 94 interrupt-parent = <&mpic>; 120 interrupt-parent = <&mpic>; 128 interrupt-parent = <&mpic>; 136 interrupt-parent = <&mpic>; 144 interrupt-parent = <&mpic>; 160 interrupt-parent = <&mpic>; 170 interrupt-parent = <&mpic>; [all …]
|
H A D | kuroboxHD.dts | 76 interrupt-parent = <&mpic>; 92 interrupt-parent = <&mpic>; 103 interrupt-parent = <&mpic>; 106 mpic: interrupt-controller@80040000 { label 126 interrupt-parent = <&mpic>; 130 0x5800 0x0 0x0 0x1 &mpic 0x0 0x1 131 0x5800 0x0 0x0 0x2 &mpic 0x1 0x1 132 0x5800 0x0 0x0 0x3 &mpic 0x2 0x1 133 0x5800 0x0 0x0 0x4 &mpic 0x3 0x1 135 0x6000 0x0 0x0 0x1 &mpic 0x1 0x1 [all …]
|
H A D | kuroboxHG.dts | 76 interrupt-parent = <&mpic>; 92 interrupt-parent = <&mpic>; 103 interrupt-parent = <&mpic>; 106 mpic: interrupt-controller@80040000 { label 126 interrupt-parent = <&mpic>; 130 0x5800 0x0 0x0 0x1 &mpic 0x0 0x1 131 0x5800 0x0 0x0 0x2 &mpic 0x1 0x1 132 0x5800 0x0 0x0 0x3 &mpic 0x2 0x1 133 0x5800 0x0 0x0 0x4 &mpic 0x3 0x1 135 0x6000 0x0 0x0 0x1 &mpic 0x1 0x1 [all …]
|
H A D | xpedite5330.dts | 105 interrupt-parent = <&mpic>; 210 interrupt-parent = <&mpic>; 216 interrupt-parent = <&mpic>; 223 interrupt-parent = <&mpic>; 232 interrupt-parent = <&mpic>; 243 interrupt-parent = <&mpic>; 317 interrupt-parent = <&mpic>; 333 interrupt-parent = <&mpic>; 341 interrupt-parent = <&mpic>; 349 interrupt-parent = <&mpic>; [all …]
|
H A D | tqm8560.dts | 69 interrupt-parent = <&mpic>; 75 interrupt-parent = <&mpic>; 84 interrupt-parent = <&mpic>; 95 interrupt-parent = <&mpic>; 121 interrupt-parent = <&mpic>; 129 interrupt-parent = <&mpic>; 137 interrupt-parent = <&mpic>; 145 interrupt-parent = <&mpic>; 161 interrupt-parent = <&mpic>; 172 interrupt-parent = <&mpic>; [all …]
|
H A D | xpedite5301.dts | 69 interrupt-parent = <&mpic>; 174 interrupt-parent = <&mpic>; 180 interrupt-parent = <&mpic>; 187 interrupt-parent = <&mpic>; 196 interrupt-parent = <&mpic>; 207 interrupt-parent = <&mpic>; 281 interrupt-parent = <&mpic>; 297 interrupt-parent = <&mpic>; 305 interrupt-parent = <&mpic>; 313 interrupt-parent = <&mpic>; [all …]
|
H A D | xcalibur1501.dts | 68 interrupt-parent = <&mpic>; 158 interrupt-parent = <&mpic>; 181 interrupt-parent = <&mpic>; 187 interrupt-parent = <&mpic>; 194 interrupt-parent = <&mpic>; 203 interrupt-parent = <&mpic>; 214 interrupt-parent = <&mpic>; 301 interrupt-parent = <&mpic>; 317 interrupt-parent = <&mpic>; 325 interrupt-parent = <&mpic>; [all …]
|
H A D | xpedite5370.dts | 67 interrupt-parent = <&mpic>; 172 interrupt-parent = <&mpic>; 178 interrupt-parent = <&mpic>; 185 interrupt-parent = <&mpic>; 194 interrupt-parent = <&mpic>; 205 interrupt-parent = <&mpic>; 279 interrupt-parent = <&mpic>; 295 interrupt-parent = <&mpic>; 303 interrupt-parent = <&mpic>; 311 interrupt-parent = <&mpic>; [all …]
|
H A D | xpedite5200_xmon.dts | 70 interrupt-parent = <&mpic>; 76 interrupt-parent = <&mpic>; 85 interrupt-parent = <&mpic>; 97 interrupt-parent = <&mpic>; 153 interrupt-parent = <&mpic>; 169 interrupt-parent = <&mpic>; 177 interrupt-parent = <&mpic>; 185 interrupt-parent = <&mpic>; 193 interrupt-parent = <&mpic>; 210 interrupt-parent = <&mpic>; [all …]
|
/linux/arch/powerpc/boot/dts/fsl/ |
H A D | mpc8572ds.dtsi | 250 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 0 0 251 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 0 0 252 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 0 0 253 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1 0 0 256 0x8900 0x0 0x0 0x1 &mpic 0x2 0x1 0 0 257 0x8900 0x0 0x0 0x2 &mpic 0x3 0x1 0 0 258 0x8900 0x0 0x0 0x3 &mpic 0x4 0x1 0 0 259 0x8900 0x0 0x0 0x4 &mpic 0x1 0x1 0 0 262 0x8a00 0x0 0x0 0x1 &mpic 0x2 0x1 0 0 263 0x8a00 0x0 0x0 0x2 &mpic 0x3 0x1 0 0 [all …]
|
/linux/arch/powerpc/platforms/embedded6xx/ |
H A D | linkstation.c | 85 struct mpic *mpic; in linkstation_init_IRQ() local 87 mpic = mpic_alloc(NULL, 0, 0, 4, 0, " EPIC "); in linkstation_init_IRQ() 88 BUG_ON(mpic == NULL); in linkstation_init_IRQ() 91 mpic_assign_isu(mpic, 0, mpic->paddr + 0x10200); in linkstation_init_IRQ() 94 mpic_assign_isu(mpic, 1, mpic->paddr + 0x11000); in linkstation_init_IRQ() 97 mpic_assign_isu(mpic, 2, mpic->paddr + 0x11100); in linkstation_init_IRQ() 99 mpic_init(mpic); in linkstation_init_IRQ()
|
H A D | storcenter.c | 86 struct mpic *mpic; in storcenter_init_IRQ() local 88 mpic = mpic_alloc(NULL, 0, 0, 16, 0, " OpenPIC "); in storcenter_init_IRQ() 89 BUG_ON(mpic == NULL); in storcenter_init_IRQ() 95 mpic_assign_isu(mpic, 0, mpic->paddr + 0x10200); in storcenter_init_IRQ() 96 mpic_assign_isu(mpic, 1, mpic->paddr + 0x11000); in storcenter_init_IRQ() 98 mpic_init(mpic); in storcenter_init_IRQ()
|