Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a455d70f authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "dwc3-msm: Move override usb speed functionality outside edev check"

parents 65fbcfac a0599382
Loading
Loading
Loading
Loading
+12 −12
Original line number Original line Diff line number Diff line
@@ -3241,26 +3241,15 @@ static void dwc3_resume_work(struct work_struct *w)
			goto skip_update;
			goto skip_update;
	}
	}


	dwc->maximum_speed = dwc->max_hw_supp_speed;
	/* Check speed and Type-C polarity values in order to configure PHY */
	/* Check speed and Type-C polarity values in order to configure PHY */
	if (edev && extcon_get_state(edev, extcon_id)) {
	if (edev && extcon_get_state(edev, extcon_id)) {
		dwc->maximum_speed = dwc->max_hw_supp_speed;

		ret = extcon_get_property(edev, extcon_id,
		ret = extcon_get_property(edev, extcon_id,
				EXTCON_PROP_USB_SS, &val);
				EXTCON_PROP_USB_SS, &val);


		if (!ret && val.intval == 0)
		if (!ret && val.intval == 0)
			dwc->maximum_speed = USB_SPEED_HIGH;
			dwc->maximum_speed = USB_SPEED_HIGH;


		if (mdwc->override_usb_speed &&
			mdwc->override_usb_speed <= dwc->maximum_speed) {
			dwc->maximum_speed = mdwc->override_usb_speed;
			dwc->gadget.max_speed = dwc->maximum_speed;
			dbg_event(0xFF, "override_speed",
					mdwc->override_usb_speed);
		}

		dbg_event(0xFF, "speed", dwc->maximum_speed);

		ret = extcon_get_property(edev, extcon_id,
		ret = extcon_get_property(edev, extcon_id,
				EXTCON_PROP_USB_TYPEC_POLARITY, &val);
				EXTCON_PROP_USB_TYPEC_POLARITY, &val);
		if (ret)
		if (ret)
@@ -3273,6 +3262,17 @@ static void dwc3_resume_work(struct work_struct *w)
	}
	}


skip_update:
skip_update:
	dbg_log_string("max_speed:%d hw_supp_speed:%d override_speed:%d",
		dwc->maximum_speed, dwc->max_hw_supp_speed,
		mdwc->override_usb_speed);
	if (mdwc->override_usb_speed &&
			mdwc->override_usb_speed <= dwc->maximum_speed) {
		dwc->maximum_speed = mdwc->override_usb_speed;
		dwc->gadget.max_speed = dwc->maximum_speed;
	}

	dbg_event(0xFF, "speed", dwc->maximum_speed);

	/*
	/*
	 * Skip scheduling sm work if no work is pending. When boot-up
	 * Skip scheduling sm work if no work is pending. When boot-up
	 * with USB cable connected, usb state m/c is skipped to avoid
	 * with USB cable connected, usb state m/c is skipped to avoid