* [PATCH v1] usb: typec: ucsi: Pass full DP config payload in SET_NEW_CAM for DP alt mode
@ 2026-06-19 15:03 madhu.m
2026-06-19 14:39 ` Greg KH
0 siblings, 1 reply; 3+ messages in thread
From: madhu.m @ 2026-06-19 15:03 UTC (permalink / raw)
To: gregkh
Cc: heikki.krogerus, pooja.katiyar, akuchynski, jthies, johan,
linux-usb, linux-kernel, Madhu M
From: Madhu M <madhu.m@intel.com>
In the UCSI Specification Revision 3.1 RC1, bits 32-63 of the SET_NEW_CAM
command hold the 32-bit Alternate Mode Specific (AMSpecific) field.
For DisplayPort Alternate Mode, this field must contain the full
32-bit DisplayPort configuration VDO payload that the OPM wants the
connector to operate in, rather than just the pin assignment value.
This AMSpecific value follows the DisplayPort Configurations defined
in the DisplayPort Alt Mode on USB Type-C Specification v2.1a,
Table 5-13: SOP DisplayPort Configurations.
Signed-off-by: Madhu M <madhu.m@intel.com>
Reviewed-by: Jameson Thies <jthies@google.com>
Reviewed-by: Andrei Kuchynski <akuchynski@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
drivers/usb/typec/ucsi/displayport.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/usb/typec/ucsi/displayport.c b/drivers/usb/typec/ucsi/displayport.c
index 67a0991a7b76..2e3d7c734d9f 100644
--- a/drivers/usb/typec/ucsi/displayport.c
+++ b/drivers/usb/typec/ucsi/displayport.c
@@ -185,13 +185,12 @@ static int ucsi_displayport_status_update(struct ucsi_dp *dp)
static int ucsi_displayport_configure(struct ucsi_dp *dp)
{
- u32 pins = DP_CONF_GET_PIN_ASSIGN(dp->data.conf);
u64 command;
if (!dp->override)
return 0;
- command = UCSI_CMD_SET_NEW_CAM(dp->con->num, 1, dp->offset, pins);
+ command = UCSI_CMD_SET_NEW_CAM(dp->con->num, 1, dp->offset, dp->data.conf);
return ucsi_send_command(dp->con->ucsi, command, NULL, 0);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v1] usb: typec: ucsi: Pass full DP config payload in SET_NEW_CAM for DP alt mode
2026-06-19 15:03 [PATCH v1] usb: typec: ucsi: Pass full DP config payload in SET_NEW_CAM for DP alt mode madhu.m
@ 2026-06-19 14:39 ` Greg KH
2026-06-19 14:51 ` M, Madhu
0 siblings, 1 reply; 3+ messages in thread
From: Greg KH @ 2026-06-19 14:39 UTC (permalink / raw)
To: madhu.m
Cc: heikki.krogerus, pooja.katiyar, akuchynski, jthies, johan,
linux-usb, linux-kernel
On Fri, Jun 19, 2026 at 08:33:29PM +0530, madhu.m@intel.com wrote:
> From: Madhu M <madhu.m@intel.com>
>
> In the UCSI Specification Revision 3.1 RC1, bits 32-63 of the SET_NEW_CAM
> command hold the 32-bit Alternate Mode Specific (AMSpecific) field.
>
> For DisplayPort Alternate Mode, this field must contain the full
> 32-bit DisplayPort configuration VDO payload that the OPM wants the
> connector to operate in, rather than just the pin assignment value.
> This AMSpecific value follows the DisplayPort Configurations defined
> in the DisplayPort Alt Mode on USB Type-C Specification v2.1a,
> Table 5-13: SOP DisplayPort Configurations.
>
> Signed-off-by: Madhu M <madhu.m@intel.com>
> Reviewed-by: Jameson Thies <jthies@google.com>
> Reviewed-by: Andrei Kuchynski <akuchynski@chromium.org>
> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
> drivers/usb/typec/ucsi/displayport.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/usb/typec/ucsi/displayport.c b/drivers/usb/typec/ucsi/displayport.c
> index 67a0991a7b76..2e3d7c734d9f 100644
> --- a/drivers/usb/typec/ucsi/displayport.c
> +++ b/drivers/usb/typec/ucsi/displayport.c
> @@ -185,13 +185,12 @@ static int ucsi_displayport_status_update(struct ucsi_dp *dp)
>
> static int ucsi_displayport_configure(struct ucsi_dp *dp)
> {
> - u32 pins = DP_CONF_GET_PIN_ASSIGN(dp->data.conf);
> u64 command;
>
> if (!dp->override)
> return 0;
>
> - command = UCSI_CMD_SET_NEW_CAM(dp->con->num, 1, dp->offset, pins);
> + command = UCSI_CMD_SET_NEW_CAM(dp->con->num, 1, dp->offset, dp->data.conf);
>
> return ucsi_send_command(dp->con->ucsi, command, NULL, 0);
> }
> --
> 2.34.1
>
>
SHouldn't this have a Fixes: and cc: stable tag?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread* RE: [PATCH v1] usb: typec: ucsi: Pass full DP config payload in SET_NEW_CAM for DP alt mode
2026-06-19 14:39 ` Greg KH
@ 2026-06-19 14:51 ` M, Madhu
0 siblings, 0 replies; 3+ messages in thread
From: M, Madhu @ 2026-06-19 14:51 UTC (permalink / raw)
To: Greg KH
Cc: heikki.krogerus@linux.intel.com, Katiyar, Pooja,
akuchynski@chromium.org, jthies@google.com, johan@kernel.org,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
You're right, it should. The bug was introduced in af8622f6a585, which has
been around since v5.2, so I'll add:
Fixes: af8622f6a585 ("usb: typec: ucsi: Support for DisplayPort alt mode")
Cc: stable@vger.kernel.org
I'll send a v2 with these tags added.
Thanks,
Madhu M
-----Original Message-----
From: Greg KH <gregkh@linuxfoundation.org>
Sent: 19 June 2026 20:10
To: M, Madhu <madhu.m@intel.com>
Cc: heikki.krogerus@linux.intel.com; Katiyar, Pooja <pooja.katiyar@intel.com>; akuchynski@chromium.org; jthies@google.com; johan@kernel.org; linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] usb: typec: ucsi: Pass full DP config payload in SET_NEW_CAM for DP alt mode
On Fri, Jun 19, 2026 at 08:33:29PM +0530, madhu.m@intel.com wrote:
> From: Madhu M <madhu.m@intel.com>
>
> In the UCSI Specification Revision 3.1 RC1, bits 32-63 of the
> SET_NEW_CAM command hold the 32-bit Alternate Mode Specific (AMSpecific) field.
>
> For DisplayPort Alternate Mode, this field must contain the full
> 32-bit DisplayPort configuration VDO payload that the OPM wants the
> connector to operate in, rather than just the pin assignment value.
> This AMSpecific value follows the DisplayPort Configurations defined
> in the DisplayPort Alt Mode on USB Type-C Specification v2.1a, Table
> 5-13: SOP DisplayPort Configurations.
>
> Signed-off-by: Madhu M <madhu.m@intel.com>
> Reviewed-by: Jameson Thies <jthies@google.com>
> Reviewed-by: Andrei Kuchynski <akuchynski@chromium.org>
> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
> drivers/usb/typec/ucsi/displayport.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/usb/typec/ucsi/displayport.c
> b/drivers/usb/typec/ucsi/displayport.c
> index 67a0991a7b76..2e3d7c734d9f 100644
> --- a/drivers/usb/typec/ucsi/displayport.c
> +++ b/drivers/usb/typec/ucsi/displayport.c
> @@ -185,13 +185,12 @@ static int ucsi_displayport_status_update(struct
> ucsi_dp *dp)
>
> static int ucsi_displayport_configure(struct ucsi_dp *dp) {
> - u32 pins = DP_CONF_GET_PIN_ASSIGN(dp->data.conf);
> u64 command;
>
> if (!dp->override)
> return 0;
>
> - command = UCSI_CMD_SET_NEW_CAM(dp->con->num, 1, dp->offset, pins);
> + command = UCSI_CMD_SET_NEW_CAM(dp->con->num, 1, dp->offset,
> +dp->data.conf);
>
> return ucsi_send_command(dp->con->ucsi, command, NULL, 0); }
> --
> 2.34.1
>
>
SHouldn't this have a Fixes: and cc: stable tag?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-06-19 14:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-19 15:03 [PATCH v1] usb: typec: ucsi: Pass full DP config payload in SET_NEW_CAM for DP alt mode madhu.m
2026-06-19 14:39 ` Greg KH
2026-06-19 14:51 ` M, Madhu
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.