mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
Merge "msm: pcie: Disable masking MSI interrupts at EP"
This commit is contained in:
commit
357205e829
1 changed files with 9 additions and 2 deletions
|
|
@ -63,6 +63,7 @@ struct msm_msi {
|
|||
phys_addr_t msi_addr;
|
||||
u32 msi_addr_size;
|
||||
enum msi_type type;
|
||||
bool msi_mask_disable;
|
||||
spinlock_t cfg_lock; /* lock for configuring Synopsys MSI registers */
|
||||
bool cfg_access; /* control access to MSI registers */
|
||||
void __iomem *pcie_cfg;
|
||||
|
|
@ -162,7 +163,7 @@ static void msm_msi_mask_irq(struct irq_data *data)
|
|||
msi = msi_irq->client->msi;
|
||||
|
||||
spin_lock_irqsave(&msi->cfg_lock, flags);
|
||||
if (msi->cfg_access)
|
||||
if (!msi->msi_mask_disable && msi->cfg_access)
|
||||
pci_msi_mask_irq(data);
|
||||
spin_unlock_irqrestore(&msi->cfg_lock, flags);
|
||||
|
||||
|
|
@ -213,7 +214,7 @@ static void msm_msi_unmask_irq(struct irq_data *data)
|
|||
msi->unmask_irq(parent_data);
|
||||
|
||||
spin_lock_irqsave(&msi->cfg_lock, flags);
|
||||
if (msi->cfg_access)
|
||||
if (!msi->msi_mask_disable && msi->cfg_access)
|
||||
pci_msi_unmask_irq(data);
|
||||
spin_unlock_irqrestore(&msi->cfg_lock, flags);
|
||||
}
|
||||
|
|
@ -665,6 +666,12 @@ int msm_msi_init(struct device *dev)
|
|||
mutex_init(&msi->mutex);
|
||||
spin_lock_init(&msi->cfg_lock);
|
||||
INIT_LIST_HEAD(&msi->clients);
|
||||
msi->msi_mask_disable = of_property_read_bool(dev->of_node,
|
||||
"qcom,msi_mask_disable");
|
||||
|
||||
if (msi->msi_mask_disable)
|
||||
pr_warn("MSI interrupts mask disabled:%d\n",
|
||||
msi->msi_mask_disable);
|
||||
|
||||
prop_val = of_get_address(msi->of_node, 0, NULL, NULL);
|
||||
if (!prop_val) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue