Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1284131
| From | Marc Zyngier <marc.zyngier@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v5 4/5] PCI: iproc: Add iProc PCIe MSI support |
| Date | 2015-12-04 19:10 +0100 |
| Message-ID | <qC2XU-6b1-13@gated-at.bofh.it> (permalink) |
| References | <qC2uR-5Kw-3@gated-at.bofh.it> <qC2uV-5Kw-85@gated-at.bofh.it> |
| Organization | ARM Ltd |
On 04/12/15 17:35, Ray Jui wrote: > This patch adds PCIe MSI support for both PAXB and PAXC interfaces on > all iProc based platforms > > The iProc PCIe MSI support deploys an event queue based implementation. > Each event queue is serviced by a GIC interrupt and can support up to 64 > MSI vectors. Host memory is allocated for the event queues, and each event > queue consists of 64 word-sized entries. MSI data is written to the > lower 16-bit of each entry, whereas the upper 16-bit of the entry is > reserved for the controller for internal processing > > Each event queue is tracked by a head pointer and tail pointer. Head > pointer indicates the next entry in the event queue to be processed by > the driver and is updated by the driver after processing is done. > The controller uses the tail pointer as the next MSI data insertion > point. The controller ensures MSI data is flushed to host memory before > updating the tail pointer and then triggering the interrupt > > MSI IRQ affinity is supported by evenly distributing the interrupts to > each CPU core. MSI vector is moved from one GIC interrupt to another in > order to steer to the target CPU > > Therefore, the actual number of supported MSI vectors is: > > M * 64 / N > > where M denotes the number of GIC interrupts (event queues), and N > denotes the number of CPU cores > > This iProc event queue based MSI support should not be used with newer > platforms with integrated MSI support in the GIC (e.g., giv2m or > gicv3-its) > > Signed-off-by: Ray Jui <rjui@broadcom.com> > Reviewed-by: Anup Patel <anup.patel@broadcom.com> > Reviewed-by: Vikram Prakash <vikramp@broadcom.com> > Reviewed-by: Scott Branden <sbranden@broadcom.com> Good thing I didn't reply on v4! Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH v5 4/5] PCI: iproc: Add iProc PCIe MSI support Ray Jui <rjui@broadcom.com> - 2015-12-04 18:40 +0100 Re: [PATCH v5 4/5] PCI: iproc: Add iProc PCIe MSI support Marc Zyngier <marc.zyngier@arm.com> - 2015-12-04 19:10 +0100
csiph-web