Commit 5c4edcdb authored by Prashant Malani's avatar Prashant Malani Committed by Greg Kroah-Hartman
Browse files

usb: typec: mux: intel: Fix DP_HPD_LVL bit field



According to the PMC Type C Subsystem (TCSS) Mux programming guide rev
0.6, the PMC HPD request LVL bit field is bit 4.
Fix the definition here to match the programming guide.

Since this bit field is changing, explicitly define a field for the
HPD_HIGH mode data bit.

Signed-off-by: default avatarPrashant Malani <pmalani@chromium.org>
Fixes: 6701adfa ("usb: typec: driver for Intel PMC mux control")
Reviewed-by: default avatarBenson Leung <bleung@chromium.org>
Acked-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20200511091837.102508-1-pmalani@chromium.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c34a4f9d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ enum {
#define PMC_USB_ALTMODE_DP_MODE_SHIFT	8

/* TBT specific Mode Data bits */
#define PMC_USB_ALTMODE_HPD_HIGH	BIT(14)
#define PMC_USB_ALTMODE_TBT_TYPE	BIT(17)
#define PMC_USB_ALTMODE_CABLE_TYPE	BIT(18)
#define PMC_USB_ALTMODE_ACTIVE_LINK	BIT(20)
@@ -74,8 +75,8 @@ enum {
#define PMC_USB_ALTMODE_TBT_GEN(_g_)	(((_g_) & GENMASK(1, 0)) << 28)

/* Display HPD Request bits */
#define PMC_USB_DP_HPD_LVL		BIT(4)
#define PMC_USB_DP_HPD_IRQ		BIT(5)
#define PMC_USB_DP_HPD_LVL		BIT(6)

struct pmc_usb;

@@ -158,8 +159,7 @@ pmc_usb_mux_dp(struct pmc_usb_port *port, struct typec_mux_state *state)
			 PMC_USB_ALTMODE_DP_MODE_SHIFT;

	if (data->status & DP_STATUS_HPD_STATE)
		req.mode_data |= PMC_USB_DP_HPD_LVL <<
				 PMC_USB_ALTMODE_DP_MODE_SHIFT;
		req.mode_data |= PMC_USB_ALTMODE_HPD_HIGH;

	return pmc_usb_command(port, (void *)&req, sizeof(req));
}