Home
last modified time | relevance | path

Searched full:intx (Results 1 – 25 of 191) sorted by relevance

12345678

/linux-6.12.1/drivers/pci/
Dirq.c83 * pci_swizzle_interrupt_pin - swizzle INTx for device behind bridge
85 * @pin: the INTx pin (1=INTA, 2=INTB, 3=INTC, 4=INTD)
87 * Perform INTx swizzling for a device behind one level of bridge. This is
122 * pci_common_swizzle - swizzle INTx all the way to root bridge
124 * @pinp: pointer to the INTx pin value (1=INTA, 2=INTB, 3=INTD, 4=INTD)
126 * Perform INTx swizzling for a device. This traverses through all PCI-to-PCI
236 * pci_check_and_mask_intx - mask INTx on pending interrupt
239 * Check if the device dev has its INTx line asserted, mask it and return
249 * pci_check_and_unmask_intx - unmask INTx if no interrupt is pending
252 * Check if the device dev has its INTx line asserted, unmask it if not and
/linux-6.12.1/drivers/pci/controller/
Dpcie-rockchip-ep.c29 * @irq_phys_addr: base address on the AXI bus where the MSI/INTX IRQ
32 * the sending of a memory write (MSI) / normal message (INTX
34 * @irq_pci_addr: used to save the current mapping of the MSI/INTX IRQ
37 * the MSI/INTX IRQ dedicated outbound region.
38 * @irq_pending: bitmask of asserted INTX IRQs.
305 u8 intx, bool do_assert) in rockchip_pcie_ep_assert_intx() argument
309 intx &= 3; in rockchip_pcie_ep_assert_intx()
312 ep->irq_pending |= BIT(intx); in rockchip_pcie_ep_assert_intx()
318 ep->irq_pending &= ~BIT(intx); in rockchip_pcie_ep_assert_intx()
327 u8 intx) in rockchip_pcie_ep_send_intx_irq() argument
[all …]
Dpcie-xilinx-dma-pl.c45 IMR(INTX) | \
113 * @intx_irq: INTx error interrupt number
250 .name = "pl_dma:INTx",
265 /* INTx IRQ Domain operations */
504 * INTx error interrupts are Xilinx controller specific interrupt, used to
581 /* Setup INTx */ in xilinx_pl_dma_pcie_init_irq_domain()
598 dev_err(dev, "Failed to get a INTx IRQ domain\n"); in xilinx_pl_dma_pcie_init_irq_domain()
651 dev_err(dev, "Failed to map INTx interrupt\n"); in xilinx_pl_dma_pcie_setup_irq()
658 dev_err(dev, "Failed to request INTx IRQ %d\n", port->intx_irq); in xilinx_pl_dma_pcie_setup_irq()
Dpcie-xilinx-cpm.c52 IMR(INTX) | \
177 .name = "INTx",
183 * xilinx_cpm_pcie_intx_map - Set the handler for the INTx and mark IRQ as valid
201 /* INTx IRQ Domain operations */
379 /* Setup INTx */ in xilinx_cpm_pcie_init_irq_domain()
447 dev_err(dev, "Failed to map INTx interrupt\n"); in xilinx_cpm_setup_irq()
451 /* Plug the INTx chained handler */ in xilinx_cpm_setup_irq()
Dpcie-xilinx.c202 * the respective callbacks for INTx and MSI. in xilinx_msi_top_irq_ack()
304 /* INTx Functions */
307 * xilinx_pcie_intx_map - Set the handler for the INTx and mark IRQ as valid
323 /* INTx IRQ Domain operations */
457 /* Setup INTx */ in xilinx_pcie_init_irq_domain()
469 dev_err(dev, "Failed to get a INTx IRQ domain\n"); in xilinx_pcie_init_irq_domain()
Dpci-mvebu.c324 /* Check if "intx" interrupt was specified in DT. */ in mvebu_pcie_setup_hw()
329 * Fallback code when "intx" interrupt was not specified in DT: in mvebu_pcie_setup_hw()
330 * Unmask all legacy INTx interrupts as driver does not provide a way in mvebu_pcie_setup_hw()
331 * for masking and unmasking of individual legacy INTx interrupts. in mvebu_pcie_setup_hw()
332 * Legacy INTx are reported via one shared GIC source and therefore in mvebu_pcie_setup_hw()
333 * kernel cannot distinguish which individual legacy INTx was triggered. in mvebu_pcie_setup_hw()
1046 .name = "mvebu-INTx",
1086 dev_err(dev, "Failed to get INTx IRQ domain for %s\n", port->name); in mvebu_pcie_init_irq_domain()
1107 /* Process legacy INTx interrupts */ in mvebu_pcie_irq_handler()
1315 * Old DT bindings do not contain "intx" interrupt in mvebu_pcie_parse_port()
[all …]
/linux-6.12.1/Documentation/PCI/
Dboot-interrupts.rst20 protocol describes this in-band legacy wire-interrupt INTx mechanism for
22 describe problems with the Core IO handling of INTx message routing to the
29 When in-band legacy INTx messages are forwarded to the PCH, they in turn
103 When this bit is set. Local INTx messages received from the
110 has been to make use of PCI Interrupt pin to INTx routing tables for
112 line by default. Therefore, on chipsets where this INTx routing cannot be
147 2.15.2 PCI Express Legacy INTx Support and Boot Interrupt
/linux-6.12.1/drivers/net/ethernet/cisco/enic/
Dvnic_enet.h43 #define VENET_INTR_MODE_ANY 0 /* Try MSI-X, then MSI, then INTx */
44 #define VENET_INTR_MODE_MSI 1 /* Try MSI then INTx */
45 #define VENET_INTR_MODE_INTX 2 /* Try INTx only */
Denic_res.c96 c->intr_mode == VENET_INTR_MODE_INTX ? "INTx" : in enic_get_vnic_config()
252 * CQ[0 - n+m-1] point to INTR[0] for INTx, MSI in enic_init_vnic_resources()
282 * mask_on_assertion is not used for INTx due to the level- in enic_init_vnic_resources()
283 * triggered nature of INTx in enic_init_vnic_resources()
316 intr_mode == VNIC_DEV_INTR_MODE_INTX ? "legacy PCI INTx" : in enic_alloc_vnic_resources()
/linux-6.12.1/drivers/pci/msi/
Dapi.c44 * free earlier allocated interrupt vectors, and restore INTx emulation.
187 * free earlier-allocated interrupt vectors, and restore INTx.
216 * * %PCI_IRQ_INTX Allow trying INTx interrupts, if and
224 * higher precedence over legacy INTx emulation.
282 /* use INTx IRQ if allowed */ in pci_alloc_irq_vectors_affinity()
309 * * INTx must be 0
333 * * INTx must be 0
340 * during system boot if the device is in legacy INTx mode.
/linux-6.12.1/arch/arm/boot/dts/marvell/
Darmada-xp-mv78460.dtsi122 interrupt-names = "intx";
150 interrupt-names = "intx";
178 interrupt-names = "intx";
206 interrupt-names = "intx";
234 interrupt-names = "intx";
262 interrupt-names = "intx";
290 interrupt-names = "intx";
318 interrupt-names = "intx";
346 interrupt-names = "intx";
374 interrupt-names = "intx";
Darmada-xp-mv78260.dtsi101 interrupt-names = "intx";
129 interrupt-names = "intx";
157 interrupt-names = "intx";
185 interrupt-names = "intx";
213 interrupt-names = "intx";
241 interrupt-names = "intx";
269 interrupt-names = "intx";
297 interrupt-names = "intx";
325 interrupt-names = "intx";
Darmada-385.dtsi72 interrupt-names = "intx";
100 interrupt-names = "intx";
128 interrupt-names = "intx";
159 interrupt-names = "intx";
Darmada-xp-mv78230.dtsi86 interrupt-names = "intx";
114 interrupt-names = "intx";
142 interrupt-names = "intx";
170 interrupt-names = "intx";
198 interrupt-names = "intx";
Darmada-380.dtsi67 interrupt-names = "intx";
96 interrupt-names = "intx";
125 interrupt-names = "intx";
/linux-6.12.1/drivers/pci/controller/mobiveil/
Dpcie-mobiveil-host.c95 * The core provides a single interrupt for both INTx/MSI messages. in mobiveil_pcie_isr()
96 * So we'll read both INTx and MSI status in mobiveil_pcie_isr()
101 /* read INTx status */ in mobiveil_pcie_isr()
106 /* Handle INTx */ in mobiveil_pcie_isr()
334 .name = "mobiveil_pcie:intx",
341 /* routine to setup the INTx related data */
351 /* INTx domain operations structure */
467 /* setup INTx */ in mobiveil_pcie_init_irq_domain()
472 dev_err(dev, "Failed to get a INTx IRQ domain\n"); in mobiveil_pcie_init_irq_domain()
/linux-6.12.1/drivers/scsi/csiostor/
Dcsio_isr.c78 * and INTx handlers.
126 * csio_fwevt_isr() - INTx wrapper for handling FW events.
209 * This routine is shared b/w MSIX and INTx.
277 * csio_scsi_intx_handler() - SCSI INTx handler
281 * This is the top level SCSI INTx handler. Calls csio_scsi_isr_handler()
295 * csio_fcoe_isr() - INTx/MSI interrupt service routine for FCoE.
329 /* Get the INTx Forward interrupt IQ. */ in csio_fcoe_isr()
556 /* Try MSIX, then MSI or fall back to INTx */ in csio_intr_enable()
580 ((hw->intr_mode == CSIO_IM_MSI) ? "MSI" : "INTx")); in csio_intr_enable()
/linux-6.12.1/drivers/pci/controller/cadence/
Dpcie-cadence-ep.c317 static void cdns_pcie_ep_assert_intx(struct cdns_pcie_ep *ep, u8 fn, u8 intx, in cdns_pcie_ep_assert_intx() argument
326 intx &= 3; in cdns_pcie_ep_assert_intx()
339 ep->irq_pending |= BIT(intx); in cdns_pcie_ep_assert_intx()
340 msg_code = MSG_CODE_ASSERT_INTA + intx; in cdns_pcie_ep_assert_intx()
342 ep->irq_pending &= ~BIT(intx); in cdns_pcie_ep_assert_intx()
343 msg_code = MSG_CODE_DEASSERT_INTA + intx; in cdns_pcie_ep_assert_intx()
361 u8 intx) in cdns_pcie_ep_send_intx_irq() argument
369 cdns_pcie_ep_assert_intx(ep, fn, intx, true); in cdns_pcie_ep_send_intx_irq()
374 cdns_pcie_ep_assert_intx(ep, fn, intx, false); in cdns_pcie_ep_send_intx_irq()
541 dev_err(dev, "Cannot raise INTX interrupts for VF\n"); in cdns_pcie_ep_raise_irq()
Dpcie-cadence.h277 /* Local message; terminate at receiver (INTx messages) */
355 * @irq_phys_addr: base address on the AXI bus where the MSI/INTX IRQ
358 * the sending of a memory write (MSI) / normal message (INTX
360 * @irq_pci_addr: used to save the current mapping of the MSI/INTX IRQ
363 * the MSI/INTX IRQ dedicated outbound region.
364 * @irq_pending: bitmask of asserted INTX IRQs.
382 /* protect writing to PCI_STATUS while raising INTX interrupts */
/linux-6.12.1/drivers/pci/controller/plda/
Dpcie-plda-host.c193 dev_err_ratelimited(dev, "bad INTx IRQ %d\n", in plda_handle_intx()
241 .name = "PLDA PCIe INTx",
270 /* INTx events */ in plda_get_events()
386 /* Setup INTx */ in plda_pcie_init_irq_domains()
408 dev_err(dev, "failed to get an INTx IRQ domain\n"); in plda_pcie_init_irq_domains()
468 dev_err(dev, "failed to map INTx interrupt\n"); in plda_init_interrupts()
472 /* Plug the INTx chained handler */ in plda_init_interrupts()
/linux-6.12.1/drivers/net/ethernet/amd/pds_core/
Dcore.c109 qcq->intx == PDS_CORE_INTR_INDEX_NOT_ASSIGNED) in pdsc_qcq_intr_free()
112 pdsc_intr_free(pdsc, qcq->intx); in pdsc_qcq_intr_free()
113 qcq->intx = PDS_CORE_INTR_INDEX_NOT_ASSIGNED; in pdsc_qcq_intr_free()
122 qcq->intx = PDS_CORE_INTR_INDEX_NOT_ASSIGNED; in pdsc_qcq_intr_alloc()
131 qcq->intx = index; in pdsc_qcq_intr_alloc()
354 cidi.intr_index = cpu_to_le16(pdsc->adminqcq.intx); in pdsc_core_init()
493 pds_core_intr_mask(&pdsc->intr_ctrl[pdsc->adminqcq.intx], in pdsc_start()
/linux-6.12.1/Documentation/devicetree/bindings/pci/
Dlayerscape-pcie-gen4.txt17 none MSI/MSI-X/INTx mode,but there is interrupt line for aer.
19 none MSI/MSI-X/INTx mode,but there is interrupt line for pme.
/linux-6.12.1/drivers/vfio/pci/
Dvfio_pci_intrs.c86 * INTx
101 /* Returns true if the INTx vfio_pci_irq_ctx.masked value is changed. */
115 * via INTx disable. The latter means this can get called in __vfio_pci_intx_mask()
116 * even when not using intx delivery. In this case, just in __vfio_pci_intx_mask()
177 * physical bit follow the virtual even when not using INTx. in vfio_pci_intx_unmask_handler()
265 name = kasprintf(GFP_KERNEL_ACCOUNT, "vfio-intx(%s)", pci_name(pdev)); in vfio_intx_enable()
281 * enable, changing the DisINTx bit in vconfig directly changes INTx in vfio_intx_enable()
/linux-6.12.1/drivers/pci/controller/dwc/
Dpcie-uniphier-ep.c69 /* assertion time of INTx in usec */
222 * This makes pulse signal to send INTx to the RC, so this should in uniphier_pcie_ep_raise_intx_irq()
226 /* assert INTx */ in uniphier_pcie_ep_raise_intx_irq()
233 /* deassert INTx */ in uniphier_pcie_ep_raise_intx_irq()
/linux-6.12.1/include/xen/interface/hvm/
Dparams.h28 * val[55:0] is a delivery PCI INTx line:
29 * Domain = val[47:32], Bus = val[31:16] DevFn = val[15:8], IntX = val[1:0]

12345678