Message ID | 20200511091837.102508-1-pmalani@chromium.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | 5c4edcdbcd97fb3fb657898d0463afb84e4fbbb3 |
Headers | show |
Series | [v3] usb: typec: mux: intel: Fix DP_HPD_LVL bit field | expand |
On Mon, May 11, 2020 at 02:18:34AM -0700, Prashant Malani wrote: > 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: Prashant Malani <pmalani@chromium.org> > Fixes: 6701adfa9693 ("usb: typec: driver for Intel PMC mux control") > Reviewed-by: Benson Leung <bleung@chromium.org> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > > Changes in v3: > - Fixed sorting of the bit field after modification. > > Changes in v2: > - Fixed bit error in commit message. > > drivers/usb/typec/mux/intel_pmc_mux.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/typec/mux/intel_pmc_mux.c b/drivers/usb/typec/mux/intel_pmc_mux.c > index 67c5139cfa0d..c22e5c4bbf1a 100644 > --- a/drivers/usb/typec/mux/intel_pmc_mux.c > +++ b/drivers/usb/typec/mux/intel_pmc_mux.c > @@ -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)); > } > -- > 2.26.2.645.ge9eca65c58-goog
diff --git a/drivers/usb/typec/mux/intel_pmc_mux.c b/drivers/usb/typec/mux/intel_pmc_mux.c index 67c5139cfa0d..c22e5c4bbf1a 100644 --- a/drivers/usb/typec/mux/intel_pmc_mux.c +++ b/drivers/usb/typec/mux/intel_pmc_mux.c @@ -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)); }