/linux/drivers/net/ipa/ |
H A D | gsi.c | 169 return channel - &channel->gsi->channel[0]; in gsi_channel_id() 175 return !!channel->gsi; in gsi_channel_initialized() 195 static void gsi_irq_type_update(struct gsi *gsi, u32 val) in gsi_irq_type_update() argument 197 const struct reg *reg = gsi_reg(gsi, CNTXT_TYPE_IRQ_MSK); in gsi_irq_type_update() 199 gsi->type_enabled_bitmap = val; in gsi_irq_type_update() 200 iowrite32(val, gsi->virt + reg_offset(reg)); in gsi_irq_type_update() 203 static void gsi_irq_type_enable(struct gsi *gsi, enum gsi_irq_type_id type_id) in gsi_irq_type_enable() argument 205 gsi_irq_type_update(gsi, gsi->type_enabled_bitmap | type_id); in gsi_irq_type_enable() 208 static void gsi_irq_type_disable(struct gsi *gsi, enum gsi_irq_type_id type_id) in gsi_irq_type_disable() argument 210 gsi_irq_type_update(gsi, gsi->type_enabled_bitmap & ~type_id); in gsi_irq_type_disable() [all …]
|
H A D | gsi.h | 26 struct gsi; 100 struct gsi *gsi; member 136 struct gsi { struct 166 int gsi_setup(struct gsi *gsi); 172 void gsi_teardown(struct gsi *gsi); 181 u32 gsi_channel_tre_max(struct gsi *gsi, u32 channel_id); 190 int gsi_channel_start(struct gsi *gsi, u32 channel_id); 199 int gsi_channel_stop(struct gsi *gsi, u32 channel_id); 207 void gsi_modem_channel_flow_control(struct gsi *gsi, u32 channel_id, 222 void gsi_channel_reset(struct gsi *gsi, u32 channel_id, bool doorbell); [all …]
|
H A D | gsi_reg.c | 13 static bool gsi_reg_id_valid(struct gsi *gsi, enum gsi_reg_id reg_id) in gsi_reg_id_valid() argument 18 return gsi->version >= IPA_VERSION_3_5; in gsi_reg_id_valid() 21 return gsi->version >= IPA_VERSION_3_5_1; in gsi_reg_id_valid() 24 return gsi->version >= IPA_VERSION_5_0; in gsi_reg_id_valid() 82 const struct reg *gsi_reg(struct gsi *gsi, enum gsi_reg_id reg_id) in gsi_reg() argument 84 if (WARN(!gsi_reg_id_valid(gsi, reg_id), "invalid reg %u\n", reg_id)) in gsi_reg() 87 return reg(gsi->regs, reg_id); in gsi_reg() 90 static const struct regs *gsi_regs(struct gsi *gsi) in gsi_regs() argument 92 switch (gsi->version) { in gsi_regs() 122 int gsi_reg_init(struct gsi *gsi, struct platform_device *pdev) in gsi_reg_init() argument [all …]
|
H A D | ipa_gsi.c | 18 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_gsi_trans_complete() 25 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_gsi_trans_release() 30 void ipa_gsi_channel_tx_queued(struct gsi *gsi, u32 channel_id, u32 count, in ipa_gsi_channel_tx_queued() argument 33 struct ipa *ipa = container_of(gsi, struct ipa, gsi); in ipa_gsi_channel_tx_queued() 41 void ipa_gsi_channel_tx_completed(struct gsi *gsi, u32 channel_id, u32 count, in ipa_gsi_channel_tx_completed() argument 44 struct ipa *ipa = container_of(gsi, struct ipa, gsi); in ipa_gsi_channel_tx_completed()
|
H A D | gsi_trans.h | 21 struct gsi; 51 struct gsi *gsi; member 142 bool gsi_channel_trans_idle(struct gsi *gsi, u32 channel_id); 154 struct gsi_trans *gsi_channel_trans_alloc(struct gsi *gsi, u32 channel_id, 217 int gsi_trans_read_byte(struct gsi *gsi, u32 channel_id, dma_addr_t addr); 227 void gsi_trans_read_byte_done(struct gsi *gsi, u32 channel_id);
|
H A D | gsi_trans.c | 221 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_map() 256 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_committed() 266 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_pending() 279 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_complete() 293 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_polled() 324 bool gsi_channel_trans_idle(struct gsi *gsi, u32 channel_id) in gsi_channel_trans_idle() argument 326 u32 tre_max = gsi_channel_tre_max(gsi, channel_id); in gsi_channel_trans_idle() 329 trans_info = &gsi->channel[channel_id].trans_info; in gsi_channel_trans_idle() 335 struct gsi_trans *gsi_channel_trans_alloc(struct gsi *gsi, u32 channel_id, in gsi_channel_trans_alloc() argument 339 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_channel_trans_alloc() [all …]
|
H A D | ipa_gsi.h | 11 struct gsi; 44 void ipa_gsi_channel_tx_queued(struct gsi *gsi, u32 channel_id, u32 count, 57 void ipa_gsi_channel_tx_completed(struct gsi *gsi, u32 channel_id, u32 count,
|
H A D | ipa_cmd.c | 329 struct device *dev = channel->gsi->dev; in ipa_cmd_pool_init() 343 struct device *dev = channel->gsi->dev; in ipa_cmd_pool_exit() 355 trans_info = &ipa->gsi.channel[endpoint->channel_id].trans_info; in ipa_cmd_payload_alloc() 366 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_cmd_table_init_add() 404 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_cmd_hdr_init_local_add() 433 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_cmd_register_write_add() 490 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_cmd_ip_packet_init_add() 515 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_cmd_dma_shared_mem_add() 555 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_cmd_ip_tag_status_add() 573 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_cmd_transfer_add() [all …]
|
H A D | gsi_reg.h | 15 struct gsi; 365 const struct reg *gsi_reg(struct gsi *gsi, enum gsi_reg_id reg_id); 375 int gsi_reg_init(struct gsi *gsi, struct platform_device *pdev); 381 void gsi_reg_exit(struct gsi *gsi);
|
H A D | ipa_endpoint.c | 436 struct gsi *gsi = &endpoint->ipa->gsi; in ipa_endpoint_trans_alloc() local 442 return gsi_channel_trans_alloc(gsi, channel_id, tre_count, direction); in ipa_endpoint_trans_alloc() 593 gsi_modem_channel_flow_control(&ipa->gsi, in ipa_endpoint_modem_pause_all() 1375 if (gsi_channel_trans_idle(&endpoint->ipa->gsi, endpoint->channel_id)) in ipa_endpoint_replenish() 1385 if (gsi_channel_trans_idle(&endpoint->ipa->gsi, endpoint->channel_id)) in ipa_endpoint_replenish_enable() 1674 struct gsi *gsi = &ipa->gsi; in ipa_endpoint_reset_rx_aggr() local 1700 gsi_channel_reset(gsi, endpoint->channel_id, false); in ipa_endpoint_reset_rx_aggr() 1706 ret = gsi_channel_start(gsi, endpoint->channel_id); in ipa_endpoint_reset_rx_aggr() 1710 ret = gsi_trans_read_byte(gsi, endpoint->channel_id, addr); in ipa_endpoint_reset_rx_aggr() 1727 gsi_trans_read_byte_done(gsi, endpoint->channel_id); in ipa_endpoint_reset_rx_aggr() [all …]
|
H A D | gsi_private.h | 13 struct gsi; 81 int gsi_channel_trans_init(struct gsi *gsi, u32 channel_id);
|
/linux/drivers/infiniband/hw/mlx5/ |
H A D | gsi.c | 49 struct mlx5_ib_gsi_qp *gsi = &mqp->gsi; in generate_completions() local 54 for (index = gsi->outstanding_ci; index != gsi->outstanding_pi; in generate_completions() 56 wr = &gsi->outstanding_wrs[index % gsi->cap.max_send_wr]; in generate_completions() 65 gsi->outstanding_ci = index; in generate_completions() 70 struct mlx5_ib_gsi_qp *gsi = cq->cq_context; in handle_single_completion() local 73 struct mlx5_ib_qp *mqp = container_of(gsi, struct mlx5_ib_qp, gsi); in handle_single_completion() 77 spin_lock_irqsave(&gsi->lock, flags); in handle_single_completion() 85 spin_unlock_irqrestore(&gsi->lock, flags); in handle_single_completion() 92 struct mlx5_ib_gsi_qp *gsi; in mlx5_ib_create_gsi() local 106 gsi = &mqp->gsi; in mlx5_ib_create_gsi() [all …]
|
/linux/drivers/perf/ |
H A D | arm_pmu_acpi.c | 25 int gsi, trigger; in arm_pmu_acpi_register_irq() local 29 gsi = gicc->performance_interrupt; in arm_pmu_acpi_register_irq() 38 if (!gsi) in arm_pmu_acpi_register_irq() 57 return acpi_register_gsi(NULL, gsi, trigger, ACPI_ACTIVE_HIGH); in arm_pmu_acpi_register_irq() 63 int gsi; in arm_pmu_acpi_unregister_irq() local 67 gsi = gicc->performance_interrupt; in arm_pmu_acpi_unregister_irq() 68 if (gsi) in arm_pmu_acpi_unregister_irq() 69 acpi_unregister_gsi(gsi); in arm_pmu_acpi_unregister_irq() 77 u16 this_gsi = 0, gsi = 0; in arm_acpi_register_pmu_device() local 98 return gsi ? -ENXIO : 0; in arm_acpi_register_pmu_device() [all …]
|
/linux/drivers/acpi/ |
H A D | irq.c | 15 static struct fwnode_handle *(*acpi_get_gsi_domain_id)(u32 gsi); 16 static u32 (*acpi_gsi_to_irq_fallback)(u32 gsi); 28 int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) in acpi_gsi_to_irq() argument 32 d = irq_find_matching_fwnode(acpi_get_gsi_domain_id(gsi), in acpi_gsi_to_irq() 34 *irq = irq_find_mapping(d, gsi); in acpi_gsi_to_irq() 40 *irq = acpi_gsi_to_irq_fallback(gsi); in acpi_gsi_to_irq() 56 int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, in acpi_register_gsi() argument 62 fwspec.fwnode = acpi_get_gsi_domain_id(gsi); in acpi_register_gsi() 68 fwspec.param[0] = gsi; in acpi_register_gsi() 84 void acpi_unregister_gsi(u32 gsi) in acpi_unregister_gsi() argument [all …]
|
H A D | evged.c | 51 unsigned int gsi; member 61 acpi_ret = acpi_execute_simple_method(event->handle, NULL, event->gsi); in acpi_ged_irq_handler() 73 unsigned int gsi; in acpi_ged_request_interrupt() local 93 gsi = p->interrupts[0]; in acpi_ged_request_interrupt() 96 gsi = pext->interrupts[0]; in acpi_ged_request_interrupt() 102 switch (gsi) { in acpi_ged_request_interrupt() 105 trigger == ACPI_EDGE_SENSITIVE ? 'E' : 'L', gsi); in acpi_ged_request_interrupt() 122 event->gsi = gsi; in acpi_ged_request_interrupt() 136 dev_dbg(dev, "GED listening GSI %u @ IRQ %u\n", gsi, irq); in acpi_ged_request_interrupt() 172 event->gsi, event->irq); in ged_shutdown()
|
/linux/arch/x86/kernel/acpi/ |
H A D | boot.c | 343 u8 trigger, u32 gsi); 346 u32 gsi) in mp_override_legacy_irq() argument 364 if (mp_register_ioapic_irq(bus_irq, polarity, trigger, gsi) < 0) in mp_override_legacy_irq() 371 if (gsi < nr_legacy_irqs() && isa_irq_to_gsi[gsi] == gsi) in mp_override_legacy_irq() 372 isa_irq_to_gsi[gsi] = INVALID_ACPI_IRQ; in mp_override_legacy_irq() 373 isa_irq_to_gsi[bus_irq] = gsi; in mp_override_legacy_irq() 376 static void mp_config_acpi_gsi(struct device *dev, u32 gsi, int trigger, in mp_config_acpi_gsi() argument 403 ioapic = mp_find_ioapic(gsi); in mp_config_acpi_gsi() 405 mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi); in mp_config_acpi_gsi() 412 u8 trigger, u32 gsi) in mp_register_ioapic_irq() argument [all …]
|
/linux/arch/x86/pci/ |
H A D | xen.c | 38 u8 gsi; in xen_pcifront_enable_irq() local 40 rc = pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &gsi); in xen_pcifront_enable_irq() 47 pirq = gsi; in xen_pcifront_enable_irq() 49 if (gsi < nr_legacy_irqs()) in xen_pcifront_enable_irq() 52 rc = xen_bind_pirq_gsi_to_irq(gsi, pirq, share, "pcifront"); in xen_pcifront_enable_irq() 55 gsi, pirq, rc); in xen_pcifront_enable_irq() 60 dev_info(&dev->dev, "Xen PCI mapped GSI%d to IRQ%d\n", gsi, dev->irq); in xen_pcifront_enable_irq() 65 static int xen_register_pirq(u32 gsi, int triggering, bool set_pirq) in xen_register_pirq() argument 72 irq = xen_irq_from_gsi(gsi); in xen_register_pirq() 77 pirq = gsi; in xen_register_pirq() [all …]
|
/linux/scripts/gcc-plugins/ |
H A D | stackleak_plugin.c | 54 static void add_stack_tracking_gcall(gimple_stmt_iterator *gsi, bool after) in add_stack_tracking_gcall() argument 65 gsi_insert_after(gsi, gimple_call, GSI_CONTINUE_LINKING); in add_stack_tracking_gcall() 67 gsi_insert_before(gsi, gimple_call, GSI_SAME_STMT); in add_stack_tracking_gcall() 113 static void add_stack_tracking_gasm(gimple_stmt_iterator *gsi, bool after) in add_stack_tracking_gasm() argument 134 add_stack_tracking_gcall(gsi, after); in add_stack_tracking_gasm() 144 gsi_insert_after(gsi, asm_call, GSI_CONTINUE_LINKING); in add_stack_tracking_gasm() 146 gsi_insert_before(gsi, asm_call, GSI_SAME_STMT); in add_stack_tracking_gasm() 150 static void add_stack_tracking(gimple_stmt_iterator *gsi, bool after) in add_stack_tracking() argument 161 add_stack_tracking_gasm(gsi, after); in add_stack_tracking() 163 add_stack_tracking_gcall(gsi, after); in add_stack_tracking() [all …]
|
H A D | latent_entropy_plugin.c | 342 gimple_stmt_iterator gsi; in perturb_local_entropy() local 349 gsi = gsi_after_labels(bb); in perturb_local_entropy() 350 gsi_insert_before(&gsi, assign, GSI_NEW_STMT); in perturb_local_entropy() 354 static void __perturb_latent_entropy(gimple_stmt_iterator *gsi, in __perturb_latent_entropy() argument 368 gsi_insert_before(gsi, assign, GSI_NEW_STMT); in __perturb_latent_entropy() 374 gsi_insert_after(gsi, assign, GSI_NEW_STMT); in __perturb_latent_entropy() 379 gsi_insert_after(gsi, assign, GSI_NEW_STMT); in __perturb_latent_entropy() 385 gimple_stmt_iterator gsi; in handle_tail_calls() local 387 for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { in handle_tail_calls() 389 gimple stmt = gsi_stmt(gsi); in handle_tail_calls() [all …]
|
H A D | structleak_plugin.c | 119 gimple_stmt_iterator gsi; in initialize() local 128 for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { in initialize() 129 gimple stmt = gsi_stmt(gsi); in initialize() 163 gsi = gsi_after_labels(single_succ(ENTRY_BLOCK_PTR_FOR_FN(cfun))); in initialize() 164 gsi_insert_before(&gsi, init_stmt, GSI_NEW_STMT); in initialize()
|
/linux/virt/kvm/ |
H A D | eventfd.c | 49 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, in irqfd_inject() 51 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, in irqfd_inject() 55 irqfd->gsi, 1, false); in irqfd_inject() 84 resampler->notifier.gsi, 0, false); in irqfd_resampler_ack() 109 resampler->notifier.gsi, 0, false); in irqfd_resampler_shutdown() 264 n_entries = kvm_irq_map_gsi(kvm, entries, irqfd->gsi); in irqfd_update() 324 irqfd->gsi = args->gsi; in kvm_irqfd_assign() 360 if (resampler->notifier.gsi == irqfd->gsi) { in kvm_irqfd_assign() 377 resampler->notifier.gsi = irqfd->gsi; in kvm_irqfd_assign() 471 int gsi, idx; in kvm_irq_has_notifier() local [all …]
|
H A D | irqchip.c | 22 struct kvm_kernel_irq_routing_entry *entries, int gsi) in kvm_irq_map_gsi() argument 30 if (irq_rt && gsi < irq_rt->nr_rt_entries) { in kvm_irq_map_gsi() 31 hlist_for_each_entry(e, &irq_rt->map[gsi], link) { in kvm_irq_map_gsi() 134 u32 gsi = array_index_nospec(ue->gsi, KVM_MAX_IRQ_ROUTES); in setup_routing_entry() local 140 hlist_for_each_entry(ei, &rt->map[gsi], link) in setup_routing_entry() 146 e->gsi = gsi; in setup_routing_entry() 152 rt->chip[e->irqchip.irqchip][e->irqchip.pin] = e->gsi; in setup_routing_entry() 154 hlist_add_head(&e->link, &rt->map[e->gsi]); in setup_routing_entry() 179 if (ue[i].gsi >= KVM_MAX_IRQ_ROUTES) in kvm_set_irq_routing() 181 nr_rt_entries = max(nr_rt_entries, ue[i].gsi); in kvm_set_irq_routing()
|
/linux/drivers/irqchip/ |
H A D | irq-loongarch-cpu.c | 21 static u32 lpic_gsi_to_irq(u32 gsi) in lpic_gsi_to_irq() argument 26 if (gsi >= GSI_MIN_PCH_IRQ && gsi <= GSI_MAX_PCH_IRQ) in lpic_gsi_to_irq() 27 irq = acpi_register_gsi(NULL, gsi, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_HIGH); in lpic_gsi_to_irq() 32 static struct fwnode_handle *lpic_get_gsi_domain_id(u32 gsi) in lpic_get_gsi_domain_id() argument 37 switch (gsi) { in lpic_get_gsi_domain_id() 49 id = find_pch_pic(gsi); in lpic_get_gsi_domain_id()
|
/linux/drivers/xen/ |
H A D | acpi.c | 92 int gsi; in xen_acpi_get_gsi_info() local 109 gsi = acpi_pci_link_allocate_irq(entry->link, in xen_acpi_get_gsi_info() 114 gsi = entry->index; in xen_acpi_get_gsi_info() 116 gsi = -1; in xen_acpi_get_gsi_info() 118 if (gsi < 0) in xen_acpi_get_gsi_info() 121 *gsi_out = gsi; in xen_acpi_get_gsi_info()
|
/linux/arch/x86/include/asm/ |
H A D | io_apic.h | 144 extern int mp_find_ioapic(u32 gsi); 145 extern int mp_find_ioapic_pin(int ioapic, u32 gsi); 146 extern int mp_map_gsi_to_irq(u32 gsi, unsigned int flags, 186 static inline int mp_find_ioapic(u32 gsi) { return 0; } in mp_find_ioapic() argument 187 static inline int mp_map_gsi_to_irq(u32 gsi, unsigned int flags, in mp_map_gsi_to_irq() argument 190 return gsi; in mp_map_gsi_to_irq()
|