diff mbox series

[v2] usb: dwc3: qcom: enable vbus override when in OTG dr-mode

Message ID 20230123-topic-sm8550-upstream-dwc3-qcom-otg-v2-1-2d400e598463@linaro.org
State Superseded
Headers show
Series [v2] usb: dwc3: qcom: enable vbus override when in OTG dr-mode | expand

Commit Message

Neil Armstrong Jan. 24, 2023, 8:31 a.m. UTC
With vbus override enabled when in OTG dr_mode, Host<->Peripheral
switch now works on SM8550, otherwise the DWC3 seems to be stuck
in Host mode only.

Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Changes in v2:
- Added Bryan's reviewed-by
- Added Fixes tag
- Link to v1: https://lore.kernel.org/r/20230123-topic-sm8550-upstream-dwc3-qcom-otg-v1-1-e287a418aa5f@linaro.org
---
 drivers/usb/dwc3/dwc3-qcom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---
base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
change-id: 20230123-topic-sm8550-upstream-dwc3-qcom-otg-81795ea148db

Best regards,

Comments

Konrad Dybcio Jan. 30, 2023, 1:37 p.m. UTC | #1
On 24.01.2023 09:31, Neil Armstrong wrote:
> With vbus override enabled when in OTG dr_mode, Host<->Peripheral
> switch now works on SM8550, otherwise the DWC3 seems to be stuck
> in Host mode only.
> 
> Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
Required for SM6115P Lenovo Tab P11 to switch to peripheral 
with otg dr_mode as well!

Tested-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad
> Changes in v2:
> - Added Bryan's reviewed-by
> - Added Fixes tag
> - Link to v1: https://lore.kernel.org/r/20230123-topic-sm8550-upstream-dwc3-qcom-otg-v1-1-e287a418aa5f@linaro.org
> ---
>  drivers/usb/dwc3/dwc3-qcom.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index b0a0351d2d8b..959fc925ca7c 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -901,7 +901,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
>  	qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);
>  
>  	/* enable vbus override for device mode */
> -	if (qcom->mode == USB_DR_MODE_PERIPHERAL)
> +	if (qcom->mode != USB_DR_MODE_HOST)
>  		dwc3_qcom_vbus_override_enable(qcom, true);
>  
>  	/* register extcon to override sw_vbus on Vbus change later */
> 
> ---
> base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
> change-id: 20230123-topic-sm8550-upstream-dwc3-qcom-otg-81795ea148db
> 
> Best regards,
Neil Armstrong Jan. 30, 2023, 1:51 p.m. UTC | #2
On 30/01/2023 14:37, Konrad Dybcio wrote:
> 
> 
> On 24.01.2023 09:31, Neil Armstrong wrote:
>> With vbus override enabled when in OTG dr_mode, Host<->Peripheral
>> switch now works on SM8550, otherwise the DWC3 seems to be stuck
>> in Host mode only.
>>
>> Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
>> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>> ---
> Required for SM6115P Lenovo Tab P11 to switch to peripheral
> with otg dr_mode as well!

Thanks for testing, seems it was applied by Greg

Neil

> 
> Tested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> 
> Konrad
>> Changes in v2:
>> - Added Bryan's reviewed-by
>> - Added Fixes tag
>> - Link to v1: https://lore.kernel.org/r/20230123-topic-sm8550-upstream-dwc3-qcom-otg-v1-1-e287a418aa5f@linaro.org
>> ---
>>   drivers/usb/dwc3/dwc3-qcom.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
>> index b0a0351d2d8b..959fc925ca7c 100644
>> --- a/drivers/usb/dwc3/dwc3-qcom.c
>> +++ b/drivers/usb/dwc3/dwc3-qcom.c
>> @@ -901,7 +901,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
>>   	qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);
>>   
>>   	/* enable vbus override for device mode */
>> -	if (qcom->mode == USB_DR_MODE_PERIPHERAL)
>> +	if (qcom->mode != USB_DR_MODE_HOST)
>>   		dwc3_qcom_vbus_override_enable(qcom, true);
>>   
>>   	/* register extcon to override sw_vbus on Vbus change later */
>>
>> ---
>> base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
>> change-id: 20230123-topic-sm8550-upstream-dwc3-qcom-otg-81795ea148db
>>
>> Best regards,
diff mbox series

Patch

diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index b0a0351d2d8b..959fc925ca7c 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -901,7 +901,7 @@  static int dwc3_qcom_probe(struct platform_device *pdev)
 	qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);
 
 	/* enable vbus override for device mode */
-	if (qcom->mode == USB_DR_MODE_PERIPHERAL)
+	if (qcom->mode != USB_DR_MODE_HOST)
 		dwc3_qcom_vbus_override_enable(qcom, true);
 
 	/* register extcon to override sw_vbus on Vbus change later */