usb: typec: intel_pmc_mux: Support for device role (UFP)
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Mon, 7 Sep 2020 14:24:28 +0000 (17:24 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Sep 2020 15:07:52 +0000 (17:07 +0200)
commita5a6d2753e7ec18a34bd21190b50ee7f085f4daf
tree69a5646fafb3e8fd8defbdd337734c1ca3474cac
parent43d596e3227655b40272474a76e1bca878cb56b6
usb: typec: intel_pmc_mux: Support for device role (UFP)

This adds support for device data role, and data role
swapping. The driver no longer relies on the cached role, as
it may not be valid (for example after bootup). Instead, the
role is always checked by readding the port status from IOM.

Note. After this, the orientation is always only cached, so
the driver does not support scenario where the role is set
before orientation. It means the typec drivers must always
set the orientation first before role.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Rajmohan Mani <rajmohan.mani@intel.com>
Reviewed-by: Utkarsh Patel <utkarsh.h.patel@intel.com>
Tested-by: Utkarsh Patel <utkarsh.h.patel@intel.com>
Link: https://lore.kernel.org/r/20200907142428.35838-3-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/mux/intel_pmc_mux.c