Example #1
0
static irqreturn_t mhl_tx_isr(int irq, void *dev_id)
{
	/*
	 * Check RGND, MHL_EST, CBUS_LOCKOUT, SCDT
	 * interrupts. In D3, we get only RGND
	 */
	int_4_isr();

	pr_debug("MHL: Current POWER state is [0x%x]\n",
		mhl_msm_state->cur_state);
	if (mhl_msm_state->cur_state == POWER_STATE_D0_MHL) {
		/*
		 * If int_4_isr() didn't move the tx to D3
		 * on disconnect, continue to check other
		 * interrupt sources.
		 */
		int_5_isr();

		/*
		 * Check for any peer messages for DCAP_CHG etc
		 * Dispatch to have the CBUS module working only
		 * once connected.
		 */
		mhl_cbus_isr();
		int_1_isr();
	}
	clear_all_intrs();
	return IRQ_HANDLED;
}
Example #2
0
static irqreturn_t mhl_tx_isr(int irq, void *data)
{
	struct mhl_tx_ctrl *mhl_ctrl = (struct mhl_tx_ctrl *)data;
	pr_debug("%s: Getting Interrupts\n", __func__);

	/*
	 * Check RGND, MHL_EST, CBUS_LOCKOUT, SCDT
	 * interrupts. In D3, we get only RGND
	 */
	dev_detect_isr(mhl_ctrl);

	pr_debug("%s: cur pwr state is [0x%x]\n",
		 __func__, mhl_ctrl->cur_state);
	if (mhl_ctrl->cur_state == POWER_STATE_D0_MHL) {
		/*
		 * If dev_detect_isr() didn't move the tx to D3
		 * on disconnect, continue to check other
		 * interrupt sources.
		 */
		mhl_misc_isr(mhl_ctrl);

		/*
		 * Check for any peer messages for DCAP_CHG etc
		 * Dispatch to have the CBUS module working only
		 * once connected.
		mhl_cbus_isr(mhl_ctrl);
		 */
		mhl_hpd_stat_isr(mhl_ctrl);
	}

	clear_all_intrs(mhl_ctrl->i2c_handle);

	return IRQ_HANDLED;
}
static irqreturn_t mhl_tx_isr(int irq, void *dev_id)
{
	int_4_isr();

	pr_debug("MHL: Current POWER state is [0x%x]\n",
		mhl_msm_state->cur_state);
	if (mhl_msm_state->cur_state == POWER_STATE_D0_MHL) {
		int_5_isr();

		mhl_cbus_isr();
		int_1_isr();
	}
	clear_all_intrs();
	return IRQ_HANDLED;
}