mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
disp: msm: dp: inform multi-func support to usb driver
The usb controller driver does not know if DP is supported / connected and whether it is operating in concurrent mode. So, whenever there is a ucsi role switch call to the usb controller driver, it will reset the usb phy irrespective of DP connection. The phy reset while DP driver is still processing cable connect or disconnect will cause aux timeout or NOC errors. This change will inform the usb controller driver about the multi_func mode support to convey how many lanes DP will be using. Change-Id: I9e96ed399e879820ddd238cf0fbed7069f1de60d Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
This commit is contained in:
parent
025b38d4f8
commit
e3f86bb93a
1 changed files with 7 additions and 7 deletions
|
|
@ -40,7 +40,8 @@ enum dp_altmode_pin_assignment {
|
|||
DPAM_HPD_F,
|
||||
};
|
||||
|
||||
static int dp_altmode_release_ss_lanes(struct dp_altmode_private *altmode)
|
||||
static int dp_altmode_release_ss_lanes(struct dp_altmode_private *altmode,
|
||||
bool multi_func)
|
||||
{
|
||||
int rc;
|
||||
struct device_node *np;
|
||||
|
|
@ -69,7 +70,7 @@ static int dp_altmode_release_ss_lanes(struct dp_altmode_private *altmode)
|
|||
}
|
||||
|
||||
while (timeout) {
|
||||
rc = dwc3_msm_release_ss_lane(&usb_pdev->dev);
|
||||
rc = dwc3_msm_release_ss_lane(&usb_pdev->dev, multi_func);
|
||||
if (rc != -EBUSY)
|
||||
break;
|
||||
|
||||
|
|
@ -178,11 +179,10 @@ static int dp_altmode_notify(void *priv, void *data, size_t len)
|
|||
|
||||
altmode->dp_altmode.base.orientation = orientation;
|
||||
|
||||
if (!altmode->dp_altmode.base.multi_func) {
|
||||
rc = dp_altmode_release_ss_lanes(altmode);
|
||||
if (rc)
|
||||
goto ack;
|
||||
}
|
||||
rc = dp_altmode_release_ss_lanes(altmode,
|
||||
altmode->dp_altmode.base.multi_func);
|
||||
if (rc)
|
||||
goto ack;
|
||||
|
||||
if (altmode->dp_cb && altmode->dp_cb->configure)
|
||||
altmode->dp_cb->configure(altmode->dev);
|
||||
|
|
|
|||
Loading…
Reference in a new issue