Re: [PATCH v3] usb: typec: mux: intel: Fix DP_HPD_LVL bit field

From: Heikki Krogerus
Date: Mon May 11 2020 - 06:19:40 EST


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@xxxxxxxxxxxx>
> Fixes: 6701adfa9693 ("usb: typec: driver for Intel PMC mux control")
> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx>

Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> ---
>
> 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

--
heikki