linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] TypeC Connector Class driver improvements
@ 2020-07-30 22:52 Azhar Shaikh
  2020-07-30 22:52 ` [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role() Azhar Shaikh
  2020-07-30 22:52 ` [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect Azhar Shaikh
  0 siblings, 2 replies; 12+ messages in thread
From: Azhar Shaikh @ 2020-07-30 22:52 UTC (permalink / raw)
  To: bleung, enric.balletbo, groeck, pmalani, linux-kernel
  Cc: heikki.krogerus, azhar.shaikh, utkarsh.h.patel, casey.g.bowman,
	rajmohan.mani

Changes in v2:
* Patch 1: "platform/chrome: cros_ec_typec: Send enum values to
            usb_role_switch_set_role()"
  * Update the commit message to change 'USB_ROLE_HOST in case of
    UFP.'  to 'USB_ROLE_HOST in case of DFP.'

* Patch 2: "platform/chrome: cros_ec_typec: Avoid setting usb role twice
            during disconnect"
  * New patch added.

Azhar Shaikh (2):
  platform/chrome: cros_ec_typec: Send enum values to
    usb_role_switch_set_role()
  platform/chrome: cros_ec_typec: Avoid setting usb role twice during
    disconnect

 drivers/platform/chrome/cros_ec_typec.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 22:52 [PATCH v2 0/2] TypeC Connector Class driver improvements Azhar Shaikh
@ 2020-07-30 22:52 ` Azhar Shaikh
  2020-07-31 13:33   ` Heikki Krogerus
  2020-07-30 22:52 ` [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect Azhar Shaikh
  1 sibling, 1 reply; 12+ messages in thread
From: Azhar Shaikh @ 2020-07-30 22:52 UTC (permalink / raw)
  To: bleung, enric.balletbo, groeck, pmalani, linux-kernel
  Cc: heikki.krogerus, azhar.shaikh, utkarsh.h.patel, casey.g.bowman,
	rajmohan.mani

usb_role_switch_set_role() has the second argument as enum for usb_role.
Currently depending upon the data role i.e. UFP(0) or DFP(1) is sent.
This eventually translates to USB_ROLE_NONE in case of UFP and
USB_ROLE_DEVICE in case of DFP. Correct this by sending correct enum
values as USB_ROLE_DEVICE in case of UFP and USB_ROLE_HOST in case of
DFP.

Fixes: 7e7def15fa4b ("platform/chrome: cros_ec_typec: Add USB mux control")

Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
Cc: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Prashant Malani <pmalani@chromium.org>
---
 drivers/platform/chrome/cros_ec_typec.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index 3eae01f4c9f7..eb4713b7ae14 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -590,7 +590,8 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
 		dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
 
 	return usb_role_switch_set_role(typec->ports[port_num]->role_sw,
-					!!(resp.role & PD_CTRL_RESP_ROLE_DATA));
+				       resp.role & PD_CTRL_RESP_ROLE_DATA
+				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
 }
 
 static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect
  2020-07-30 22:52 [PATCH v2 0/2] TypeC Connector Class driver improvements Azhar Shaikh
  2020-07-30 22:52 ` [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role() Azhar Shaikh
@ 2020-07-30 22:52 ` Azhar Shaikh
  2020-07-31 13:36   ` Heikki Krogerus
  1 sibling, 1 reply; 12+ messages in thread
From: Azhar Shaikh @ 2020-07-30 22:52 UTC (permalink / raw)
  To: bleung, enric.balletbo, groeck, pmalani, linux-kernel
  Cc: heikki.krogerus, azhar.shaikh, utkarsh.h.patel, casey.g.bowman,
	rajmohan.mani

On disconnect port partner is removed and usb role is set to NONE.
But then in cros_typec_port_update() the role is set again.
Avoid this by moving usb_role_switch_set_role() to
cros_typec_configure_mux().

Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
Suggested-by: Prashant Malani <pmalani@chromium.org>
---
 drivers/platform/chrome/cros_ec_typec.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index eb4713b7ae14..df97431b2275 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -515,6 +515,12 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
 	if (ret)
 		return ret;
 
+	ret = usb_role_switch_set_role(typec->ports[port_num]->role_sw,
+				       pd_ctrl->role & PD_CTRL_RESP_ROLE_DATA
+				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
+	if (ret)
+		return ret;
+
 	if (mux_flags & USB_PD_MUX_TBT_COMPAT_ENABLED) {
 		ret = cros_typec_enable_tbt(typec, port_num, pd_ctrl);
 	} else if (mux_flags & USB_PD_MUX_DP_ENABLED) {
@@ -589,9 +595,7 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
 	if (ret)
 		dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
 
-	return usb_role_switch_set_role(typec->ports[port_num]->role_sw,
-				       resp.role & PD_CTRL_RESP_ROLE_DATA
-				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
+	return ret;
 }
 
 static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 22:52 ` [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role() Azhar Shaikh
@ 2020-07-31 13:33   ` Heikki Krogerus
  0 siblings, 0 replies; 12+ messages in thread
From: Heikki Krogerus @ 2020-07-31 13:33 UTC (permalink / raw)
  To: Azhar Shaikh
  Cc: bleung, enric.balletbo, groeck, pmalani, linux-kernel,
	utkarsh.h.patel, casey.g.bowman, rajmohan.mani

On Thu, Jul 30, 2020 at 03:52:56PM -0700, Azhar Shaikh wrote:
> usb_role_switch_set_role() has the second argument as enum for usb_role.
> Currently depending upon the data role i.e. UFP(0) or DFP(1) is sent.
> This eventually translates to USB_ROLE_NONE in case of UFP and
> USB_ROLE_DEVICE in case of DFP. Correct this by sending correct enum
> values as USB_ROLE_DEVICE in case of UFP and USB_ROLE_HOST in case of
> DFP.
> 
> Fixes: 7e7def15fa4b ("platform/chrome: cros_ec_typec: Add USB mux control")
> 
> Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
> Cc: Prashant Malani <pmalani@chromium.org>
> Reviewed-by: Prashant Malani <pmalani@chromium.org>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
>  drivers/platform/chrome/cros_ec_typec.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> index 3eae01f4c9f7..eb4713b7ae14 100644
> --- a/drivers/platform/chrome/cros_ec_typec.c
> +++ b/drivers/platform/chrome/cros_ec_typec.c
> @@ -590,7 +590,8 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
>  		dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
>  
>  	return usb_role_switch_set_role(typec->ports[port_num]->role_sw,
> -					!!(resp.role & PD_CTRL_RESP_ROLE_DATA));
> +				       resp.role & PD_CTRL_RESP_ROLE_DATA
> +				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
>  }
>  
>  static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
> -- 
> 2.17.1

-- 
heikki

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect
  2020-07-30 22:52 ` [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect Azhar Shaikh
@ 2020-07-31 13:36   ` Heikki Krogerus
  2020-08-03 15:57     ` Shaikh, Azhar
  0 siblings, 1 reply; 12+ messages in thread
From: Heikki Krogerus @ 2020-07-31 13:36 UTC (permalink / raw)
  To: Azhar Shaikh
  Cc: bleung, enric.balletbo, groeck, pmalani, linux-kernel,
	utkarsh.h.patel, casey.g.bowman, rajmohan.mani

Hi,

I guess this is was supposed to be PATCH v2 2/2, right?

On Thu, Jul 30, 2020 at 03:52:57PM -0700, Azhar Shaikh wrote:
> On disconnect port partner is removed and usb role is set to NONE.
> But then in cros_typec_port_update() the role is set again.
> Avoid this by moving usb_role_switch_set_role() to
> cros_typec_configure_mux().
> 
> Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
> Suggested-by: Prashant Malani <pmalani@chromium.org>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
>  drivers/platform/chrome/cros_ec_typec.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> index eb4713b7ae14..df97431b2275 100644
> --- a/drivers/platform/chrome/cros_ec_typec.c
> +++ b/drivers/platform/chrome/cros_ec_typec.c
> @@ -515,6 +515,12 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
>  	if (ret)
>  		return ret;
>  
> +	ret = usb_role_switch_set_role(typec->ports[port_num]->role_sw,
> +				       pd_ctrl->role & PD_CTRL_RESP_ROLE_DATA
> +				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
> +	if (ret)
> +		return ret;
> +
>  	if (mux_flags & USB_PD_MUX_TBT_COMPAT_ENABLED) {
>  		ret = cros_typec_enable_tbt(typec, port_num, pd_ctrl);
>  	} else if (mux_flags & USB_PD_MUX_DP_ENABLED) {
> @@ -589,9 +595,7 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
>  	if (ret)
>  		dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
>  
> -	return usb_role_switch_set_role(typec->ports[port_num]->role_sw,
> -				       resp.role & PD_CTRL_RESP_ROLE_DATA
> -				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
> +	return ret;
>  }
>  
>  static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
> -- 
> 2.17.1

thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect
  2020-07-31 13:36   ` Heikki Krogerus
@ 2020-08-03 15:57     ` Shaikh, Azhar
  0 siblings, 0 replies; 12+ messages in thread
From: Shaikh, Azhar @ 2020-08-03 15:57 UTC (permalink / raw)
  To: Heikki Krogerus
  Cc: bleung, enric.balletbo, groeck, pmalani, linux-kernel, Patel,
	Utkarsh H, Bowman, Casey G, Mani, Rajmohan

Hi,

> -----Original Message-----
> From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Sent: Friday, July 31, 2020 6:37 AM
> To: Shaikh, Azhar <azhar.shaikh@intel.com>
> Cc: bleung@chromium.org; enric.balletbo@collabora.com;
> groeck@chromium.org; pmalani@chromium.org; linux-
> kernel@vger.kernel.org; Patel, Utkarsh H <utkarsh.h.patel@intel.com>;
> Bowman, Casey G <casey.g.bowman@intel.com>; Mani, Rajmohan
> <rajmohan.mani@intel.com>
> Subject: Re: [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb
> role twice during disconnect
> 
> Hi,
> 
> I guess this is was supposed to be PATCH v2 2/2, right?
> 

That is correct.

> On Thu, Jul 30, 2020 at 03:52:57PM -0700, Azhar Shaikh wrote:
> > On disconnect port partner is removed and usb role is set to NONE.
> > But then in cros_typec_port_update() the role is set again.
> > Avoid this by moving usb_role_switch_set_role() to
> > cros_typec_configure_mux().
> >
> > Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
> > Suggested-by: Prashant Malani <pmalani@chromium.org>
> 
> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> 
> > ---
> >  drivers/platform/chrome/cros_ec_typec.c | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/platform/chrome/cros_ec_typec.c
> > b/drivers/platform/chrome/cros_ec_typec.c
> > index eb4713b7ae14..df97431b2275 100644
> > --- a/drivers/platform/chrome/cros_ec_typec.c
> > +++ b/drivers/platform/chrome/cros_ec_typec.c
> > @@ -515,6 +515,12 @@ static int cros_typec_configure_mux(struct
> cros_typec_data *typec, int port_num,
> >  	if (ret)
> >  		return ret;
> >
> > +	ret = usb_role_switch_set_role(typec->ports[port_num]->role_sw,
> > +				       pd_ctrl->role &
> PD_CTRL_RESP_ROLE_DATA
> > +				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
> > +	if (ret)
> > +		return ret;
> > +
> >  	if (mux_flags & USB_PD_MUX_TBT_COMPAT_ENABLED) {
> >  		ret = cros_typec_enable_tbt(typec, port_num, pd_ctrl);
> >  	} else if (mux_flags & USB_PD_MUX_DP_ENABLED) { @@ -589,9
> +595,7 @@
> > static int cros_typec_port_update(struct cros_typec_data *typec, int
> port_num)
> >  	if (ret)
> >  		dev_warn(typec->dev, "Configure muxes failed, err = %d\n",
> ret);
> >
> > -	return usb_role_switch_set_role(typec->ports[port_num]-
> >role_sw,
> > -				       resp.role & PD_CTRL_RESP_ROLE_DATA
> > -				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
> > +	return ret;
> >  }
> >
> >  static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
> > --
> > 2.17.1
> 
> thanks,
> 
> --
> heikki

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 23:14         ` Shaikh, Azhar
@ 2020-07-30 23:18           ` Prashant Malani
  0 siblings, 0 replies; 12+ messages in thread
From: Prashant Malani @ 2020-07-30 23:18 UTC (permalink / raw)
  To: Shaikh, Azhar
  Cc: bleung, enric.balletbo, groeck, linux-kernel, heikki.krogerus,
	Patel, Utkarsh H, Bowman, Casey G, Mani, Rajmohan

On Thu, Jul 30, 2020 at 11:14:39PM +0000, Shaikh, Azhar wrote:
> 
> 
> > -----Original Message-----
> > From: Prashant Malani <pmalani@chromium.org>
> > Sent: Thursday, July 30, 2020 4:05 PM
> > To: Shaikh, Azhar <azhar.shaikh@intel.com>
> > Cc: bleung@chromium.org; enric.balletbo@collabora.com;
> > groeck@chromium.org; linux-kernel@vger.kernel.org;
> > heikki.krogerus@linux.intel.com; Patel, Utkarsh H
> > <utkarsh.h.patel@intel.com>; Bowman, Casey G
> > <casey.g.bowman@intel.com>; Mani, Rajmohan
> > <rajmohan.mani@intel.com>
> > Subject: Re: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum
> > values to usb_role_switch_set_role()
> > 
> > 
> > On Thu, Jul 30, 2020 at 11:02:28PM +0000, Shaikh, Azhar wrote:
> > > Hi Prashant,
> > >
> > > >
> > > > Please add the list of changes in each version after the "---" line.
> > >
> > > I have added those in the cover letter.
> > > >
> > It is good practice to add these to the individual change too, so that the
> > reader doesn't have to go back to the cover letter to determine what has
> > changed in each patch.
> 
> So are you suggesting to move it from cover letter to individual patches?
> But then isn't the same thing what cover letter is for?

No, I'm suggesting you keep it both places. Each patch should have a
change log documenting what has changed in the various versions.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 23:04       ` Prashant Malani
@ 2020-07-30 23:14         ` Shaikh, Azhar
  2020-07-30 23:18           ` Prashant Malani
  0 siblings, 1 reply; 12+ messages in thread
From: Shaikh, Azhar @ 2020-07-30 23:14 UTC (permalink / raw)
  To: Prashant Malani
  Cc: bleung, enric.balletbo, groeck, linux-kernel, heikki.krogerus,
	Patel, Utkarsh H, Bowman, Casey G, Mani, Rajmohan



> -----Original Message-----
> From: Prashant Malani <pmalani@chromium.org>
> Sent: Thursday, July 30, 2020 4:05 PM
> To: Shaikh, Azhar <azhar.shaikh@intel.com>
> Cc: bleung@chromium.org; enric.balletbo@collabora.com;
> groeck@chromium.org; linux-kernel@vger.kernel.org;
> heikki.krogerus@linux.intel.com; Patel, Utkarsh H
> <utkarsh.h.patel@intel.com>; Bowman, Casey G
> <casey.g.bowman@intel.com>; Mani, Rajmohan
> <rajmohan.mani@intel.com>
> Subject: Re: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum
> values to usb_role_switch_set_role()
> 
> 
> On Thu, Jul 30, 2020 at 11:02:28PM +0000, Shaikh, Azhar wrote:
> > Hi Prashant,
> >
> > >
> > > Please add the list of changes in each version after the "---" line.
> >
> > I have added those in the cover letter.
> > >
> It is good practice to add these to the individual change too, so that the
> reader doesn't have to go back to the cover letter to determine what has
> changed in each patch.

So are you suggesting to move it from cover letter to individual patches?
But then isn't the same thing what cover letter is for?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 23:02     ` Shaikh, Azhar
@ 2020-07-30 23:04       ` Prashant Malani
  2020-07-30 23:14         ` Shaikh, Azhar
  0 siblings, 1 reply; 12+ messages in thread
From: Prashant Malani @ 2020-07-30 23:04 UTC (permalink / raw)
  To: Shaikh, Azhar
  Cc: bleung, enric.balletbo, groeck, linux-kernel, heikki.krogerus,
	Patel, Utkarsh H, Bowman, Casey G, Mani, Rajmohan


On Thu, Jul 30, 2020 at 11:02:28PM +0000, Shaikh, Azhar wrote:
> Hi Prashant,
> 
> > 
> > Please add the list of changes in each version after the "---" line.
> 
> I have added those in the cover letter.
> > 
It is good practice to add these to the individual change too, so that
the reader doesn't have to go back to the cover letter to determine
what has changed in each patch.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 22:59   ` Prashant Malani
@ 2020-07-30 23:02     ` Shaikh, Azhar
  2020-07-30 23:04       ` Prashant Malani
  0 siblings, 1 reply; 12+ messages in thread
From: Shaikh, Azhar @ 2020-07-30 23:02 UTC (permalink / raw)
  To: Prashant Malani
  Cc: bleung, enric.balletbo, groeck, linux-kernel, heikki.krogerus,
	Patel, Utkarsh H, Bowman, Casey G, Mani, Rajmohan

Hi Prashant,


> -----Original Message-----
> From: Prashant Malani <pmalani@chromium.org>
> Sent: Thursday, July 30, 2020 3:59 PM
> To: Shaikh, Azhar <azhar.shaikh@intel.com>
> Cc: bleung@chromium.org; enric.balletbo@collabora.com;
> groeck@chromium.org; linux-kernel@vger.kernel.org;
> heikki.krogerus@linux.intel.com; Patel, Utkarsh H
> <utkarsh.h.patel@intel.com>; Bowman, Casey G
> <casey.g.bowman@intel.com>; Mani, Rajmohan
> <rajmohan.mani@intel.com>
> Subject: Re: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum
> values to usb_role_switch_set_role()
> 
> Hi Azhar,
> 
> On Thu, Jul 30, 2020 at 03:56:08PM -0700, Azhar Shaikh wrote:
> > usb_role_switch_set_role() has the second argument as enum for
> usb_role.
> > Currently depending upon the data role i.e. UFP(0) or DFP(1) is sent.
> > This eventually translates to USB_ROLE_NONE in case of UFP and
> > USB_ROLE_DEVICE in case of DFP. Correct this by sending correct enum
> > values as USB_ROLE_DEVICE in case of UFP and USB_ROLE_HOST in case of
> > DFP.
> >
> > Fixes: 7e7def15fa4b ("platform/chrome: cros_ec_typec: Add USB mux
> > control")
> >
> > Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
> > Cc: Prashant Malani <pmalani@chromium.org>
> > Reviewed-by: Prashant Malani <pmalani@chromium.org>
> > ---
> 
> Please add the list of changes in each version after the "---" line.

I have added those in the cover letter.
> 
> >  drivers/platform/chrome/cros_ec_typec.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/platform/chrome/cros_ec_typec.c
> > b/drivers/platform/chrome/cros_ec_typec.c
> > index 3eae01f4c9f7..eb4713b7ae14 100644
> > --- a/drivers/platform/chrome/cros_ec_typec.c
> > +++ b/drivers/platform/chrome/cros_ec_typec.c
> > @@ -590,7 +590,8 @@ static int cros_typec_port_update(struct
> cros_typec_data *typec, int port_num)
> >  		dev_warn(typec->dev, "Configure muxes failed, err = %d\n",
> ret);
> >
> >  	return usb_role_switch_set_role(typec->ports[port_num]-
> >role_sw,
> > -					!!(resp.role &
> PD_CTRL_RESP_ROLE_DATA));
> > +				       resp.role & PD_CTRL_RESP_ROLE_DATA
> > +				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
> >  }
> >
> >  static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
> > --
> > 2.17.1
> >

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 22:56 ` [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role() Azhar Shaikh
@ 2020-07-30 22:59   ` Prashant Malani
  2020-07-30 23:02     ` Shaikh, Azhar
  0 siblings, 1 reply; 12+ messages in thread
From: Prashant Malani @ 2020-07-30 22:59 UTC (permalink / raw)
  To: Azhar Shaikh
  Cc: bleung, enric.balletbo, groeck, linux-kernel, heikki.krogerus,
	utkarsh.h.patel, casey.g.bowman, rajmohan.mani

Hi Azhar,

On Thu, Jul 30, 2020 at 03:56:08PM -0700, Azhar Shaikh wrote:
> usb_role_switch_set_role() has the second argument as enum for usb_role.
> Currently depending upon the data role i.e. UFP(0) or DFP(1) is sent.
> This eventually translates to USB_ROLE_NONE in case of UFP and
> USB_ROLE_DEVICE in case of DFP. Correct this by sending correct enum
> values as USB_ROLE_DEVICE in case of UFP and USB_ROLE_HOST in case of
> DFP.
> 
> Fixes: 7e7def15fa4b ("platform/chrome: cros_ec_typec: Add USB mux control")
> 
> Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
> Cc: Prashant Malani <pmalani@chromium.org>
> Reviewed-by: Prashant Malani <pmalani@chromium.org>
> ---

Please add the list of changes in each version after the "---" line.

>  drivers/platform/chrome/cros_ec_typec.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> index 3eae01f4c9f7..eb4713b7ae14 100644
> --- a/drivers/platform/chrome/cros_ec_typec.c
> +++ b/drivers/platform/chrome/cros_ec_typec.c
> @@ -590,7 +590,8 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
>  		dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
>  
>  	return usb_role_switch_set_role(typec->ports[port_num]->role_sw,
> -					!!(resp.role & PD_CTRL_RESP_ROLE_DATA));
> +				       resp.role & PD_CTRL_RESP_ROLE_DATA
> +				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
>  }
>  
>  static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
  2020-07-30 22:56 [PATCH v2 0/2] TypeC Connector Class driver improvements Azhar Shaikh
@ 2020-07-30 22:56 ` Azhar Shaikh
  2020-07-30 22:59   ` Prashant Malani
  0 siblings, 1 reply; 12+ messages in thread
From: Azhar Shaikh @ 2020-07-30 22:56 UTC (permalink / raw)
  To: bleung, enric.balletbo, groeck, pmalani, linux-kernel
  Cc: heikki.krogerus, azhar.shaikh, utkarsh.h.patel, casey.g.bowman,
	rajmohan.mani

usb_role_switch_set_role() has the second argument as enum for usb_role.
Currently depending upon the data role i.e. UFP(0) or DFP(1) is sent.
This eventually translates to USB_ROLE_NONE in case of UFP and
USB_ROLE_DEVICE in case of DFP. Correct this by sending correct enum
values as USB_ROLE_DEVICE in case of UFP and USB_ROLE_HOST in case of
DFP.

Fixes: 7e7def15fa4b ("platform/chrome: cros_ec_typec: Add USB mux control")

Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
Cc: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Prashant Malani <pmalani@chromium.org>
---
 drivers/platform/chrome/cros_ec_typec.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index 3eae01f4c9f7..eb4713b7ae14 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -590,7 +590,8 @@ static int cros_typec_port_update(struct cros_typec_data *typec, int port_num)
 		dev_warn(typec->dev, "Configure muxes failed, err = %d\n", ret);
 
 	return usb_role_switch_set_role(typec->ports[port_num]->role_sw,
-					!!(resp.role & PD_CTRL_RESP_ROLE_DATA));
+				       resp.role & PD_CTRL_RESP_ROLE_DATA
+				       ? USB_ROLE_HOST : USB_ROLE_DEVICE);
 }
 
 static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-08-03 15:57 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-30 22:52 [PATCH v2 0/2] TypeC Connector Class driver improvements Azhar Shaikh
2020-07-30 22:52 ` [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role() Azhar Shaikh
2020-07-31 13:33   ` Heikki Krogerus
2020-07-30 22:52 ` [PATCH] platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect Azhar Shaikh
2020-07-31 13:36   ` Heikki Krogerus
2020-08-03 15:57     ` Shaikh, Azhar
2020-07-30 22:56 [PATCH v2 0/2] TypeC Connector Class driver improvements Azhar Shaikh
2020-07-30 22:56 ` [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role() Azhar Shaikh
2020-07-30 22:59   ` Prashant Malani
2020-07-30 23:02     ` Shaikh, Azhar
2020-07-30 23:04       ` Prashant Malani
2020-07-30 23:14         ` Shaikh, Azhar
2020-07-30 23:18           ` Prashant Malani

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).