From nobody Wed Apr 8 03:06:10 2026 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 8B6503E8C5F for ; Tue, 10 Mar 2026 20:41:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773175316; cv=none; b=cLj5pNNpF38DFoBuPnLiheECuZn19Rtj6qvEPbUDsYbMrxg0v+xQduKVl2YDTEZrEkvGzJZDymrVY33LrL2BWaWw248r1PEMRuVjOTPZKbzZnqIoaxPeeCL6NJqdtlqluRaAhPu3H2pPif9Ly9aRmixa2V42Sz5a9ccWrjVeFmU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773175316; c=relaxed/simple; bh=vQYq1gy/+ms8DFsoybWdQExdLq9oVYK1dKhC27tDqpA=; h=Date:Mime-Version:Message-ID:Subject:From:Cc:Content-Type; b=qr/a74fRO1qp68ypAVpKem16cWFvgBme4yJoPFOEiUhefK5u/iXB94mRa5fVE44o2ysmEuu0xyN/RG7pDFNCb8iGTeoOdbiOPymRGufj93bMXxic5ZCJt9PDkwy6oqlngXLRYauNb+D8pq80bWcGr3JavmG3lckIaFdUd2q6xos= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--rdbabiera.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=og+BuGxl; arc=none smtp.client-ip=209.85.214.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--rdbabiera.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="og+BuGxl" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2ae49080364so80726905ad.0 for ; Tue, 10 Mar 2026 13:41:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1773175315; x=1773780115; darn=vger.kernel.org; h=cc:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=G39XrjQD6P2h2p8Omajy3SkL5M5ReWD9W/m6w4WKKdo=; b=og+BuGxlMBbaroFUgUqeFNAeTmlrIDYpUIGkHa/amqLvUqSe5vpRlM1mx6Ym/I3LN0 4lZCJs3HCyDr8yHgkMs41TaKEEfZ2krE2c6t543oTmDTrzUvjwh4HK9ufVjbpsgH30q4 La8GkDHyC7yXCgzUkIilDBMcDOYtcCqckNJ74tvgEzRZdL9pG8AekcHMy9l0MgT2SRFi kh+POJSVp3cxtPH3INa2jSh0M/13f3vJkZ81HLsY/PDvmBsqCOAjVtyfr09RtjWmug72 Nir80pdkzb07Zxjo41kgF+dx+4OYnv5kOidYEgSW560HD4knbmmOV64rscCooDab517Y 7PeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773175315; x=1773780115; h=cc:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=G39XrjQD6P2h2p8Omajy3SkL5M5ReWD9W/m6w4WKKdo=; b=nW1qdRgecHFEuv8VWlgEMVZS8Imfq4t1Kmy3Y1+Q0sB27cnwBrHGkw2Boz3TYRajCS 85sjFGc/jVphi6KLM7tK9BtJouAosdbBno6GvK4LIykQBviI5GUdzQRfJFOSWGpRLToQ zEJIonJDS4jQ+P0Fg/xOcTB1dYSBwvTsXOLLPopIkXfkhszqkhbqGlVnlwtkDkCgMdAX YqU258ZxkVW6MRpVVI7ARzB8d3hLBU6ce65u4MHxG5oJ5JtvFWm6x9KRFyH/AB7B6EF4 CBYE4rpZN58eUJW9pIPU4A1q3nrpCcwn6dpnCUb6EiNX6/1wjLnEsQU89z++9eYF+1A/ DEcQ== X-Forwarded-Encrypted: i=1; AJvYcCVFmDaq0Qo1tzFjflE3nhoRDtEop833FYNR3Y1iTeC8OnZAkpQ7c1jo5/J94R4NnB70KZQnS2aR1eFR/nE=@vger.kernel.org X-Gm-Message-State: AOJu0Ywfpm2Auc2NLptYBJrUcO2hxwdBisrc/gFHJg8Vqh81j5+HkR6t F5Ei+6dS6EhH12E8/OczFXL3gfPncmkZKFFWg4aoVXl3lMZaan2g41jmaBh93Q51dq2NUJDvna1 oiNl324MN5QBQ47S9yQ== X-Received: from plbh22.prod.google.com ([2002:a17:902:eed6:b0:2ae:4f98:6bcf]) (user=rdbabiera job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:32c7:b0:2ae:7ed6:7829 with SMTP id d9443c01a7336-2aeae95de8bmr1108265ad.56.1773175314704; Tue, 10 Mar 2026 13:41:54 -0700 (PDT) Date: Tue, 10 Mar 2026 20:41:05 +0000 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Developer-Key: i=rdbabiera@google.com; a=openpgp; fpr=0B74D21BCA57BD40083A73A0DB00FC8CD80B20A1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1631; i=rdbabiera@google.com; h=from:subject; bh=vQYq1gy/+ms8DFsoybWdQExdLq9oVYK1dKhC27tDqpA=; b=owGbwMvMwCV2m+FPzw1uhYWMp9WSGDI3ND4KWTC7ea+R/8SFc5OW73mwn9vdulMwR4zLaKJh/ rTnk2JudZSyMIhxMciKKbJwl1ySPhW+14HDqngBzBxWJpAhDFycAjCRzlaGvwLnSqqnmswtZBab +YZtR97BcOMpwotOy79Q+dr3LGrXnBSGf4Y7ls/92qqT52BdutWHc2Wo4A7ZmxVlJS6LDrK6S2U s5wMA X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog Message-ID: <20260310204106.3939862-2-rdbabiera@google.com> Subject: [PATCH v1] usb: typec: altmode/displayport: set displayport signaling rate in configure message From: RD Babiera Cc: heikki.krogerus@linux.intel.com, gregkh@linuxfoundation.org, utkarsh.h.patel@intel.com, andriy.shevchenko@linux.intel.com, badhri@google.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, RD Babiera , stable@kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" dp_altmode_configure sets the signaling rate to the current configuration's rate and then shifts the value to the Select Configuration bitfield. On the initial configuration, dp->data.conf is 0 to begin with, so the signaling rate field is never set, which leads to some DisplayPort Alt Mode partners sending NAK to the Configure message. Set the signaling rate to the capabilities supported by both the port and the port partner. If the cable supports DisplayPort Alt Mode, then include its capabilities as well. Fixes: a17fae8fc38e ("usb: typec: Add Displayport Alternate Mode 2.1 Suppor= t") Cc: stable@kernel.org Signed-off-by: RD Babiera Acked-by: Heikki Krogerus --- drivers/usb/typec/altmodes/displayport.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/a= ltmodes/displayport.c index d185688a16b1..35d9c3086990 100644 --- a/drivers/usb/typec/altmodes/displayport.c +++ b/drivers/usb/typec/altmodes/displayport.c @@ -100,9 +100,14 @@ static int dp_altmode_configure(struct dp_altmode *dp,= u8 con) { u8 pin_assign =3D 0; u32 conf; + u32 signal; =20 /* DP Signalling */ - conf =3D (dp->data.conf & DP_CONF_SIGNALLING_MASK) >> DP_CONF_SIGNALLING_= SHIFT; + signal =3D DP_CAP_DP_SIGNALLING(dp->port->vdo) & DP_CAP_DP_SIGNALLING(dp-= >alt->vdo); + if (dp->plug_prime) + signal &=3D DP_CAP_DP_SIGNALLING(dp->plug_prime->vdo); + + conf =3D signal << DP_CONF_SIGNALLING_SHIFT; =20 switch (con) { case DP_STATUS_CON_DISABLED: base-commit: bb375c251ab40bdbc5272008fcf2bc6cd5266610 --=20 2.53.0.473.g4a7958ca14-goog