usb: typec: ucsi: Workaround for missed op_mode change
authorK V, Abhilash <abhilash.k.v@intel.com>
Thu, 23 Apr 2020 13:20:54 +0000 (16:20 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Apr 2020 13:33:33 +0000 (15:33 +0200)
commita0d4618788f26bd6f31f80a00f922f1c4bc66457
tree15c798ce16377195a8a13e22d0f6a2831b893cbe
parent91813ef8da12fad01ee4aadd173504feefe60293
usb: typec: ucsi: Workaround for missed op_mode change

EC firmware on Dell XPS & Latitude series does not set "Power Operation
Mode Change" bit in "Connector Status change" field of MESSAGE IN Data
while transitioning from type-C current to PD mode.

Instead the "Negotiated Power Level Change" bit is set when the "Power
Operation Mode" field shows the correct mode (i.e. PD).

This patch adds a check for this bit also, to trigger an update of
power operation mode in class driver, while handling GET_CONNECTOR_STATUS
command.

Signed-off-by: K V, Abhilash <abhilash.k.v@intel.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20200423132058.6972-3-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi.c