From: Benson Leung <bleung@google.com>
To: Prashant Malani <pmalani@chromium.org>
Cc: linux-kernel@vger.kernel.org, Benson Leung <bleung@chromium.org>,
Guenter Roeck <groeck@chromium.org>,
"open list:CHROMEOS EC USB TYPE-C DRIVER"
<chrome-platform@lists.linux.dev>
Subject: Re: [PATCH v2 3/4] platform/chrome: cros_ec_typec: Configure muxes at start of port update
Date: Mon, 14 Feb 2022 16:27:25 -0800 [thread overview]
Message-ID: <YgrzbQViMLRTC4XB@google.com> (raw)
In-Reply-To: <20220208184721.1697194-4-pmalani@chromium.org>
[-- Attachment #1: Type: text/plain, Size: 2512 bytes --]
Hi Prashant,
On Tue, Feb 08, 2022 at 06:47:22PM +0000, Prashant Malani wrote:
> There are situations where the mux state reported by the Embedded
> Controller (EC), might lag the partner "connected" state. So, the mux
> state might still suggest that a partner is connected, while the PD
> "connected" state, being in Try.SNK (for example) suggests that the
> partner is disconnected.
>
> In such a scenario, we will end up sending a disconnect command to the
> mux driver, followed by a connect command, since the mux is configured
> later. Avoid this by configuring the mux before
> registering/disconnecting a partner.
>
> Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
> ---
>
> Changes in v2:
> - Change return at end of port_update() to just return 0.
>
> drivers/platform/chrome/cros_ec_typec.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> index 3d34ece7f790..3019e29f200d 100644
> --- a/drivers/platform/chrome/cros_ec_typec.c
> +++ b/drivers/platform/chrome/cros_ec_typec.c
> @@ -965,6 +965,11 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
> if (ret < 0)
> return ret;
>
> + /* Update the switches if they exist, according to requested state */
> + ret = cros_typec_configure_mux(typec, port_num, &resp);
> + if (ret)
> + dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
> +
> dev_dbg(typec->dev, "Enabled %d: 0x%hhx\n", port_num, resp.enabled);
> dev_dbg(typec->dev, "Role %d: 0x%hhx\n", port_num, resp.role);
> dev_dbg(typec->dev, "Polarity %d: 0x%hhx\n", port_num, resp.polarity);
> @@ -980,12 +985,7 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
> if (typec->typec_cmd_supported)
> cros_typec_handle_status(typec, port_num);
>
> - /* Update the switches if they exist, according to requested state */
> - ret = cros_typec_configure_mux(typec, port_num, &resp);
> - if (ret)
> - dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
> -
> - return ret;
> + return 0;
> }
>
> static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
> --
> 2.35.0.263.gb82422642f-goog
>
>
--
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
bleung@google.com
Chromium OS Project
bleung@chromium.org
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2022-02-15 0:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-08 18:47 [PATCH v2 0/4] platform/chrome: cros_ec_typec: Reorganize mux configuration Prashant Malani
2022-02-08 18:47 ` [PATCH v2 1/4] platform/chrome: cros_ec_typec: Move mux flag checks Prashant Malani
2022-02-09 3:32 ` Tzung-Bi Shih
2022-02-08 18:47 ` [PATCH v2 2/4] platform/chrome: cros_ec_typec: Get mux state inside configure_mux Prashant Malani
2022-02-09 3:32 ` Tzung-Bi Shih
2022-02-08 18:47 ` [PATCH v2 3/4] platform/chrome: cros_ec_typec: Configure muxes at start of port update Prashant Malani
2022-02-15 0:27 ` Benson Leung [this message]
2022-02-08 18:47 ` [PATCH v2 4/4] platform/chrome: cros_ec_typec: Update mux flags during partner removal Prashant Malani
2022-02-09 3:32 ` Tzung-Bi Shih
2022-02-15 20:00 ` [PATCH v2 0/4] platform/chrome: cros_ec_typec: Reorganize mux configuration patchwork-bot+chrome-platform
2022-02-16 22:00 ` patchwork-bot+chrome-platform
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YgrzbQViMLRTC4XB@google.com \
--to=bleung@google.com \
--cc=bleung@chromium.org \
--cc=chrome-platform@lists.linux.dev \
--cc=groeck@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pmalani@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.