usb: typec: altmodes/displayport: Update active state
authorPrashant Malani <pmalani@chromium.org>
Fri, 20 Jan 2023 20:58:26 +0000 (20:58 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Jan 2023 17:15:43 +0000 (18:15 +0100)
Update the altmode "active" state when we receive Acks for Enter and
Exit Mode commands. Having the right state is necessary to change Pin
Assignments using the 'pin_assignment" sysfs file.

Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Link: https://lore.kernel.org/r/20230120205827.740900-1-pmalani@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/altmodes/displayport.c

index 746bfbf..20db514 100644 (file)
@@ -277,9 +277,11 @@ static int dp_altmode_vdm(struct typec_altmode *alt,
        case CMDT_RSP_ACK:
                switch (cmd) {
                case CMD_ENTER_MODE:
+                       typec_altmode_update_active(alt, true);
                        dp->state = DP_STATE_UPDATE;
                        break;
                case CMD_EXIT_MODE:
+                       typec_altmode_update_active(alt, false);
                        dp->data.status = 0;
                        dp->data.conf = 0;
                        break;