On Mon, Feb 25, 2019 at 01:56:37PM +0100, Hans de Goede wrote:
> If our port-partner supports both DP-only operation (pin-assignment C)
> and multi-func operation (pin-assignment D) and we only support
> pin-assignment D and the port-partner prefers DP-only mode, then
> before this commit we would and up masking out pin-assignment D from
> the available pin-assignments and fail to pick a pin-assignment.
> 
> Instead only mask out the multi-func pin-assignments if we support
> dp-only pin-assignments, so that we correctly fall-back to a multi-func
> pin-assignment in this case (by picking pin-assignment D).
> 
> Signed-off-by: Hans de Goede <hdego...@redhat.com>

Acked-by: Heikki Krogerus <heikki.kroge...@linux.intel.com>

> ---
>  drivers/usb/typec/altmodes/displayport.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/typec/altmodes/displayport.c 
> b/drivers/usb/typec/altmodes/displayport.c
> index 3f06e94771a7..35161594e368 100644
> --- a/drivers/usb/typec/altmodes/displayport.c
> +++ b/drivers/usb/typec/altmodes/displayport.c
> @@ -104,7 +104,7 @@ static int dp_altmode_configure(struct dp_altmode *dp, u8 
> con)
>               if (dp->data.status & DP_STATUS_PREFER_MULTI_FUNC &&
>                   pin_assign & DP_PIN_ASSIGN_MULTI_FUNC_MASK)
>                       pin_assign &= DP_PIN_ASSIGN_MULTI_FUNC_MASK;
> -             else
> +             else if (pin_assign & DP_PIN_ASSIGN_DP_ONLY_MASK)
>                       pin_assign &= DP_PIN_ASSIGN_DP_ONLY_MASK;
>  
>               if (!pin_assign)
> -- 
> 2.20.1

thanks,

-- 
heikki

Reply via email to