RE: [RESEND PATCH 2/2] usb: dwc3: pci add property to allow user space role switch

From: Deucher, Alexander
Date: Wed Aug 25 2021 - 09:50:58 EST


[Public]

> -----Original Message-----
> From: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> Sent: Wednesday, August 25, 2021 3:26 AM
> To: Felipe Balbi <balbi@xxxxxxxxxx>
> Cc: Shah, Nehal-bakulchandra <Nehal-bakulchandra.Shah@xxxxxxx>;
> gregkh@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Liu, Kun <Kun.Liu2@xxxxxxx>; Deucher,
> Alexander <Alexander.Deucher@xxxxxxx>
> Subject: Re: [RESEND PATCH 2/2] usb: dwc3: pci add property to allow user
> space role switch
>
> On Wed, Aug 25, 2021 at 10:01:05AM +0300, Heikki Krogerus wrote:
> > On Wed, Aug 25, 2021 at 08:55:41AM +0300, Felipe Balbi wrote:
> > >
> > > Hi,
> > >
> > > Nehal Bakulchandra Shah <Nehal-Bakulchandra.shah@xxxxxxx> writes:
> > >
> > > > For AMD platform there is a requirement to enable user space role
> > > > switch from host to device and device to host as customer platform
> > > > is not completely capable of OTG i.e. with type C controller it
> > > > does not have PD to support role switching. Hence, based ACPI/EC
> > > > interrupt role switch is triggered by the usemode script running in
> background.
> > > usermode ?
> >
> > Couldn't you capture that ACPI/EC interrupt in kernel?
> >
> > > > Signed-off-by: Nehal Bakulchandra Shah
> > > > <Nehal-Bakulchandra.shah@xxxxxxx>
> > >
> > > I'm okay with this, just wondering if we need to Document the
> > > property somewhere.
> > >
> > > @Heikki, is there a place to document these private properties
> > > that's not on DT binding document?
> >
> > The build-in properties are not documented separately. I've always
> > tried to supply DT bindings for all new properties I've proposed.
> >
> > In this case though, do we need the new property at all? Why not just
> > register a normal USB role switch on this platform? It can be either a
> > dummy role switch that only passes the user space input to dwc3, or,
> > perhaps ideally, it would also be a driver that captures that ACPI/EC
> > event/notification and then passes the information from it to dwc3.
>
> Please ignore the above question. Sorry. Let me try again...
>
> The question is: why not just capture that ACPI/EC "interrupt" in kernel and
> then just use that information to set the dwc3 role switch?
> No extra properties needed.

I'm not a USB expert, but I think the idea was to pop up a message asking the user what role they wanted when they plugged in USB cable? Then based on their input, the role could be changed.

Alex