lkml.org 
[lkml]   [2020]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 03/11] usb: typec: Add plug num_altmodes sysfs attr
On Tue, Nov 17, 2020 at 09:40:16AM -0800, Prashant Malani wrote:
> Hi Heikki,
>
> On Tue, Nov 17, 2020 at 02:41:43PM +0200, Heikki Krogerus wrote:
> > On Mon, Nov 16, 2020 at 12:11:42PM -0800, Prashant Malani wrote:
> > > Add a field to the typec_plug struct to record the number of available
> > > altmodes as well as the corresponding sysfs attribute to expose this to
> > > userspace.
> > >
> > > This allows userspace to determine whether there are any
> > > remaining alternate modes left to be registered by the kernel driver. It
> > > can begin executing any policy state machine after all available
> > > alternate modes have been registered with the connector class framework.
> > >
> > > This value is set to "-1" initially, signifying that a valid number of
> > > alternate modes haven't been set for the plug. The sysfs file remains
> > > hidden as long as the attribute value is -1.
> >
> > Why couldn't we just keep it hidden for as long as the number of
> > alt modes is 0? If you already explained that, then I apologise, I've
> > forgotten.
> >
>
> No worries :)
>
> Succinctly, because 0 is a valid value for "number of altmodes
> supported".
>
> If we keep the attribute hidden for 0, then there won't
> be a way for userspace to determine that PD discovery is done and we
> don't expect any more cable plug altmodes to be registered by the kernel
> Type C port driver (it can determine this by comparing
> "number_of_altmodes" against the actual number of alt modes registered
> by the Type C port driver).
>
> If we keep "number_of_altmodes" hidden even for 0, the userspace cannot
> differentiate between "this cable doesn't support any altmodes" and
> "it does altmodes, but the PD stack hasn't completed PD Discovery
> including DiscoverIdentity yet".
>
> For reference, here is the initial patch and mini-discussion around it
> back in July for port-partner altmodes [1] (I've followed a similar
> logic here).
>
> Hope this helps the rationale a bit more.

Got it. Thanks for the explanation (again :-).

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> Best regards,
>
> -Prashant
>
> [1]:
> https://lore.kernel.org/linux-usb/20200701082230.GF856968@kuha.fi.intel.com/

thanks,

--
heikki

\
 
 \ /
  Last update: 2020-11-18 13:05    [W:0.062 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site