mbox series

[v2,0/2] usb: dwc2: fill in gadget caps, configure it for stm32mp15

Message ID 1633679589-16021-1-git-send-email-fabrice.gasnier@foss.st.com (mailing list archive)
Headers show
Series usb: dwc2: fill in gadget caps, configure it for stm32mp15 | expand

Message

Fabrice Gasnier Oct. 8, 2021, 7:53 a.m. UTC
This patchset fills in 'otg_caps' of the usb_gadget structure, and
configures it on stm32mp15.

When dwc2 is configured as dual role (OTG), the USB gadget descriptors
(device mode) are configured via configfs. This lead in calling
usb_otg_descriptor_init().
In usb_otg_descriptor_init() (drivers/usb/gadget/config.c):
- If otg caps structure is provided -> use it
- If otg caps structure isn't provided -> HNP and SRP are enabled by default

This could lead to a configuration mismatch beetween:
- OTG controller: HNP and SRP aren't enabled
- gadget descriptors: HNP and SRP are advertised

---
Changes in v2:
- replace otg_cap bit field by otg_caps structure.
- Fix build issue when HOST only mode is selected [1]
- DT patch for stm32mp151 merged in v1, so not resent

[1] https://syzkaller.appspot.com/bug?extid=7af597ce2b38596c16ea

Fabrice Gasnier (2):
  usb: dwc2: add otg_rev and otg_caps information for gadget driver
  usb: dwc2: stm32mp15: set otg_rev

 drivers/usb/dwc2/core.h    | 19 ++++++------
 drivers/usb/dwc2/debugfs.c |  4 ++-
 drivers/usb/dwc2/gadget.c  |  1 +
 drivers/usb/dwc2/hcd.c     | 12 +++-----
 drivers/usb/dwc2/params.c  | 75 ++++++++++++++++++++++++++--------------------
 5 files changed, 59 insertions(+), 52 deletions(-)

Comments

Fabrice Gasnier Oct. 13, 2021, 2 p.m. UTC | #1
On 10/8/21 9:53 AM, Fabrice Gasnier wrote:
> This patchset fills in 'otg_caps' of the usb_gadget structure, and
> configures it on stm32mp15.
> 
> When dwc2 is configured as dual role (OTG), the USB gadget descriptors
> (device mode) are configured via configfs. This lead in calling
> usb_otg_descriptor_init().
> In usb_otg_descriptor_init() (drivers/usb/gadget/config.c):
> - If otg caps structure is provided -> use it
> - If otg caps structure isn't provided -> HNP and SRP are enabled by default
> 
> This could lead to a configuration mismatch beetween:
> - OTG controller: HNP and SRP aren't enabled
> - gadget descriptors: HNP and SRP are advertised
> 
> ---

Hi All, I just sent a v3 of this series, to add the dt-bindings.

Please rather review the v3.

Thanks in advance,
Fabrice


> Changes in v2:
> - replace otg_cap bit field by otg_caps structure.
> - Fix build issue when HOST only mode is selected [1]
> - DT patch for stm32mp151 merged in v1, so not resent
> 
> [1] https://syzkaller.appspot.com/bug?extid=7af597ce2b38596c16ea
> 
> Fabrice Gasnier (2):
>   usb: dwc2: add otg_rev and otg_caps information for gadget driver
>   usb: dwc2: stm32mp15: set otg_rev
> 
>  drivers/usb/dwc2/core.h    | 19 ++++++------
>  drivers/usb/dwc2/debugfs.c |  4 ++-
>  drivers/usb/dwc2/gadget.c  |  1 +
>  drivers/usb/dwc2/hcd.c     | 12 +++-----
>  drivers/usb/dwc2/params.c  | 75 ++++++++++++++++++++++++++--------------------
>  5 files changed, 59 insertions(+), 52 deletions(-)
>