- 17 8月, 2016 1 次提交
-
-
由 Christoph Hellwig 提交于
Instead of passing negative flags like PCI_IRQ_NOMSI to prevent use of certain interrupt types, pass positive flags like PCI_IRQ_LEGACY, PCI_IRQ_MSI, etc., to specify the acceptable interrupt types. This is based on a number of pending driver conversions that just happend to be a whole more obvious to read this way, and given that we have no users in the tree yet it can still easily be done. I've also added a PCI_IRQ_ALL_TYPES catchall to keep the case of accepting all interrupt types very simple. [bhelgaas: changelog, fix PCI_IRQ_AFFINITY doc typo, remove mention of PCI_IRQ_NOLEGACY] Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Reviewed-by: NAlexander Gordeev <agordeev@redhat.com>
-
- 22 7月, 2016 2 次提交
-
-
由 Christoph Hellwig 提交于
Set the affinity_mask in the PCI device before allocating vectors so that the affinity can be propagated through the MSI descriptor structures to the core IRQ code. To facilitate this, new __pci_enable_msi_range() and __pci_enable_msix_range() helpers are factored out of their not prefixed variants which assigning the new IRQ affinity mask in the PCI device so that the low-level interrupt code can perform the interrupt affinity assignment and do node-local allocations. A new PCI_IRQ_NOAFFINITY flag is added to pci_alloc_irq_vectors() so that this function can also be used by drivers that don't wish to use the automatic affinity assignment. [bhelgaas: omit "else" after "return" consistently] Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Reviewed-by: NAlexander Gordeev <agordeev@redhat.com>
-
由 Christoph Hellwig 提交于
Add a function to allocate and free a range of interrupt vectors, using MSI-X, MSI or legacy vectors (in that order) based on the capabilities of the underlying device and PCIe complex. Additionally a new helper is provided to get the Linux IRQ number for given device-relative vector so that the drivers don't need to allocate their own arrays to keep track of the vectors for the multi vector MSI-X case. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Reviewed-by: NAlexander Gordeev <agordeev@redhat.com>
-
- 20 3月, 2015 2 次提交
-
-
由 Masanari Iida 提交于
This patch fix spelling typo in Documentation/PCI. Signed-off-by: NMasanari Iida <standby24x7@gmail.com> Signed-off-by: NJonathan Corbet <corbet@lwn.net>
-
由 Valentin Rothberg 提交于
The IRQF_DISABLED is a NOOP and scheduled to be removed. According to Ingo Molnar in commit e58aa3d2 (genirq: Run irq handlers with interrupts disabled), running IRQ handlers with interrupts enabled can cause stack overflows when the interrupt line of the issuing device is still active. This patch removes IRQF_DISABLED from this documentation. It was mentioned to be a solution to avoid deadlocks when a device uses multiple interrupts. As the flag is a NOOP this solution does not work anymore. Signed-off-by: NValentin Rothberg <Valentin.Rothberg@lip6.fr> Signed-off-by: NJonathan Corbet <corbet@lwn.net>
-
- 19 6月, 2014 1 次提交
-
-
由 Jeremiah Mahler 提交于
To keep the Documentation consistent either "practise" or "practice" should be used. Since there are 3 lines with "practise" ~/linux/Documentation$ grep -r practise * | wc -l 3 and 108 lines with "practice" ~/linux/Documentation$ grep -r practice * | wc -l 108 this patch converts "practise" to "practice". Signed-off-by: NJeremiah Mahler <jmmahler@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 14 2月, 2014 5 次提交
-
-
由 Alexander Gordeev 提交于
The new functions are special cases for pci_enable_msi_range() and pci_enable_msix_range() when a particular number of MSI or MSI-X is needed. By contrast with pci_enable_msi_range() and pci_enable_msix_range() functions, pci_enable_msi_exact() and pci_enable_msix_exact() return zero in case of success, which indicates MSI or MSI-X interrupts have been successfully allocated. Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
由 Alexander Gordeev 提交于
Function pci_enable_msi_range() is used in examples where pci_enable_msix_range() should have been used instead. Reported-by: NBjorn Helgaas <bhelgaas@google.com> Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
由 Alexander Gordeev 提交于
We deprecated pci_enable_msi() in 302a2523 ("PCI/MSI: Add pci_enable_msi_range() and pci_enable_msix_range()"). But we changed our minds after noticing that: - pci_enable_msi() doesn't have confusing return values like pci_enable_msi_block() and pci_enable_msix() did, and - pci_enable_msi() has a hundred or so callers that we don't want to change. This adds back the pci_enable_msi() documentation. [bhelgaas: changelog] Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
由 Alexander Gordeev 提交于
The new functions are special cases for pci_enable_msi_range() and pci_enable_msix_range() when a particular number of MSI or MSI-X is needed. By contrast with pci_enable_msi_range() and pci_enable_msix_range() functions, pci_enable_msi_exact() and pci_enable_msix_exact() return zero in case of success, which indicates MSI or MSI-X interrupts have been successfully allocated. Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
由 Alexander Gordeev 提交于
Function pci_enable_msi_range() is used in examples where pci_enable_msix_range() should have been used instead. Reported-by: NBjorn Helgaas <bhelgaas@google.com> Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 04 2月, 2014 1 次提交
-
-
由 Alexander Gordeev 提交于
We deprecated pci_enable_msi() in 302a2523 ("PCI/MSI: Add pci_enable_msi_range() and pci_enable_msix_range()"). But we changed our minds after noticing that: - pci_enable_msi() doesn't have confusing return values like pci_enable_msi_block() and pci_enable_msix() did, and - pci_enable_msi() has a hundred or so callers that we don't want to change. This adds back the pci_enable_msi() documentation. [bhelgaas: changelog] Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 04 1月, 2014 4 次提交
-
-
由 Alexander Gordeev 提交于
This adds pci_enable_msi_range(), which supersedes the pci_enable_msi() and pci_enable_msi_block() MSI interfaces. It also adds pci_enable_msix_range(), which supersedes the pci_enable_msix() MSI-X interface. The old interfaces have three categories of return values: negative: failure; caller should not retry positive: failure; value indicates number of interrupts that *could* have been allocated, and caller may retry with a smaller request zero: success; at least as many interrupts allocated as requested It is error-prone to handle these three cases correctly in drivers. The new functions return either a negative error code or a number of successfully allocated MSI/MSI-X interrupts, which is expected to lead to clearer device driver code. pci_enable_msi(), pci_enable_msi_block() and pci_enable_msix() still exist unchanged, but are deprecated and may be removed after callers are updated. [bhelgaas: tweak changelog] Suggested-by: NBen Hutchings <bhutchings@solarflare.com> Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Reviewed-by: NTejun Heo <tj@kernel.org>
-
由 Alexander Gordeev 提交于
This creates an MSI-X counterpart for pci_msi_vec_count(). Device drivers can use this function to obtain maximum number of MSI-X interrupts the device supports and use that number in a subsequent call to pci_enable_msix(). pci_msix_vec_count() supersedes pci_msix_table_size() and returns a negative errno if device does not support MSI-X interrupts. After this update, callers must always check the returned value. The only user of pci_msix_table_size() was the PCI-Express port driver, which is also updated by this change. Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Reviewed-by: NTejun Heo <tj@kernel.org>
-
由 Alexander Gordeev 提交于
The new pci_msi_vec_count() interface makes pci_enable_msi_block_auto() superfluous. Drivers can use pci_msi_vec_count() to learn the maximum number of MSIs supported by the device, and then call pci_enable_msi_block(). pci_enable_msi_block_auto() was introduced recently, and its only user is the AHCI driver, which is also updated by this change. Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Acked-by: NTejun Heo <tj@kernel.org>
-
由 Alexander Gordeev 提交于
Device drivers can use this interface to obtain the maximum number of MSI interrupts the device supports and use that number, e.g., in a subsequent call to pci_enable_msi_block(). Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Reviewed-by: NTejun Heo <tj@kernel.org>
-
- 21 12月, 2013 1 次提交
-
-
由 Alexander Gordeev 提交于
Make pci_enable_msi_block(), pci_enable_msi_block_auto() and pci_enable_msix() consistent with regard to the type of 'nvec' argument. Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Reviewed-by: NTejun Heo <tj@kernel.org>
-
- 25 1月, 2013 1 次提交
-
-
由 Alexander Gordeev 提交于
The new function pci_enable_msi_block_auto() tries to allocate maximum possible number of MSIs up to the number the device supports. It generalizes a pattern when pci_enable_msi_block() is contiguously called until it succeeds or fails. Opposite to pci_enable_msi_block() which takes the number of MSIs to allocate as a input parameter, pci_enable_msi_block_auto() could be used by device drivers to obtain the number of assigned MSIs and the number of MSIs the device supports. Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Acked-by: NBjorn Helgaas <bhelgaas@google.com> Cc: Suresh Siddha <suresh.b.siddha@intel.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Matthew Wilcox <willy@linux.intel.com> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/c3de2419df94a0f95ca1a6f755afc421486455e6.1353324359.git.agordeev@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
-
- 03 8月, 2011 16 次提交
-
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
... as per Randy Dunlap's wishes :-P Message-Id: <20110717114023.2b4cce91.rdunlap@xenotime.net> Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
由 Michael Witten 提交于
Signed-off-by: NMichael Witten <mfwitten@gmail.com> Acked-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
-
- 31 3月, 2011 1 次提交
-
-
由 Lucas De Marchi 提交于
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
- 21 3月, 2009 3 次提交
-
-
由 Michael Ellerman 提交于
Encourage driver writers to think about supporting a variable number of MSI-X interrupts, and give an example of how to do such a request. Acked-by: NMatthew Wilcox <willy@linux.intel.com> Signed-off-by: NMichael Ellerman <michael@ellerman.id.au> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
由 Matthew Wilcox 提交于
Add the new API pci_enable_msi_block() to allow drivers to request multiple MSI and reimplement pci_enable_msi in terms of pci_enable_msi_block. Ensure that the architecture back ends don't have to know about multiple MSI. Signed-off-by: NMatthew Wilcox <willy@linux.intel.com> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
由 Matthew Wilcox 提交于
I didn't find the previous version very useful, so I rewrote it. Signed-off-by: NMatthew Wilcox <willy@linux.intel.com> Reviewed-by: NRandy Dunlap <randy.dunlap@oracle.com> Reviewed-by: NGrant Grundler <grundler@parisc-linunx.org> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
- 15 11月, 2008 1 次提交
-
-
由 Randy Dunlap 提交于
Create Documentation/blockdev/ sub-directory and populate it. Populate the Documentation/serial/ sub-directory. Move MSI-HOWTO.txt to Documentation/PCI/. Move ioctl-number.txt to Documentation/ioctl/. Update all relevant 00-INDEX files. Update all relevant Kconfig files and source files. Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
-
- 21 10月, 2008 1 次提交
-
-
由 Roland Dreier 提交于
The current MSI-HOWTO.txt says that device drivers should not request the memory space that contains MSI-X tables. This is because the original MSI-X implementation did a request_mem_region() on this space, but that code was removed long ago (in the pre-git era, in fact). Years after the code was changed, we might as well clean up the documention to avoid a confusing mention of requesting regions: drivers using MSI-X can just use pci_request_regions() just like any other driver, and so there's no need for MSI-HOWTO.txt to talk about this at all. Signed-off-by: NRoland Dreier <roland@digitalvampire.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-