summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManoj Rao <manojraj@codeaurora.org>2012-11-28 15:23:11 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:13:49 -0700
commitb4a1c0593986f791c80d55729d115d14b99a4207 (patch)
treeda105997d9318db6f9b0358cbaa374b00781d79d
parent07b582d4f919c1741a495d3644513ad839baa2ed (diff)
mhl: 8974: notify usb about non-mhl sink discovery
On cable connect, USB driver triggers MHL's device discovery through an API. This device discovery should inform caller if the device is MHL or USB host mode connection since both hold ID line low. If SII 8334 Tx discovery routine returns a result of non-mhl then MHL driver should notify usb of this result else usb will not be able to proceed further with it's worker functions and state machine. Change-Id: Ie20e0dd517a191ed6df75050042bdcb0ebd01233 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mhl_sii8334.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mhl_sii8334.c b/drivers/video/fbdev/msm/mhl_sii8334.c
index 0fe7a3211099..aa3a8270a7a5 100644
--- a/drivers/video/fbdev/msm/mhl_sii8334.c
+++ b/drivers/video/fbdev/msm/mhl_sii8334.c
@@ -701,8 +701,12 @@ static void dev_detect_isr(struct mhl_tx_ctrl *mhl_ctrl)
mhl_msm_connection(mhl_ctrl);
} else if (status & BIT3) {
pr_debug("%s: uUSB-a type dev detct\n", __func__);
- MHL_SII_REG_NAME_WR(REG_DISC_STAT2, 0x80);
- switch_mode(mhl_ctrl, POWER_STATE_D3);
+ /* Short RGND */
+ MHL_SII_REG_NAME_MOD(REG_DISC_STAT2, BIT0 | BIT1, 0x00);
+ mhl_msm_disconnection(mhl_ctrl);
+ if (mhl_ctrl->notify_usb_online)
+ mhl_ctrl->notify_usb_online(0);
+
}
if (status & BIT5) {
@@ -947,6 +951,7 @@ static int mhl_tx_chip_init(struct mhl_tx_ctrl *mhl_ctrl)
/* Read the chip rev ID */
chip_rev_id = MHL_SII_PAGE0_RD(0x04);
pr_debug("MHL: chip rev ID read=[%x]\n", chip_rev_id);
+ mhl_ctrl->chip_rev_id = chip_rev_id;
/*
* Need to disable MHL discovery if