Hi All,
On 2019-05-31 14:44, Minas Harutyunyan wrote:
> On 5/9/2019 1:16 PM, Jules Maselbas wrote:
>> Setting params.phy_utmi_width in dwc2_lowlevel_hw_init() is pointless
>> since
>> it's value will be overwritten by dwc2_init_params().
>>
>> This change make sure to take in account the generic PHY width
>> information
>> during paraminitialisation, done in dwc2_set_param_phy_utmi_width().
>>
>> By doing so, the phy_utmi_width params can still be overrided by
>> devicetree specific params and will also be checked against hardware
>> capabilities.
>>
>> Fixes: 707d80f0a3c5 ("usb: dwc2: gadget: Replace phyif with
>> phy_utmi_width")
>> Tested-by: Marek Szyprowski <[email protected]>
>> Signed-off-by: Jules Maselbas <[email protected]>
>
> Acked-by: Minas Harutyunyan <[email protected]>
Gentle reminder, Felipe, could you take this to the fixes for v5.2?
>> ---
>> v2: Fix typo in commit message. Add Fixes and Tested-by tags.
>> ---
>> drivers/usb/dwc2/params.c | 9 +++++++++
>> drivers/usb/dwc2/platform.c | 9 ---------
>> 2 files changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
>> index 6900eea57526..5949262ff669 100644
>> --- a/drivers/usb/dwc2/params.c
>> +++ b/drivers/usb/dwc2/params.c
>> @@ -253,6 +253,15 @@ static void dwc2_set_param_phy_utmi_width(struct
>> dwc2_hsotg *hsotg)
>> val = (hsotg->hw_params.utmi_phy_data_width ==
>> GHWCFG4_UTMI_PHY_DATA_WIDTH_8) ? 8 : 16;
>> + if (hsotg->phy) {
>> + /*
>> + * If using the generic PHY framework, check if the PHY bus
>> + * width is 8-bit and set the phyif appropriately.
>> + */
>> + if (phy_get_bus_width(hsotg->phy) == 8)
>> + val = 8;
>> + }
>> +
>> hsotg->params.phy_utmi_width = val;
>> }
>> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
>> index d10a7f8daec3..e98d7812da2d 100644
>> --- a/drivers/usb/dwc2/platform.c
>> +++ b/drivers/usb/dwc2/platform.c
>> @@ -271,15 +271,6 @@ static int dwc2_lowlevel_hw_init(struct
>> dwc2_hsotg *hsotg)
>> hsotg->plat = dev_get_platdata(hsotg->dev);
>> - if (hsotg->phy) {
>> - /*
>> - * If using the generic PHY framework, check if the PHY bus
>> - * width is 8-bit and set the phyif appropriately.
>> - */
>> - if (phy_get_bus_width(hsotg->phy) == 8)
>> - hsotg->params.phy_utmi_width = 8;
>> - }
>> -
>> /* Clock */
>> hsotg->clk = devm_clk_get_optional(hsotg->dev, "otg");
>> if (IS_ERR(hsotg->clk)) {
>>
>
>
>
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland