Commit 360e8230 authored by Sandeep Maheswaram's avatar Sandeep Maheswaram Committed by Greg Kroah-Hartman
Browse files

usb: dwc3: qcom: Add helper functions to enable,disable wake irqs

parent 649f5c84
Loading
Loading
Loading
Loading
+26 −32
Original line number Diff line number Diff line
@@ -296,50 +296,44 @@ static void dwc3_qcom_interconnect_exit(struct dwc3_qcom *qcom)
	icc_put(qcom->icc_path_apps);
}

static void dwc3_qcom_disable_interrupts(struct dwc3_qcom *qcom)
static void dwc3_qcom_enable_wakeup_irq(int irq)
{
	if (qcom->hs_phy_irq) {
		disable_irq_wake(qcom->hs_phy_irq);
		disable_irq_nosync(qcom->hs_phy_irq);
	}
	if (!irq)
		return;

	if (qcom->dp_hs_phy_irq) {
		disable_irq_wake(qcom->dp_hs_phy_irq);
		disable_irq_nosync(qcom->dp_hs_phy_irq);
	enable_irq(irq);
	enable_irq_wake(irq);
}

	if (qcom->dm_hs_phy_irq) {
		disable_irq_wake(qcom->dm_hs_phy_irq);
		disable_irq_nosync(qcom->dm_hs_phy_irq);
	}
static void dwc3_qcom_disable_wakeup_irq(int irq)
{
	if (!irq)
		return;

	if (qcom->ss_phy_irq) {
		disable_irq_wake(qcom->ss_phy_irq);
		disable_irq_nosync(qcom->ss_phy_irq);
	disable_irq_wake(irq);
	disable_irq_nosync(irq);
}

static void dwc3_qcom_disable_interrupts(struct dwc3_qcom *qcom)
{
	dwc3_qcom_disable_wakeup_irq(qcom->hs_phy_irq);

	dwc3_qcom_disable_wakeup_irq(qcom->dp_hs_phy_irq);

	dwc3_qcom_disable_wakeup_irq(qcom->dm_hs_phy_irq);

	dwc3_qcom_disable_wakeup_irq(qcom->ss_phy_irq);
}

static void dwc3_qcom_enable_interrupts(struct dwc3_qcom *qcom)
{
	if (qcom->hs_phy_irq) {
		enable_irq(qcom->hs_phy_irq);
		enable_irq_wake(qcom->hs_phy_irq);
	}
	dwc3_qcom_enable_wakeup_irq(qcom->hs_phy_irq);

	if (qcom->dp_hs_phy_irq) {
		enable_irq(qcom->dp_hs_phy_irq);
		enable_irq_wake(qcom->dp_hs_phy_irq);
	}
	dwc3_qcom_enable_wakeup_irq(qcom->dp_hs_phy_irq);

	if (qcom->dm_hs_phy_irq) {
		enable_irq(qcom->dm_hs_phy_irq);
		enable_irq_wake(qcom->dm_hs_phy_irq);
	}
	dwc3_qcom_enable_wakeup_irq(qcom->dm_hs_phy_irq);

	if (qcom->ss_phy_irq) {
		enable_irq(qcom->ss_phy_irq);
		enable_irq_wake(qcom->ss_phy_irq);
	}
	dwc3_qcom_enable_wakeup_irq(qcom->ss_phy_irq);
}

static int dwc3_qcom_suspend(struct dwc3_qcom *qcom)