| /components/drivers/pic/ |
| A D | pic.c | 86 if (pic) in rt_pic_default_name() 131 if (pic && pic->ops && pic->ops->name) in rt_pic_linear_irq() 151 pic->irq_start, pic->irq_start + pic->irq_nr); in rt_pic_linear_irq() 174 if (pic && pic->pirqs) in rt_pic_cancel_irq() 204 else if (pirq->pic != pic) in config_pirq() 214 pirq->pic = pic; in config_pirq() 276 RT_ASSERT(pirq->pic == pic); in rt_pic_find_ipi() 283 if (pic && irq >= pic->irq_start && irq <= pic->irq_start + pic->irq_nr) in rt_pic_find_pirq() 285 return &pic->pirqs[irq - pic->irq_start]; in rt_pic_find_pirq() 647 err = pic->ops->irq_init(pic); in rt_pic_irq_init() [all …]
|
| A D | SConscript | 11 src = ['pic.c', 'pic_rthw.c'] 14 src += ['pic-gic-common.c'] 17 src += ['pic-gicv2.c'] 20 src += ['pic-gicv2m.c'] 23 src += ['pic-gicv3.c'] 26 src += ['pic-gicv3-its.c']
|
| A D | pic-gicv2m.c | 119 struct gicv2m *v2m = raw_to_gicv2m(pirq->pic); in gicv2m_compose_msi_msg() 141 static int gicv2m_irq_alloc_msi(struct rt_pic *pic, struct rt_pci_msi_desc *msi_desc) in gicv2m_irq_alloc_msi() argument 146 struct gicv2m *v2m = raw_to_gicv2m(pic); in gicv2m_irq_alloc_msi() 167 irq = rt_pic_config_irq(pic, hwirq_index, hwirq); in gicv2m_irq_alloc_msi() 172 pirq = rt_pic_find_irq(pic, hwirq_index); in gicv2m_irq_alloc_msi() 185 static void gicv2m_irq_free_msi(struct rt_pic *pic, int irq) in gicv2m_irq_free_msi() argument 189 struct gicv2m *v2m = raw_to_gicv2m(pic); in gicv2m_irq_free_msi() 191 pirq = rt_pic_find_pirq(pic, irq); in gicv2m_irq_free_msi() 205 static rt_err_t gicv2m_irq_set_state(struct rt_pic *pic, int hwirq, int type, rt_bool_t state) in gicv2m_irq_set_state() argument 207 struct gicv2m *v2m = raw_to_gicv2m(pic); in gicv2m_irq_set_state() [all …]
|
| A D | pic-gicv2.c | 148 static rt_err_t gicv2_irq_init(struct rt_pic *pic) in gicv2_irq_init() argument 158 struct gicv2 *gic = raw_to_gicv2(pirq->pic); in gicv2_irq_ack() 171 struct gicv2 *gic = raw_to_gicv2(pirq->pic); in gicv2_irq_mask() 179 struct gicv2 *gic = raw_to_gicv2(pirq->pic); in gicv2_irq_unmask() 186 struct gicv2 *gic = raw_to_gicv2(pirq->pic); in gicv2_irq_eoi() 198 struct gicv2 *gic = raw_to_gicv2(pirq->pic); in gicv2_irq_set_priority() 211 struct gicv2 *gic = raw_to_gicv2(pirq->pic); in gicv2_irq_set_affinity() 251 struct gicv2 *gic = raw_to_gicv2(pirq->pic); in gicv2_irq_set_triger_mode() 290 struct gicv2 *gic = raw_to_gicv2(pic); in gicv2_irq_set_state() 322 struct gicv2 *gic = raw_to_gicv2(pic); in gicv2_irq_get_state() [all …]
|
| A D | pic-gicv3-its.c | 607 static rt_err_t gicv3_its_irq_init(struct rt_pic *pic) in gicv3_its_irq_init() argument 610 struct gicv3_its *its = raw_to_gicv3_its(pic); in gicv3_its_irq_init() 626 struct gicv3_its *its = raw_to_gicv3_its(pirq->pic); in gicv3_its_irq_mask() 637 struct gicv3_its *its = raw_to_gicv3_its(pirq->pic); in gicv3_its_irq_unmask() 714 struct gicv3_its *its = raw_to_gicv3_its(pic); in gicv3_its_irq_alloc_msi() 863 irq = rt_pic_config_irq(pic, hwirq_index, hwirq); in gicv3_its_irq_alloc_msi() 868 pirq = rt_pic_find_irq(pic, hwirq_index); in gicv3_its_irq_alloc_msi() 975 struct gicv3_its *its = raw_to_gicv3_its(pic); in gicv3_its_irq_free_msi() 977 pirq = rt_pic_find_pirq(pic, irq); in gicv3_its_irq_free_msi() 1006 struct gicv3_its *its = raw_to_gicv3_its(pic); in gicv3_its_irq_set_state() [all …]
|
| A D | pic-gicv3.c | 442 static rt_err_t gicv3_irq_init(struct rt_pic *pic) in gicv3_irq_init() argument 624 static rt_err_t gicv3_irq_set_state(struct rt_pic *pic, int hwirq, int type, rt_bool_t state) in gicv3_irq_set_state() argument 668 static rt_err_t gicv3_irq_get_state(struct rt_pic *pic, int hwirq, int type, rt_bool_t *out_state) in gicv3_irq_get_state() argument 697 static int gicv3_irq_map(struct rt_pic *pic, int hwirq, rt_uint32_t mode) in gicv3_irq_map() argument 711 pirq = rt_pic_find_irq(pic, irq_index); in gicv3_irq_map() 730 irq = rt_pic_config_irq(pic, irq_index, hwirq); in gicv3_irq_map() 745 static rt_err_t gicv3_irq_parse(struct rt_pic *pic, struct rt_ofw_cell_args *args, struct rt_pic_ir… in gicv3_irq_parse() argument
|
| /components/drivers/include/drivers/ |
| A D | pic.h | 57 rt_err_t (*irq_init)(struct rt_pic *pic); 58 rt_err_t (*irq_finit)(struct rt_pic *pic); 76 void (*irq_free_msi)(struct rt_pic *pic, int irq); 140 struct rt_pic *pic; member 147 void rt_pic_default_name(struct rt_pic *pic); 151 rt_err_t rt_pic_cancel_irq(struct rt_pic *pic); 159 RT_ASSERT(pic != RT_NULL); in rt_pic_find_irq() 160 RT_ASSERT(pic->pirqs != RT_NULL); in rt_pic_find_irq() 161 RT_ASSERT(irq_index < pic->irq_nr); in rt_pic_find_irq() 163 return &pic->pirqs[irq_index]; in rt_pic_find_irq() [all …]
|
| /components/drivers/pin/ |
| A D | dev_pin_dm.c | 236 struct rt_device_pin *gpio = pirq->pic->priv_data; in pin_dm_irq_mask() 243 struct rt_device_pin *gpio = pirq->pic->priv_data; in pin_dm_irq_unmask() 251 struct rt_device_pin *gpio = pirq->pic->priv_data; in pin_dm_irq_set_triger_mode() 285 struct rt_device_pin *gpio = pic->priv_data; in pin_dm_irq_map() 290 irq = rt_pic_config_irq(pic, hwirq, hwirq); in pin_dm_irq_map() 302 static rt_err_t pin_dm_irq_parse(struct rt_pic *pic, in pin_dm_irq_parse() argument 384 struct rt_pic *pic = &irqchip->parent; in pin_pic_init() local 400 pic->priv_data = gpio; in pin_pic_init() 401 pic->ops = &pin_dm_ops; in pin_pic_init() 406 err = rt_pic_linear_irq(pic, gpio->pin_nr); in pin_pic_init() [all …]
|
| /components/drivers/ofw/ |
| A D | irq.c | 529 struct rt_pic *pic = rt_pic_dynamic_cast(rt_ofw_data(ic_np)); in ofw_map_irq() local 532 if (pic) in ofw_map_irq() 536 if (!pic->ops->irq_parse) in ofw_map_irq() 542 if (!pic->ops->irq_map) in ofw_map_irq() 548 irq = pic->ops->irq_parse(pic, irq_args, &pirq); in ofw_map_irq() 552 irq = pic->ops->irq_map(pic, pirq.hwirq, pirq.mode); in ofw_map_irq()
|
| /components/drivers/pci/host/dw/ |
| A D | pcie-dw_host.c | 21 struct dw_pcie_port *port = pirq->pic->priv_data; in dw_pcie_irq_ack() 36 struct dw_pcie_port *port = pirq->pic->priv_data; in dw_pcie_irq_mask() 58 struct dw_pcie_port *port = pirq->pic->priv_data; in dw_pcie_irq_unmask() 78 struct dw_pcie_port *port = pirq->pic->priv_data; in dw_pcie_compose_msi_msg() 88 static int dw_pcie_irq_alloc_msi(struct rt_pic *pic, struct rt_pci_msi_desc *msi_desc) in dw_pcie_irq_alloc_msi() argument 93 struct dw_pcie_port *port = pic->priv_data; in dw_pcie_irq_alloc_msi() 104 pirq = rt_pic_find_irq(pic, hwirq); in dw_pcie_irq_alloc_msi() 106 irq = rt_pic_config_irq(pic, hwirq, hwirq); in dw_pcie_irq_alloc_msi() 117 static void dw_pcie_irq_free_msi(struct rt_pic *pic, int irq) in dw_pcie_irq_free_msi() argument 121 struct dw_pcie_port *port = pic->priv_data; in dw_pcie_irq_free_msi() [all …]
|
| /components/drivers/mailbox/ |
| A D | mailbox-pic.c | 56 struct rt_pic *pic; member 104 rt_pic_irq_set_state_raw(pic_mbox->pic, pic_mbox->peer_hwirq, in pic_mbox_send() 239 pic_mbox->pic = rt_ofw_data(pic_np); in pic_mbox_probe()
|
| A D | SConscript | 14 src += ['mailbox-pic.c']
|
| /components/drivers/ |
| A D | Kconfig | 39 rsource "pic/Kconfig"
|