Re: [RFC 1/8] dt-bindings: usb: qcom,dwc3: Add bindings to enable runtime

From: Krishna Kurapati PSSNV
Date: Fri Nov 03 2023 - 14:25:07 EST




On 11/3/2023 8:26 PM, Caleb Connolly wrote:


On 03/11/2023 05:34, Krishna Kurapati PSSNV wrote:


On 11/3/2023 12:10 AM, Caleb Connolly wrote:
Hi Caleb,

   There are two types of platforms, some use extcon and some use
role-switch to deliver vbus/id notifications. Extcon targets already
have this qscratch modifications present today in vbus and id
handlers. But for role-switch based targets we don't have any way to
get this notification to dwc3-qcom. In this implementation, I wanted
to get those notications from core to glue and for this we
implenented vendor hooks.

The property added has been used to do two things:

1. Register glue's vendor hooks to core driver
2. Do runtime_allow for glue (and by default for core as the dt is
not flattened)

In case of extcon, we don't want to register vendor hooks as
notifications are not necessary.

Could it just be enabled when role_switch is present then?


So we would register vendor hooks when usb-role-switch is present but
don't do runtime allow, and leave that option to user space right ?
I think it would work and we can do away with the binding completely.

Can we still enable runtime suspend? Maybe someone else wants to chime
in here, but I'd guess that it's preferable to have it enabled by
default, particularly for devices like phones. Or are there side effects
from this?


AFAIK, I don't see any side effects whether we enable runtime from user space or do runtime_allow() here in kernel itself and leave qscratch config to vendor hooks.

But leaving it enabled by default, we do this for almost all targets in downstream today. So I guess there would be no side effects.

Regards,
Krishna,