Commit 5821bf2d authored by Diogo Ivo's avatar Diogo Ivo Committed by Greg Kroah-Hartman
Browse files

usb: typec: ucsi: Enable UCSI v2.0 notifications



UCSI version 2.0 and above define new PPM notifications. Update the
logic to determine which notifications to enable taking into account
these changes.

Signed-off-by: default avatarDiogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240524105837.15342-3-diogo.ivo@tecnico.ulisboa.pt


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4207df37
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -1672,7 +1672,7 @@ static int ucsi_register_port(struct ucsi *ucsi, struct ucsi_connector *con)

static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
{
	u8 features = ucsi->cap.features;
	u16 features = ucsi->cap.features;
	u64 ntfy = UCSI_ENABLE_NTFY_ALL;

	if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
@@ -1688,6 +1688,23 @@ static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
	if (!(features & UCSI_CAP_PD_RESET))
		ntfy &= ~UCSI_ENABLE_NTFY_PD_RESET_COMPLETE;

	if (ucsi->version <= UCSI_VERSION_1_2)
		return ntfy;

	ntfy |= UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE;

	if (features & UCSI_CAP_GET_ATTENTION_VDO)
		ntfy |= UCSI_ENABLE_NTFY_ATTENTION;

	if (features & UCSI_CAP_FW_UPDATE_REQUEST)
		ntfy |= UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ;

	if (features & UCSI_CAP_SECURITY_REQUEST)
		ntfy |= UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER;

	if (features & UCSI_CAP_SET_RETIMER_MODE)
		ntfy |= UCSI_ENABLE_NTFY_SET_RETIMER_MODE;

	return ntfy;
}