Re: [PATCH v6 2/4] usb: dwc3: qcom: Add interconnect support in dwc3 driver

From: Felipe Balbi
Date: Mon Mar 30 2020 - 04:19:21 EST



Hi,

Matthias Kaehlcke <mka@xxxxxxxxxxxx> writes:
>> Add interconnect support in dwc3-qcom driver to vote for bus
>> bandwidth.
>>
>> This requires for two different paths - from USB master to
>> DDR slave. The other is from APPS master to USB slave.
>>
>> Signed-off-by: Sandeep Maheswaram <sanm@xxxxxxxxxxxxxx>
>> Signed-off-by: Chandana Kishori Chiluveru <cchiluve@xxxxxxxxxxxxxx>
>> Reviewed-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
>> ---
>> drivers/usb/dwc3/dwc3-qcom.c | 128 ++++++++++++++++++++++++++++++++++++++++++-
>> 1 file changed, 126 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
>> index 1dfd024..7e85fe6 100644
>> --- a/drivers/usb/dwc3/dwc3-qcom.c
>> +++ b/drivers/usb/dwc3/dwc3-qcom.c
>>
>> ...
>>
>> +/* To disable an interconnect, we just set its bandwidth to 0 */
>> +static int dwc3_qcom_interconnect_disable(struct dwc3_qcom *qcom)
>> +{
>> + int ret;
>> +
>> + ret = icc_set_bw(qcom->usb_ddr_icc_path, 0, 0);
>> + if (ret)
>> + return ret;
>> +
>> + ret = icc_set_bw(qcom->apps_usb_icc_path, 0, 0);
>> + if (ret)
>> + goto err_reenable_memory_path;
>> +
>> + return 0;
>> +
>> + /* Re-enable things in the event of an error */
>> +err_reenable_memory_path:
>> + ret = dwc3_qcom_interconnect_enable(qcom);
>
> This overwrites the error that led to the execution of this code path.
> The function should return original error, not the result of the
> _interconnect_enable() call.
>
> I saw Felipe queued the patch for v5.8. I think the main options to fix this
> are:
>
> - a v6 of this patch to replace v5 in Felipe's tree (which IIUC will be rebased
> anyway once there is a v5.7-rc)
> - send the fix as a separate patch
> - Felipe amends the patch in his tree
>
> Felipe, what would work best for you?

Let's go for a v6, which commits should I drop? I can't find anything
related to $subject in my queue:

$ git --no-pager log --oneline HEAD ^linus/master -- drivers/usb/dwc3/dwc3-qcom.c
201c26c08db4 usb: dwc3: qcom: Replace <linux/clk-provider.h> by <linux/of_clk.h>

--
balbi

Attachment: signature.asc
Description: PGP signature