Loading arch/arm/boot/dts/qcom/msmtitanium-pm.dtsi +1 −1 Original line number Diff line number Diff line Loading @@ -285,6 +285,7 @@ qcom,num-mpm-irqs = <96>; qcom,gic-map = <2 216>, /* tsens_upper_lower_int */ <58 168>, /* qusb2phy_dmse_hv -> hs_phy_irq*/ <49 166>, /* qusb2phy_dpse_hv -> usb30_pwr_evnt_irq */ <37 252>, /* qmp_usb3_lfps_rxterm_irq -> ss_phy_irq */ <53 104>, /* mdss_irq */ <88 222>, /* ee0_krait_hlos_spmi_periph_irq */ Loading Loading @@ -343,7 +344,6 @@ <0xff 153>, /* smmu_bus_intr[58] */ <0xff 155>, /* sdc1_irq(0) */ <0xff 157>, /* sdc2_irq(0) */ <0xff 166>, /* usb30_power_event_irq */ <0xff 167>, /* usb30_bam_irq[0] */ <0xff 170>, /* sdc1_pwr_cmd_irq */ <0xff 172>, /* usb30_ctrl_irq[0] */ Loading drivers/usb/dwc3/dwc3-msm.c +16 −3 Original line number Diff line number Diff line Loading @@ -1982,6 +1982,15 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc) enable_irq_wake(mdwc->ss_phy_irq); enable_irq(mdwc->ss_phy_irq); } /* * Enable power event irq during bus suspend in host mode for * mapping MPM pin for DP so that wakeup can happen in system * suspend. */ if (mdwc->in_host_mode) { enable_irq(mdwc->pwr_event_irq); enable_irq_wake(mdwc->pwr_event_irq); } mdwc->lpm_flags |= MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; } Loading Loading @@ -2063,9 +2072,6 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) atomic_set(&dwc->in_lpm, 0); /* enable power evt irq for IN P3 detection */ enable_irq(mdwc->pwr_event_irq); /* Disable HSPHY auto suspend */ dwc3_msm_write_reg(mdwc->base, DWC3_GUSB2PHYCFG(0), dwc3_msm_read_reg(mdwc->base, DWC3_GUSB2PHYCFG(0)) & Loading @@ -2080,11 +2086,18 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) disable_irq_wake(mdwc->ss_phy_irq); disable_irq_nosync(mdwc->ss_phy_irq); } if (mdwc->in_host_mode) { disable_irq_wake(mdwc->pwr_event_irq); disable_irq(mdwc->pwr_event_irq); } mdwc->lpm_flags &= ~MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; } dev_info(mdwc->dev, "DWC3 exited from low power mode\n"); /* enable power evt irq for IN P3 detection */ enable_irq(mdwc->pwr_event_irq); /* Enable core irq */ if (dwc->irq) enable_irq(dwc->irq); Loading Loading
arch/arm/boot/dts/qcom/msmtitanium-pm.dtsi +1 −1 Original line number Diff line number Diff line Loading @@ -285,6 +285,7 @@ qcom,num-mpm-irqs = <96>; qcom,gic-map = <2 216>, /* tsens_upper_lower_int */ <58 168>, /* qusb2phy_dmse_hv -> hs_phy_irq*/ <49 166>, /* qusb2phy_dpse_hv -> usb30_pwr_evnt_irq */ <37 252>, /* qmp_usb3_lfps_rxterm_irq -> ss_phy_irq */ <53 104>, /* mdss_irq */ <88 222>, /* ee0_krait_hlos_spmi_periph_irq */ Loading Loading @@ -343,7 +344,6 @@ <0xff 153>, /* smmu_bus_intr[58] */ <0xff 155>, /* sdc1_irq(0) */ <0xff 157>, /* sdc2_irq(0) */ <0xff 166>, /* usb30_power_event_irq */ <0xff 167>, /* usb30_bam_irq[0] */ <0xff 170>, /* sdc1_pwr_cmd_irq */ <0xff 172>, /* usb30_ctrl_irq[0] */ Loading
drivers/usb/dwc3/dwc3-msm.c +16 −3 Original line number Diff line number Diff line Loading @@ -1982,6 +1982,15 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc) enable_irq_wake(mdwc->ss_phy_irq); enable_irq(mdwc->ss_phy_irq); } /* * Enable power event irq during bus suspend in host mode for * mapping MPM pin for DP so that wakeup can happen in system * suspend. */ if (mdwc->in_host_mode) { enable_irq(mdwc->pwr_event_irq); enable_irq_wake(mdwc->pwr_event_irq); } mdwc->lpm_flags |= MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; } Loading Loading @@ -2063,9 +2072,6 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) atomic_set(&dwc->in_lpm, 0); /* enable power evt irq for IN P3 detection */ enable_irq(mdwc->pwr_event_irq); /* Disable HSPHY auto suspend */ dwc3_msm_write_reg(mdwc->base, DWC3_GUSB2PHYCFG(0), dwc3_msm_read_reg(mdwc->base, DWC3_GUSB2PHYCFG(0)) & Loading @@ -2080,11 +2086,18 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) disable_irq_wake(mdwc->ss_phy_irq); disable_irq_nosync(mdwc->ss_phy_irq); } if (mdwc->in_host_mode) { disable_irq_wake(mdwc->pwr_event_irq); disable_irq(mdwc->pwr_event_irq); } mdwc->lpm_flags &= ~MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; } dev_info(mdwc->dev, "DWC3 exited from low power mode\n"); /* enable power evt irq for IN P3 detection */ enable_irq(mdwc->pwr_event_irq); /* Enable core irq */ if (dwc->irq) enable_irq(dwc->irq); Loading