diff options
| author | Yan He <yanhe@codeaurora.org> | 2015-12-04 18:29:36 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:15:46 -0700 |
| commit | 161d538a829379d59af2d6d9194bb163efb7e900 (patch) | |
| tree | a98bfb88315998ed26ae047d8f4a96bf119c989a /drivers/platform | |
| parent | 513c9ffd22af5a6f9d13cbe3e6107dda6c8b00a1 (diff) | |
msm: ep_pcie: update MSI address for PCIe clients
The PCIe clients will utilize the original MSI address instead of
mapped local address when active config is enabled. The change here
provides the original address to the clients.
Change-Id: I0d35fa9508d7c3ec2e97bd7d61754974e798bf8a
Signed-off-by: Yan He <yanhe@codeaurora.org>
Diffstat (limited to 'drivers/platform')
| -rw-r--r-- | drivers/platform/msm/ep_pcie/ep_pcie_core.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/platform/msm/ep_pcie/ep_pcie_core.c b/drivers/platform/msm/ep_pcie/ep_pcie_core.c index a109197b1a19..c8399388c823 100644 --- a/drivers/platform/msm/ep_pcie/ep_pcie_core.c +++ b/drivers/platform/msm/ep_pcie/ep_pcie_core.c @@ -1768,8 +1768,13 @@ int ep_pcie_core_get_msi_config(struct ep_pcie_msi_config *cfg) msi->start, 0, msi->end, lower, upper); - cfg->lower = msi->start + (lower & 0xfff); - cfg->upper = 0; + if (ep_pcie_dev.active_config) { + cfg->lower = lower; + cfg->upper = upper; + } else { + cfg->lower = msi->start + (lower & 0xfff); + cfg->upper = 0; + } cfg->data = data; cfg->msg_num = (cap >> 20) & 0x7; if ((lower != ep_pcie_dev.msi_cfg.lower) |
