2020-01-20 10:54:30

by Tom Hebb

[permalink] [raw]
Subject: [PATCH] usb: typec: fix "op-sink-microwatt" defaults that were in mW

commit 8f6244055bd3 ("usb: typec: fusb302: Always provide fwnode for the
port") and commit 4c912bff46cc ("usb: typec: wcove: Provide fwnode for
the port") converted a legacy TCPM platdata structure to a more generic
format. However, one field, denoting required sink power, was specified
in mW in the old format but uW in the new format. The migration failed
to account for this, meaning that the values are now 1000x too small.

Correct the issue by converting the values to uW.

Signed-off-by: Thomas Hebb <[email protected]>

---

drivers/usb/typec/tcpm/fusb302.c | 2 +-
drivers/usb/typec/tcpm/wcove.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
index ed8655c6af8c..b498960ff72b 100644
--- a/drivers/usb/typec/tcpm/fusb302.c
+++ b/drivers/usb/typec/tcpm/fusb302.c
@@ -1666,7 +1666,7 @@ static const struct property_entry port_props[] = {
PROPERTY_ENTRY_STRING("try-power-role", "sink"),
PROPERTY_ENTRY_U32_ARRAY("source-pdos", src_pdo),
PROPERTY_ENTRY_U32_ARRAY("sink-pdos", snk_pdo),
- PROPERTY_ENTRY_U32("op-sink-microwatt", 2500),
+ PROPERTY_ENTRY_U32("op-sink-microwatt", 2500000),
{ }
};

diff --git a/drivers/usb/typec/tcpm/wcove.c b/drivers/usb/typec/tcpm/wcove.c
index edc271da14f4..9b745f432c91 100644
--- a/drivers/usb/typec/tcpm/wcove.c
+++ b/drivers/usb/typec/tcpm/wcove.c
@@ -597,7 +597,7 @@ static const struct property_entry wcove_props[] = {
PROPERTY_ENTRY_STRING("try-power-role", "sink"),
PROPERTY_ENTRY_U32_ARRAY("source-pdos", src_pdo),
PROPERTY_ENTRY_U32_ARRAY("sink-pdos", snk_pdo),
- PROPERTY_ENTRY_U32("op-sink-microwatt", 15000),
+ PROPERTY_ENTRY_U32("op-sink-microwatt", 15000000),
{ }
};

--
2.24.1


2020-01-20 11:09:07

by Heikki Krogerus

[permalink] [raw]
Subject: Re: [PATCH] usb: typec: fix "op-sink-microwatt" defaults that were in mW

Hi Thomas,

On Mon, Jan 20, 2020 at 02:53:16AM -0800, Thomas Hebb wrote:
> commit 8f6244055bd3 ("usb: typec: fusb302: Always provide fwnode for the
> port") and commit 4c912bff46cc ("usb: typec: wcove: Provide fwnode for
> the port") converted a legacy TCPM platdata structure to a more generic
> format. However, one field, denoting required sink power, was specified
> in mW in the old format but uW in the new format. The migration failed
> to account for this, meaning that the values are now 1000x too small.
>
> Correct the issue by converting the values to uW.
>
> Signed-off-by: Thomas Hebb <[email protected]>

Thanks for catching this.

You should split this in two, one patch for each driver, and those
should have proper "Fixes:" tags.

I think those should also go to the stable trees, so you'll also need
the stable tag (Cc: [email protected]).

> ---
>
> drivers/usb/typec/tcpm/fusb302.c | 2 +-
> drivers/usb/typec/tcpm/wcove.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
> index ed8655c6af8c..b498960ff72b 100644
> --- a/drivers/usb/typec/tcpm/fusb302.c
> +++ b/drivers/usb/typec/tcpm/fusb302.c
> @@ -1666,7 +1666,7 @@ static const struct property_entry port_props[] = {
> PROPERTY_ENTRY_STRING("try-power-role", "sink"),
> PROPERTY_ENTRY_U32_ARRAY("source-pdos", src_pdo),
> PROPERTY_ENTRY_U32_ARRAY("sink-pdos", snk_pdo),
> - PROPERTY_ENTRY_U32("op-sink-microwatt", 2500),
> + PROPERTY_ENTRY_U32("op-sink-microwatt", 2500000),
> { }
> };
>
> diff --git a/drivers/usb/typec/tcpm/wcove.c b/drivers/usb/typec/tcpm/wcove.c
> index edc271da14f4..9b745f432c91 100644
> --- a/drivers/usb/typec/tcpm/wcove.c
> +++ b/drivers/usb/typec/tcpm/wcove.c
> @@ -597,7 +597,7 @@ static const struct property_entry wcove_props[] = {
> PROPERTY_ENTRY_STRING("try-power-role", "sink"),
> PROPERTY_ENTRY_U32_ARRAY("source-pdos", src_pdo),
> PROPERTY_ENTRY_U32_ARRAY("sink-pdos", snk_pdo),
> - PROPERTY_ENTRY_U32("op-sink-microwatt", 15000),
> + PROPERTY_ENTRY_U32("op-sink-microwatt", 15000000),
> { }
> };
>
> --
> 2.24.1

thanks,

--
heikki