From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF9B338F628 for ; Mon, 2 Mar 2026 09:36:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772444221; cv=none; b=E6JFAq4kqpg5As4VvYx8Cur+uoRAw5Zpn3o5xvQBxA9WqHcVfxgBu20G7hRyF/viUee3eIWpSNytlyPLTepraU6MIUZF74n/cwbTHAzXzp90CWAk6oIF6d5lmfW7V8+0s4UdAMj8YzNpPj41rSM3tefVdg0A2VbO5rOu6pbkuec= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772444221; c=relaxed/simple; bh=/NOp8y06KChdk8LJ/vG6dQWQel7PeHlNho48yaYgYOQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=qD5pEXhmf0Ajra4hlVtgJSoEAyvVEQjLVxICuifmLwbQGGU6rfQQnZ+sFUiiIExF0VkJh5u3dkSDloCEec7i8j5TA2Ov1I8PKQL/CCfJaBAruAx4wkwaIiGle1LFOKjVNHk+K8MZnlzPoZjFcW1gUCvRuY5Kh3EEQXNTaRGUQ/4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XutU1V5Q; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XutU1V5Q" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-65f92a597a1so5765106a12.0 for ; Mon, 02 Mar 2026 01:36:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772444218; x=1773049018; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=HzEgCqxvjH+3BmwidCaHmyf6O+HU7TyRw9v2I7ODIxw=; b=XutU1V5Q5Iu1/2W1UMiol2gQZrYuaAtSCmZDHH3RHTDXQxQIr0z9i9g5cUmNHq7zhl Yc3AYY/QD2m3WN0VwBivrUmgNqL95izZsLhd2UxMN1/iPbHZQ86jRTYM+ptF2+5J3bXo sDEiFZV/XWHarTwN+qsKYdP11Dcxql2YXZjF1pyiA58MB5bEVobbomlkpFKSzV+u9aV8 PPEQS61djCwxSEVrmcun997xNDe/c2JoHP3YIo/YHab0lCAFwHo8VuNmXsrOGcDj67kk bg/fvhovREns26oj81U9psuqofhx8abj2GjL0CnKQ2dfwW1OLP9MS9PGJyjSfIK6xMkl bRUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772444218; x=1773049018; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HzEgCqxvjH+3BmwidCaHmyf6O+HU7TyRw9v2I7ODIxw=; b=LK5z+C6uAprtPNZEnWRpDlmQ3jqIEvlj/4h377c+ONNHz9B/VdChoztV8edj5nL1uY DRc3/KA3i37lRsPXtNGAH5ui1U8vK0YbzfjSKR9e6cg8NeYF9AkJdML2v7qNo87tp3gt AAWEti8YR6yR4vEqEfPXlCoyMbGQDhdycBPbnErnpW6RqHbWKF7lvFGsBEAcfzcFsDpe 8Gas2kGqJL8rOVVvyAGeLp5cjJJ46F2MLCC7uz8I6DS+QaxME0ZA5qnqCux/a8tzFIzg 5ZGcJR2BIeGatMM+ohzACBEafRQoDin7Vjg1oEQCxnG6/NLNRDVzvf1UyXwYJfVjrU9m 1t6g== X-Forwarded-Encrypted: i=1; AJvYcCULRHF03OfmNJIt40DQYlpPeyV6Y3T28KleYbUC2XLcYf80jxt0rTM+GyzDEbPOcqw57VTutA8SdG+fOvI=@vger.kernel.org X-Gm-Message-State: AOJu0Ywlw3Y3+4bfbhiHwDRgNqyDI1E4USzuNL08I/iRYAhDRsJ1sBsC bChCXk1KtnBTLWR0WtyU8kP9gMHQHvea57bEghSfbTnEWYu/nmIOl2e9 X-Gm-Gg: ATEYQzyoz9SyW+Ea3IajwNfpgbLhBYThzAX2DNPF6aax8C2Pj8+XLxMHh+gSGShvBSq PBdTAMAf/VmdEEOULSl6EPIRNB5ezc/eJMDSIZ3lwxiTpAuIQYAhcTpVCkx1do2hhBFuBnRoMTA 7to43+bzSf2eEBEtEiX24uJ9Ljx/yG6fjG8DdTX2u2uBd4IAaHI0t8PMYkKIX9uMdNYY6HYdywn PJLlceNQ2in57u9JseelLN95rDlVkwD04KxLQDAjpiVc1Z3uIr5vW5KRv/k+i7WJoz48J5/wVBM FAewg0Wpcw86T0RApQHuhYu/hF3bXrncX8SvnTN6uePBlS99pjpcwpE60MqGI9rNtL8Ewi9KfP3 CGeZ+bPUzkW1p24bZRMFkeHncNSGtlB5C9jaSma/MWDaIBQtUH2yRekdrYQLpTycGqBDI5Zk/Q9 X/CN8U+LjGeBzW8XnRybuU1Gm7Iug= X-Received: by 2002:a17:907:6d11:b0:b8f:9636:9acc with SMTP id a640c23a62f3a-b9376386bbemr716057866b.17.1772444217797; Mon, 02 Mar 2026 01:36:57 -0800 (PST) Received: from [192.168.0.102] ([46.53.247.255]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b935aec7091sm452340666b.58.2026.03.02.01.36.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 02 Mar 2026 01:36:57 -0800 (PST) Message-ID: Date: Mon, 2 Mar 2026 12:36:56 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 7/8] platform/chrome: cros_ec_typec: Thunderbolt support To: Abhishek Pandit-Subedi , heikki.krogerus@linux.intel.com, tzungbi@kernel.org, linux-usb@vger.kernel.org, chrome-platform@lists.linux.dev Cc: akuchynski@google.com, sboyd@kernel.org, pmalani@chromium.org, badhri@google.com, rdbabiera@google.com, dmitry.baryshkov@linaro.org, jthies@google.com, Benson Leung , Guenter Roeck , linux-kernel@vger.kernel.org References: <20241213233552.451927-1-abhishekpandit@chromium.org> <20241213153543.v5.7.Ic61ced3cdfb5d6776435356061f12307da719829@changeid> Content-Language: en-US From: Dzmitry Sankouski In-Reply-To: <20241213153543.v5.7.Ic61ced3cdfb5d6776435356061f12307da719829@changeid> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/14/24 2:35 AM, Abhishek Pandit-Subedi wrote: > Add support for entering and exiting Thunderbolt alt-mode using AP > driven alt-mode. > > Signed-off-by: Abhishek Pandit-Subedi > --- > (...) > diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c > index 1bcaa7269395..1ac5798d887f 100644 > --- a/drivers/platform/chrome/cros_ec_typec.c > +++ b/drivers/platform/chrome/cros_ec_typec.c > @@ -303,18 +303,19 @@ static int cros_typec_register_port_altmodes(struct cros_typec_data *typec, > > /* > * Register TBT compatibility alt mode. The EC will not enter the mode > - * if it doesn't support it, so it's safe to register it unconditionally > - * here for now. > + * if it doesn't support it and it will not enter automatically by > + * design so we can use the |ap_driven_altmode| feature to check if we > + * should register it. > */ > - memset(&desc, 0, sizeof(desc)); > - desc.svid = USB_TYPEC_TBT_SID; > - desc.mode = TYPEC_ANY_MODE; > - amode = typec_port_register_altmode(port->port, &desc); > - if (IS_ERR(amode)) > - return PTR_ERR(amode); > - port->port_altmode[CROS_EC_ALTMODE_TBT] = amode; > - typec_altmode_set_drvdata(amode, port); > - amode->ops = &port_amode_ops; The last usage of port_amode_ops is deleted here. Is this a mistake? AFAIU from kernel docs, port_amode_ops needed for alternate mode driver to send vdm messages to partner. Now, when it's unused, how does alternate modes work in this driver? > + if (typec->ap_driven_altmode) { > + memset(&desc, 0, sizeof(desc)); > + desc.svid = USB_TYPEC_TBT_SID; > + desc.mode = TBT_MODE; > + amode = cros_typec_register_thunderbolt(port, &desc); > + if (IS_ERR(amode)) > + return PTR_ERR(amode); > + port->port_altmode[CROS_EC_ALTMODE_TBT] = amode; > + } > > port->state.alt = NULL; > port->state.mode = TYPEC_STATE_USB;