lkml.org 
[lkml]   [2013]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC 0/2] PCI: Introduce MSI chip infrastructure
Date
This pair of patches introduces a new MSI chip infrastructure aimed at
replacing the current per-architecture implementation of the MSI support
functions. The rationale being that for multi-platform support on ARM
(and of course other architectures as well) per-architecture hooks no
longer work, given that more than one implementation will be provided.

The approach chosen in this patch series is to introduce a new structure
called struct msi_chip that contains pointers to the functions that have
previously been implemented on a per-architecture basis. A pointer to
this structure is embedded with each struct pci_bus, similar to struct
pci_ops, and automatically passed to child busses during enumeration. It
is the responsibility of the PCI host bridge driver to setup the MSI
chip for the root bus.

An example for the usage of this new infrastructure is provided in the
second patch, which implements this for the Tegra PCIe controller
driver. Note that this driver has not been merged yet because this MSI
infrastructure is a prerequisite. Nevertheless it should serve as a
reference for implementors on how to use the MSI chip.

Thierry

Thierry Reding (2):
PCI: Introduce new MSI chip infrastructure
PCI: tegra: Use new MSI chip infrastructure

drivers/pci/host/pci-tegra.c | 105 ++++++++++++++++++++++++-------------------
drivers/pci/msi.c | 35 +++++++++++++--
drivers/pci/probe.c | 1 +
include/linux/msi.h | 10 +++++
include/linux/pci.h | 1 +
5 files changed, 103 insertions(+), 49 deletions(-)

--
1.8.1.5



\
 
 \ /
  Last update: 2013-03-22 10:21    [W:0.234 / U:0.604 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site