Loading drivers/pci/controller/pci-msm.c +14 −7 Original line number Diff line number Diff line Loading @@ -721,7 +721,6 @@ struct msm_pcie_dev_t { bool enumerated; struct work_struct handle_wake_work; struct mutex recovery_lock; spinlock_t wakeup_lock; spinlock_t irq_lock; struct mutex aspm_lock; int prevent_l1; Loading Loading @@ -768,6 +767,8 @@ struct msm_pcie_dev_t { int drv_disable_pc_vote; struct mutex drv_pc_lock; bool drv_supported; void (*rumi_init)(struct msm_pcie_dev_t *pcie_dev); }; Loading Loading @@ -4799,7 +4800,7 @@ static irqreturn_t handle_wake_irq(int irq, void *data) unsigned long irqsave_flags; int i; spin_lock_irqsave(&dev->wakeup_lock, irqsave_flags); spin_lock_irqsave(&dev->irq_lock, irqsave_flags); dev->wake_counter++; PCIE_DBG(dev, "PCIe: No. %ld wake IRQ for RC%d\n", Loading @@ -4825,11 +4826,18 @@ static irqreturn_t handle_wake_irq(int irq, void *data) MSM_PCIE_EVENT_WAKEUP); } } else { if (dev->drv_supported && !dev->suspending && dev->link_status == MSM_PCIE_LINK_ENABLED) { pcie_phy_dump(dev); pcie_parf_dump(dev); pcie_dm_core_dump(dev); } msm_pcie_notify_client(dev, MSM_PCIE_EVENT_WAKEUP); } } spin_unlock_irqrestore(&dev->wakeup_lock, irqsave_flags); spin_unlock_irqrestore(&dev->irq_lock, irqsave_flags); return IRQ_HANDLED; } Loading Loading @@ -5549,7 +5557,6 @@ static int msm_pcie_probe(struct platform_device *pdev) int i, j; struct msm_pcie_dev_t *pcie_dev; struct device_node *of_node; bool drv_supported; dev_info(&pdev->dev, "PCIe: %s\n", __func__); Loading Loading @@ -5827,8 +5834,9 @@ static int msm_pcie_probe(struct platform_device *pdev) goto decrease_rc_num; } drv_supported = of_property_read_bool(of_node, "qcom,drv-supported"); if (drv_supported) { pcie_dev->drv_supported = of_property_read_bool(of_node, "qcom,drv-supported"); if (pcie_dev->drv_supported) { ret = msm_pcie_setup_drv(pcie_dev, of_node); if (ret) PCIE_ERR(pcie_dev, Loading Loading @@ -6522,7 +6530,6 @@ static int __init pcie_init(void) mutex_init(&msm_pcie_dev[i].recovery_lock); mutex_init(&msm_pcie_dev[i].aspm_lock); mutex_init(&msm_pcie_dev[i].drv_pc_lock); spin_lock_init(&msm_pcie_dev[i].wakeup_lock); spin_lock_init(&msm_pcie_dev[i].irq_lock); msm_pcie_dev[i].drv_ready = false; msm_pcie_dev[i].l23_rdy_poll_timeout = L23_READY_POLL_TIMEOUT; Loading Loading
drivers/pci/controller/pci-msm.c +14 −7 Original line number Diff line number Diff line Loading @@ -721,7 +721,6 @@ struct msm_pcie_dev_t { bool enumerated; struct work_struct handle_wake_work; struct mutex recovery_lock; spinlock_t wakeup_lock; spinlock_t irq_lock; struct mutex aspm_lock; int prevent_l1; Loading Loading @@ -768,6 +767,8 @@ struct msm_pcie_dev_t { int drv_disable_pc_vote; struct mutex drv_pc_lock; bool drv_supported; void (*rumi_init)(struct msm_pcie_dev_t *pcie_dev); }; Loading Loading @@ -4799,7 +4800,7 @@ static irqreturn_t handle_wake_irq(int irq, void *data) unsigned long irqsave_flags; int i; spin_lock_irqsave(&dev->wakeup_lock, irqsave_flags); spin_lock_irqsave(&dev->irq_lock, irqsave_flags); dev->wake_counter++; PCIE_DBG(dev, "PCIe: No. %ld wake IRQ for RC%d\n", Loading @@ -4825,11 +4826,18 @@ static irqreturn_t handle_wake_irq(int irq, void *data) MSM_PCIE_EVENT_WAKEUP); } } else { if (dev->drv_supported && !dev->suspending && dev->link_status == MSM_PCIE_LINK_ENABLED) { pcie_phy_dump(dev); pcie_parf_dump(dev); pcie_dm_core_dump(dev); } msm_pcie_notify_client(dev, MSM_PCIE_EVENT_WAKEUP); } } spin_unlock_irqrestore(&dev->wakeup_lock, irqsave_flags); spin_unlock_irqrestore(&dev->irq_lock, irqsave_flags); return IRQ_HANDLED; } Loading Loading @@ -5549,7 +5557,6 @@ static int msm_pcie_probe(struct platform_device *pdev) int i, j; struct msm_pcie_dev_t *pcie_dev; struct device_node *of_node; bool drv_supported; dev_info(&pdev->dev, "PCIe: %s\n", __func__); Loading Loading @@ -5827,8 +5834,9 @@ static int msm_pcie_probe(struct platform_device *pdev) goto decrease_rc_num; } drv_supported = of_property_read_bool(of_node, "qcom,drv-supported"); if (drv_supported) { pcie_dev->drv_supported = of_property_read_bool(of_node, "qcom,drv-supported"); if (pcie_dev->drv_supported) { ret = msm_pcie_setup_drv(pcie_dev, of_node); if (ret) PCIE_ERR(pcie_dev, Loading Loading @@ -6522,7 +6530,6 @@ static int __init pcie_init(void) mutex_init(&msm_pcie_dev[i].recovery_lock); mutex_init(&msm_pcie_dev[i].aspm_lock); mutex_init(&msm_pcie_dev[i].drv_pc_lock); spin_lock_init(&msm_pcie_dev[i].wakeup_lock); spin_lock_init(&msm_pcie_dev[i].irq_lock); msm_pcie_dev[i].drv_ready = false; msm_pcie_dev[i].l23_rdy_poll_timeout = L23_READY_POLL_TIMEOUT; Loading