lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACJJ=pxba6=SR=kWO-vgqU=wkj7gnVAm62b2tcYf2K+1ucySRg@mail.gmail.com>
Date:   Wed, 13 Nov 2019 17:09:56 -0800
From:   Jon Flatley <jflat@...omium.org>
To:     Heikki Krogerus <heikki.krogerus@...ux.intel.com>
Cc:     Benson Leung <bleung@...gle.com>, Jon Flatley <jflat@...omium.org>,
        enric.balletbo@...labora.com,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Benson Leung <bleung@...omium.org>, groeck@...omium.org,
        sre@...nel.org, Prashant Malani <pmalani@...omium.org>
Subject: Re: [PATCH 0/3] ChromeOS EC USB-C Connector Class

On Wed, Nov 13, 2019 at 10:25 AM Heikki Krogerus
<heikki.krogerus@...ux.intel.com> wrote:
>
> Hi guys,
>
> On Wed, Nov 13, 2019 at 09:51:27AM -0800, Benson Leung wrote:
> > Hi Jon,
> >
> > Thanks for posting this.
> >
> > Adding Heikki, the typec connector class maintainer, and Enric, co-maintainer
> > of platform/chrome.
>
> Thanks Benson.
>
> > On Tue, Nov 12, 2019 at 07:10:41PM -0800, Jon Flatley wrote:
> > > This patch set adds a basic implementation of the USB-C connector class for
> > > devices using the ChromeOS EC. On ACPI devices an additional ACPI driver is
> > > necessary to receive USB-C PD host events from the PD EC device "GOOG0003".
> > > Incidentally, this ACPI driver adds notifications for events that
> > > cros-usbpd-charger has been missing, so fix that while we're at it.
> >
> > > Jon Flatley (3):
> > >   platform: chrome: Add cros-ec-usbpd-notify driver
> > >   power: supply: cros-ec-usbpd-charger: Fix host events
> > >   platform: chrome: Added cros-ec-typec driver
> > >
> > >  drivers/mfd/cros_ec_dev.c                     |   7 +-
> > >  drivers/platform/chrome/Kconfig               |  20 +
> > >  drivers/platform/chrome/Makefile              |   2 +
> > >  drivers/platform/chrome/cros_ec_typec.c       | 457 ++++++++++++++++++
> > >  .../platform/chrome/cros_ec_usbpd_notify.c    | 156 ++++++
> > >  drivers/power/supply/Kconfig                  |   2 +-
> > >  drivers/power/supply/cros_usbpd-charger.c     |  45 +-
> > >  .../platform_data/cros_ec_usbpd_notify.h      |  40 ++
> > >  8 files changed, 696 insertions(+), 33 deletions(-)
> > >  create mode 100644 drivers/platform/chrome/cros_ec_typec.c
> > >  create mode 100644 drivers/platform/chrome/cros_ec_usbpd_notify.c
> > >  create mode 100644 include/linux/platform_data/cros_ec_usbpd_notify.h
>
> I'll go over these tomorrow, but I have one question already. Can you
> guys influence what goes to the ACPI tables?
>
> Ideally every Type-C connector is always described in its own ACPI
> node (or DT node if DT is used). Otherwise getting the correct
> capabilities and especially connections to other devices (like the
> muxes) for every port may get difficult.

Hey Heikki, thank you for your quick response!

In general we do have control over the ACPI tables and over DT. The
difference for ChromeOS is that the PD implementation and policy
decisions are handled by the embedded controller. This includes
alternate mode transitions and control over the muxes. I don't believe
there is any information about port capabilities in ACPI or DT, that's
all handled by the EC. With current EC firmware we are mostly limited
to querying the EC for port capabilities and state. There may be some
exceptions to this, such as with Rockchip platforms, but even then the
EC is largely in control.

I think you raise a valid point, but such a change is probably out of
scope for this implementation.

Thanks,
-Jon

>
> Br,
>
> --
> heikki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ