Merge "disp: msm: dp: update number of lanes used to usb driver"

This commit is contained in:
qctecmdr
2021-04-23 10:13:11 -07:00
committed by Gerrit - the friendly Code Review server

View File

@@ -28,6 +28,7 @@ struct dp_altmode_private {
struct dp_altmode dp_altmode; struct dp_altmode dp_altmode;
struct altmode_client *amclient; struct altmode_client *amclient;
bool connected; bool connected;
u32 lanes;
}; };
enum dp_altmode_pin_assignment { enum dp_altmode_pin_assignment {
@@ -47,7 +48,6 @@ static int dp_altmode_set_usb_dp_mode(struct dp_altmode_private *altmode)
struct device_node *usb_node; struct device_node *usb_node;
struct platform_device *usb_pdev; struct platform_device *usb_pdev;
int timeout = 250; int timeout = 250;
u32 lanes = 4;
if (!altmode || !altmode->dev) { if (!altmode || !altmode->dev) {
DP_ERR("invalid args\n"); DP_ERR("invalid args\n");
@@ -56,9 +56,6 @@ static int dp_altmode_set_usb_dp_mode(struct dp_altmode_private *altmode)
np = altmode->dev->of_node; np = altmode->dev->of_node;
if (altmode->connected && altmode->dp_altmode.base.force_multi_func)
lanes = 2;
usb_node = of_parse_phandle(np, "usb-controller", 0); usb_node = of_parse_phandle(np, "usb-controller", 0);
if (!usb_node) { if (!usb_node) {
DP_ERR("unable to get usb node\n"); DP_ERR("unable to get usb node\n");
@@ -73,7 +70,7 @@ static int dp_altmode_set_usb_dp_mode(struct dp_altmode_private *altmode)
} }
while (timeout) { while (timeout) {
rc = dwc3_msm_set_dp_mode(&usb_pdev->dev, altmode->connected, lanes); rc = dwc3_msm_set_dp_mode(&usb_pdev->dev, altmode->connected, altmode->lanes);
if (rc != -EBUSY) if (rc != -EBUSY)
break; break;
@@ -167,6 +164,12 @@ static int dp_altmode_notify(void *priv, void *data, size_t len)
altmode->connected = true; altmode->connected = true;
altmode->dp_altmode.base.alt_mode_cfg_done = true; altmode->dp_altmode.base.alt_mode_cfg_done = true;
altmode->forced_disconnect = false; altmode->forced_disconnect = false;
altmode->lanes = 4;
if (altmode->dp_altmode.base.multi_func)
altmode->lanes = 2;
DP_DEBUG("Connected=%d, lanes=%d\n",altmode->connected,altmode->lanes);
switch (orientation) { switch (orientation) {
case 0: case 0: