All of lore.kernel.org
 help / color / mirror / Atom feed
From: Utkarsh Patel <utkarsh.h.patel@intel.com>
To: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Cc: heikki.krogerus@linux.intel.com, pmalani@chromium.org,
	enric.balletbo@collabora.com, rajmohan.mani@intel.com,
	azhar.shaikh@intel.com, Utkarsh Patel <utkarsh.h.patel@intel.com>
Subject: [PATCH v2 6/8] platform/chrome: cros_ec_typec: Use Thunderbolt 3 cable discover mode VDO in USB4 mode
Date: Fri, 13 Nov 2020 12:25:01 -0800	[thread overview]
Message-ID: <20201113202503.6559-7-utkarsh.h.patel@intel.com> (raw)
In-Reply-To: <20201113202503.6559-1-utkarsh.h.patel@intel.com>

Configure Thunderbolt3/USB4 cable generation value by filing Thunderbolt 3
cable discover mode VDO to support rounded and non-rounded Thunderbolt3/
USB4 cables.
While we are here use Thunderbolt 3 cable discover mode VDO to fill active
cable plug link training value.

Suggested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Utkarsh Patel <utkarsh.h.patel@intel.com>

--
Changes in v2:
- No change.
--
---
 drivers/platform/chrome/cros_ec_typec.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index 8111ed1fc574..b7416e82c3b3 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -514,8 +514,18 @@ static int cros_typec_enable_usb4(struct cros_typec_data *typec,
 	else if (pd_ctrl->control_flags & USB_PD_CTRL_ACTIVE_CABLE)
 		data.eudo |= EUDO_CABLE_TYPE_RE_TIMER << EUDO_CABLE_TYPE_SHIFT;
 
-	data.active_link_training = !!(pd_ctrl->control_flags &
-				       USB_PD_CTRL_ACTIVE_LINK_UNIDIR);
+	/*
+	 * This driver does not have access to the identity information or
+	 * capabilities of the cable, so we don't know is it a real USB4 or
+	 * TBT3 cable. Therefore pretending that it's always TBT3 cable by
+	 * filling the TBT3 Cable VDO.
+	 */
+	data.tbt_cable_vdo = TBT_MODE;
+
+	if (pd_ctrl->control_flags & USB_PD_CTRL_ACTIVE_LINK_UNIDIR)
+		data.tbt_cable_vdo |= TBT_CABLE_LINK_TRAINING;
+
+	data.tbt_cable_vdo |= TBT_SET_CABLE_ROUNDED(pd_ctrl->cable_gen);
 
 	port->state.alt = NULL;
 	port->state.data = &data;
-- 
2.17.1


  parent reply	other threads:[~2020-11-13 20:27 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-13 20:24 [PATCH v2 0/8] Thunderbolt3/USB4 cable rounded and active cable plug link training support Utkarsh Patel
2020-11-13 20:24 ` [PATCH v2 1/8] usb: typec: Correct the bit values for the Thunderbolt rounded/non-rounded cable support Utkarsh Patel
2020-11-17 10:43   ` Heikki Krogerus
2020-11-13 20:24 ` [PATCH v2 2/8] platform/chrome: cros_ec_typec: Correct " Utkarsh Patel
2020-11-17 10:44   ` Heikki Krogerus
2020-11-17 10:49   ` Enric Balletbo i Serra
2020-11-13 20:24 ` [PATCH v2 3/8] usb: typec: intel_pmc_mux: Configure Thunderbolt cable generation bits Utkarsh Patel
2020-11-17 10:45   ` Heikki Krogerus
2020-11-13 20:24 ` [PATCH v2 4/8] usb: typec: Remove one bit support for the Thunderbolt rounded/non-rounded cable Utkarsh Patel
2020-11-17 10:46   ` Heikki Krogerus
2020-11-13 20:25 ` [PATCH v2 5/8] usb: typec: Use Thunderbolt 3 cable discover mode VDO in Enter_USB message Utkarsh Patel
2020-11-17 12:09   ` Heikki Krogerus
2020-11-17 23:28     ` Patel, Utkarsh H
2020-11-17 21:16   ` Prashant Malani
2020-11-18  0:44     ` Prashant Malani
2020-11-13 20:25 ` Utkarsh Patel [this message]
2020-11-17 10:49   ` [PATCH v2 6/8] platform/chrome: cros_ec_typec: Use Thunderbolt 3 cable discover mode VDO in USB4 mode Enric Balletbo i Serra
2020-11-17 12:10   ` Heikki Krogerus
2020-11-17 18:19   ` Prashant Malani
2020-11-18  1:06     ` Prashant Malani
2020-11-18  4:07       ` Patel, Utkarsh H
2020-11-13 20:25 ` [PATCH v2 7/8] usb: typec: intel_pmc_mux: Configure active cable properties for USB4 Utkarsh Patel
2020-11-17 12:21   ` Heikki Krogerus
2020-11-17 22:37     ` Patel, Utkarsh H
2020-11-13 20:25 ` [PATCH v2 8/8] usb: typec: Remove active_link_training variable from Enter_USB message Utkarsh Patel
2020-11-17 12:22   ` Heikki Krogerus
2020-11-18 11:54 ` [PATCH v2 0/8] Thunderbolt3/USB4 cable rounded and active cable plug link training support Greg KH
2020-11-18 22:02   ` Patel, Utkarsh H

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=20201113202503.6559-7-utkarsh.h.patel@intel.com \
    --to=utkarsh.h.patel@intel.com \
    --cc=azhar.shaikh@intel.com \
    --cc=enric.balletbo@collabora.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=pmalani@chromium.org \
    --cc=rajmohan.mani@intel.com \
    /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.