All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
To: Martin Blumenstingl
	<martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
Cc: p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	Ben Dooks <ben.dooks-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	johnyoun-HKixBCOQz3hWk0Htik3J/w@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	kishon-l0cyMroinI0@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org,
	carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org,
	linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	jbrunet-rdvid1DuHRBWk0Htik3J/w@public.gmane.org
Subject: Re: [PATCH 4/7] phy: meson: add USB2 PHY support for Meson8b and GXBB
Date: Mon, 12 Sep 2016 10:32:44 -0700	[thread overview]
Message-ID: <7hpoo9qb0j.fsf@baylibre.com> (raw)
In-Reply-To: <CAFBinCDnMd0rtrvTMX-D_WNXHpVD8F=8Xn35jcK5jTUCre9ebA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> (Martin Blumenstingl's message of "Sun, 11 Sep 2016 15:44:03 +0200")

Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> writes:

> On Fri, Sep 9, 2016 at 10:36 PM, Martin Blumenstingl
> <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
>> On Fri, Sep 9, 2016 at 5:33 PM, Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org> wrote:
>>> Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> writes:
>>>
>>>> On Thu, Sep 8, 2016 at 10:53 PM, Ben Dooks <ben.dooks-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org> wrote:
>>>>> On 08/09/16 21:42, Kevin Hilman wrote:
>>>>>>
>>>>>> Ben Dooks <ben.dooks-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org> writes:
>>>>>>
>>>>>>> On 08/09/16 20:52, Martin Blumenstingl wrote:
>>>>>>>>
>>>>>>>> On Thu, Sep 8, 2016 at 9:35 PM, Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> +     phy = devm_phy_create(&pdev->dev, NULL, &phy_meson_usb2_ops);
>>>>>>>>>> +     if (IS_ERR(phy)) {
>>>>>>>>>> +             dev_err(&pdev->dev, "failed to create PHY\n");
>>>>>>>>>> +             return PTR_ERR(phy);
>>>>>>>>>> +     }
>>>>>>>>>> +
>>>>>>>>>> +     if (usb_reset_refcnt++ == 0) {
>>>>>>>>>> +             ret = device_reset(&pdev->dev);
>>>>>>>>>> +             if (ret) {
>>>>>>>>>> +                     dev_err(&phy->dev, "Failed to reset USB PHY\n");
>>>>>>>>>> +                     return ret;
>>>>>>>>>> +             }
>>>>>>>>>> +     }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The ref count + reset here looks like something that could/should be
>>>>>>>>> handled in a runtime PM callback.
>>>>>>>>
>>>>>>>> Unfortunately that doesn't work (as Jerome found out) because both
>>>>>>>> PHYs are sharing the same reset line.
>>>>>>>> So if the second PHY would call device_reset then it would also reset
>>>>>>>> the first PHY!
>>>>>>>>
>>>>>>>> There's a comment above the declaration of usb_reset_refcnt which
>>>>>>>> tries to explain this:
>>>>>>>> "The PHYs are sharing a common reset line -> we are only allowed to
>>>>>>>> reset once for all PHYs."
>>>>>>>> Maybe I should move this comment to the "if (usb_reset_refcnt++ == 0)
>>>>>>>> {" line to make it easier to see?
>>>>>>>>
>>>>>>>
>>>>>>> pm-runtime has refcounting in it. When one of the nodes turns on,
>>>>>>> the pm-runtime will call your driver to say there is a user when
>>>>>>> this first use turns up.
>>>>>>>
>>>>>>> If all the sub-phys turn off and drop their refcount then the driver
>>>>>>> is called to say there are no more users and you can go to sleep.
>>>>>>
>>>>>>
>>>>>> After a chat w/Martin on IRC, It turns out runtime PM wont help here.
>>>>>>
>>>>>> The reason is because there are physically two PHY devices[1].  Those 2
>>>>>> devices will be treated independely by runtime PM, and have separate
>>>>>> use-counting, which means doing what I proposed would cause a reset to
>>>>>> happen when either device was probed.
>>>>>>
>>>>>> So, I think it's OK as it is.
>>>>>
>>>>>
>>>>> Surely you can do pm_runtime_get/put on the phy's parent platform
>>>>> device and do it that way?
>>>> could you please be more specific with that (do you mean pdev->dev.parent)?
>>>> so we would use pm_runtime_{get_sync,put} with the parent, while we
>>>> would still define the runtime_resume in our driver.
>>>
>>> You'd also need to do get/put on the children, but yes, that's what Ben
>>> is suggesting.
>>>
>>> However, the problem with all of the solutions proposed (runtime PM ones
>>> included) is that we're forcing a board-specific design issue (2 devices
>>> sharing a reset line) into a driver that should not have any
>>> board-specific assumptions in it.
>>>
>>> For example, if this driver is used on another platform where different
>>> PHYs have different reset lines, then one of them (the unlucky one who
>>> is not probed first) will never get reset.  So any form of per-device
>>> ref-counting is not a portable solution.
>> indeed, so in simple words we would need something like
>> reset_control_do_once(rstc, RESET/ASSERT/DEASSERT) which would
>> remember internally if any action has already been executed: if not it
>> does a _reset, _assert or _deassert and otherwise it does nothing.
> for now I've implemented something less hacky: I made the reset
> optional and only specified it for phy0.

That's slightly better, but could misbehave if devices are probed/loaded
in different order?  But, that shouldn't be a blocker for the driver.

> During Jerome's tests the reset was not needed, while on my board it's
> required to bring both PHYs up.
> Additionally the USB PHY reference driver does not have any reset
> logic for newer SoCs (GXL), so making the reset optional doesn't sound
> that bad to me.

Agreed.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: p.zabel@pengutronix.de,  hdegoede@redhat.com,
	 Ben Dooks <ben.dooks@codethink.co.uk>,
	 mark.rutland@arm.com,  devicetree@vger.kernel.org,
	 gregkh@linuxfoundation.org,  johnyoun@synopsys.com,
	 will.deacon@arm.com,  mturquette@baylibre.com,
	 linux-usb@vger.kernel.org,  sboyd@codeaurora.org,
	 kishon@ti.com,  robh+dt@kernel.org,  catalin.marinas@arm.com,
	 carlo@caione.org,  linux-amlogic@lists.infradead.org,
	 linux-clk@vger.kernel.org,
	 linux-arm-kernel@lists.infradead.org,  jbrunet@baylibre.com
Subject: Re: [PATCH 4/7] phy: meson: add USB2 PHY support for Meson8b and GXBB
Date: Mon, 12 Sep 2016 10:32:44 -0700	[thread overview]
Message-ID: <7hpoo9qb0j.fsf@baylibre.com> (raw)
In-Reply-To: <CAFBinCDnMd0rtrvTMX-D_WNXHpVD8F=8Xn35jcK5jTUCre9ebA@mail.gmail.com> (Martin Blumenstingl's message of "Sun, 11 Sep 2016 15:44:03 +0200")

Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:

> On Fri, Sep 9, 2016 at 10:36 PM, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
>> On Fri, Sep 9, 2016 at 5:33 PM, Kevin Hilman <khilman@baylibre.com> wrote:
>>> Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:
>>>
>>>> On Thu, Sep 8, 2016 at 10:53 PM, Ben Dooks <ben.dooks@codethink.co.uk> wrote:
>>>>> On 08/09/16 21:42, Kevin Hilman wrote:
>>>>>>
>>>>>> Ben Dooks <ben.dooks@codethink.co.uk> writes:
>>>>>>
>>>>>>> On 08/09/16 20:52, Martin Blumenstingl wrote:
>>>>>>>>
>>>>>>>> On Thu, Sep 8, 2016 at 9:35 PM, Kevin Hilman <khilman@baylibre.com>
>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> +     phy = devm_phy_create(&pdev->dev, NULL, &phy_meson_usb2_ops);
>>>>>>>>>> +     if (IS_ERR(phy)) {
>>>>>>>>>> +             dev_err(&pdev->dev, "failed to create PHY\n");
>>>>>>>>>> +             return PTR_ERR(phy);
>>>>>>>>>> +     }
>>>>>>>>>> +
>>>>>>>>>> +     if (usb_reset_refcnt++ == 0) {
>>>>>>>>>> +             ret = device_reset(&pdev->dev);
>>>>>>>>>> +             if (ret) {
>>>>>>>>>> +                     dev_err(&phy->dev, "Failed to reset USB PHY\n");
>>>>>>>>>> +                     return ret;
>>>>>>>>>> +             }
>>>>>>>>>> +     }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The ref count + reset here looks like something that could/should be
>>>>>>>>> handled in a runtime PM callback.
>>>>>>>>
>>>>>>>> Unfortunately that doesn't work (as Jerome found out) because both
>>>>>>>> PHYs are sharing the same reset line.
>>>>>>>> So if the second PHY would call device_reset then it would also reset
>>>>>>>> the first PHY!
>>>>>>>>
>>>>>>>> There's a comment above the declaration of usb_reset_refcnt which
>>>>>>>> tries to explain this:
>>>>>>>> "The PHYs are sharing a common reset line -> we are only allowed to
>>>>>>>> reset once for all PHYs."
>>>>>>>> Maybe I should move this comment to the "if (usb_reset_refcnt++ == 0)
>>>>>>>> {" line to make it easier to see?
>>>>>>>>
>>>>>>>
>>>>>>> pm-runtime has refcounting in it. When one of the nodes turns on,
>>>>>>> the pm-runtime will call your driver to say there is a user when
>>>>>>> this first use turns up.
>>>>>>>
>>>>>>> If all the sub-phys turn off and drop their refcount then the driver
>>>>>>> is called to say there are no more users and you can go to sleep.
>>>>>>
>>>>>>
>>>>>> After a chat w/Martin on IRC, It turns out runtime PM wont help here.
>>>>>>
>>>>>> The reason is because there are physically two PHY devices[1].  Those 2
>>>>>> devices will be treated independely by runtime PM, and have separate
>>>>>> use-counting, which means doing what I proposed would cause a reset to
>>>>>> happen when either device was probed.
>>>>>>
>>>>>> So, I think it's OK as it is.
>>>>>
>>>>>
>>>>> Surely you can do pm_runtime_get/put on the phy's parent platform
>>>>> device and do it that way?
>>>> could you please be more specific with that (do you mean pdev->dev.parent)?
>>>> so we would use pm_runtime_{get_sync,put} with the parent, while we
>>>> would still define the runtime_resume in our driver.
>>>
>>> You'd also need to do get/put on the children, but yes, that's what Ben
>>> is suggesting.
>>>
>>> However, the problem with all of the solutions proposed (runtime PM ones
>>> included) is that we're forcing a board-specific design issue (2 devices
>>> sharing a reset line) into a driver that should not have any
>>> board-specific assumptions in it.
>>>
>>> For example, if this driver is used on another platform where different
>>> PHYs have different reset lines, then one of them (the unlucky one who
>>> is not probed first) will never get reset.  So any form of per-device
>>> ref-counting is not a portable solution.
>> indeed, so in simple words we would need something like
>> reset_control_do_once(rstc, RESET/ASSERT/DEASSERT) which would
>> remember internally if any action has already been executed: if not it
>> does a _reset, _assert or _deassert and otherwise it does nothing.
> for now I've implemented something less hacky: I made the reset
> optional and only specified it for phy0.

That's slightly better, but could misbehave if devices are probed/loaded
in different order?  But, that shouldn't be a blocker for the driver.

> During Jerome's tests the reset was not needed, while on my board it's
> required to bring both PHYs up.
> Additionally the USB PHY reference driver does not have any reset
> logic for newer SoCs (GXL), so making the reset optional doesn't sound
> that bad to me.

Agreed.

Kevin

WARNING: multiple messages have this Message-ID (diff)
From: khilman@baylibre.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/7] phy: meson: add USB2 PHY support for Meson8b and GXBB
Date: Mon, 12 Sep 2016 10:32:44 -0700	[thread overview]
Message-ID: <7hpoo9qb0j.fsf@baylibre.com> (raw)
In-Reply-To: <CAFBinCDnMd0rtrvTMX-D_WNXHpVD8F=8Xn35jcK5jTUCre9ebA@mail.gmail.com> (Martin Blumenstingl's message of "Sun, 11 Sep 2016 15:44:03 +0200")

Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:

> On Fri, Sep 9, 2016 at 10:36 PM, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
>> On Fri, Sep 9, 2016 at 5:33 PM, Kevin Hilman <khilman@baylibre.com> wrote:
>>> Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:
>>>
>>>> On Thu, Sep 8, 2016 at 10:53 PM, Ben Dooks <ben.dooks@codethink.co.uk> wrote:
>>>>> On 08/09/16 21:42, Kevin Hilman wrote:
>>>>>>
>>>>>> Ben Dooks <ben.dooks@codethink.co.uk> writes:
>>>>>>
>>>>>>> On 08/09/16 20:52, Martin Blumenstingl wrote:
>>>>>>>>
>>>>>>>> On Thu, Sep 8, 2016 at 9:35 PM, Kevin Hilman <khilman@baylibre.com>
>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> +     phy = devm_phy_create(&pdev->dev, NULL, &phy_meson_usb2_ops);
>>>>>>>>>> +     if (IS_ERR(phy)) {
>>>>>>>>>> +             dev_err(&pdev->dev, "failed to create PHY\n");
>>>>>>>>>> +             return PTR_ERR(phy);
>>>>>>>>>> +     }
>>>>>>>>>> +
>>>>>>>>>> +     if (usb_reset_refcnt++ == 0) {
>>>>>>>>>> +             ret = device_reset(&pdev->dev);
>>>>>>>>>> +             if (ret) {
>>>>>>>>>> +                     dev_err(&phy->dev, "Failed to reset USB PHY\n");
>>>>>>>>>> +                     return ret;
>>>>>>>>>> +             }
>>>>>>>>>> +     }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The ref count + reset here looks like something that could/should be
>>>>>>>>> handled in a runtime PM callback.
>>>>>>>>
>>>>>>>> Unfortunately that doesn't work (as Jerome found out) because both
>>>>>>>> PHYs are sharing the same reset line.
>>>>>>>> So if the second PHY would call device_reset then it would also reset
>>>>>>>> the first PHY!
>>>>>>>>
>>>>>>>> There's a comment above the declaration of usb_reset_refcnt which
>>>>>>>> tries to explain this:
>>>>>>>> "The PHYs are sharing a common reset line -> we are only allowed to
>>>>>>>> reset once for all PHYs."
>>>>>>>> Maybe I should move this comment to the "if (usb_reset_refcnt++ == 0)
>>>>>>>> {" line to make it easier to see?
>>>>>>>>
>>>>>>>
>>>>>>> pm-runtime has refcounting in it. When one of the nodes turns on,
>>>>>>> the pm-runtime will call your driver to say there is a user when
>>>>>>> this first use turns up.
>>>>>>>
>>>>>>> If all the sub-phys turn off and drop their refcount then the driver
>>>>>>> is called to say there are no more users and you can go to sleep.
>>>>>>
>>>>>>
>>>>>> After a chat w/Martin on IRC, It turns out runtime PM wont help here.
>>>>>>
>>>>>> The reason is because there are physically two PHY devices[1].  Those 2
>>>>>> devices will be treated independely by runtime PM, and have separate
>>>>>> use-counting, which means doing what I proposed would cause a reset to
>>>>>> happen when either device was probed.
>>>>>>
>>>>>> So, I think it's OK as it is.
>>>>>
>>>>>
>>>>> Surely you can do pm_runtime_get/put on the phy's parent platform
>>>>> device and do it that way?
>>>> could you please be more specific with that (do you mean pdev->dev.parent)?
>>>> so we would use pm_runtime_{get_sync,put} with the parent, while we
>>>> would still define the runtime_resume in our driver.
>>>
>>> You'd also need to do get/put on the children, but yes, that's what Ben
>>> is suggesting.
>>>
>>> However, the problem with all of the solutions proposed (runtime PM ones
>>> included) is that we're forcing a board-specific design issue (2 devices
>>> sharing a reset line) into a driver that should not have any
>>> board-specific assumptions in it.
>>>
>>> For example, if this driver is used on another platform where different
>>> PHYs have different reset lines, then one of them (the unlucky one who
>>> is not probed first) will never get reset.  So any form of per-device
>>> ref-counting is not a portable solution.
>> indeed, so in simple words we would need something like
>> reset_control_do_once(rstc, RESET/ASSERT/DEASSERT) which would
>> remember internally if any action has already been executed: if not it
>> does a _reset, _assert or _deassert and otherwise it does nothing.
> for now I've implemented something less hacky: I made the reset
> optional and only specified it for phy0.

That's slightly better, but could misbehave if devices are probed/loaded
in different order?  But, that shouldn't be a blocker for the driver.

> During Jerome's tests the reset was not needed, while on my board it's
> required to bring both PHYs up.
> Additionally the USB PHY reference driver does not have any reset
> logic for newer SoCs (GXL), so making the reset optional doesn't sound
> that bad to me.

Agreed.

Kevin

WARNING: multiple messages have this Message-ID (diff)
From: khilman@baylibre.com (Kevin Hilman)
To: linus-amlogic@lists.infradead.org
Subject: [PATCH 4/7] phy: meson: add USB2 PHY support for Meson8b and GXBB
Date: Mon, 12 Sep 2016 10:32:44 -0700	[thread overview]
Message-ID: <7hpoo9qb0j.fsf@baylibre.com> (raw)
In-Reply-To: <CAFBinCDnMd0rtrvTMX-D_WNXHpVD8F=8Xn35jcK5jTUCre9ebA@mail.gmail.com> (Martin Blumenstingl's message of "Sun, 11 Sep 2016 15:44:03 +0200")

Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:

> On Fri, Sep 9, 2016 at 10:36 PM, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
>> On Fri, Sep 9, 2016 at 5:33 PM, Kevin Hilman <khilman@baylibre.com> wrote:
>>> Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:
>>>
>>>> On Thu, Sep 8, 2016 at 10:53 PM, Ben Dooks <ben.dooks@codethink.co.uk> wrote:
>>>>> On 08/09/16 21:42, Kevin Hilman wrote:
>>>>>>
>>>>>> Ben Dooks <ben.dooks@codethink.co.uk> writes:
>>>>>>
>>>>>>> On 08/09/16 20:52, Martin Blumenstingl wrote:
>>>>>>>>
>>>>>>>> On Thu, Sep 8, 2016 at 9:35 PM, Kevin Hilman <khilman@baylibre.com>
>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> +     phy = devm_phy_create(&pdev->dev, NULL, &phy_meson_usb2_ops);
>>>>>>>>>> +     if (IS_ERR(phy)) {
>>>>>>>>>> +             dev_err(&pdev->dev, "failed to create PHY\n");
>>>>>>>>>> +             return PTR_ERR(phy);
>>>>>>>>>> +     }
>>>>>>>>>> +
>>>>>>>>>> +     if (usb_reset_refcnt++ == 0) {
>>>>>>>>>> +             ret = device_reset(&pdev->dev);
>>>>>>>>>> +             if (ret) {
>>>>>>>>>> +                     dev_err(&phy->dev, "Failed to reset USB PHY\n");
>>>>>>>>>> +                     return ret;
>>>>>>>>>> +             }
>>>>>>>>>> +     }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The ref count + reset here looks like something that could/should be
>>>>>>>>> handled in a runtime PM callback.
>>>>>>>>
>>>>>>>> Unfortunately that doesn't work (as Jerome found out) because both
>>>>>>>> PHYs are sharing the same reset line.
>>>>>>>> So if the second PHY would call device_reset then it would also reset
>>>>>>>> the first PHY!
>>>>>>>>
>>>>>>>> There's a comment above the declaration of usb_reset_refcnt which
>>>>>>>> tries to explain this:
>>>>>>>> "The PHYs are sharing a common reset line -> we are only allowed to
>>>>>>>> reset once for all PHYs."
>>>>>>>> Maybe I should move this comment to the "if (usb_reset_refcnt++ == 0)
>>>>>>>> {" line to make it easier to see?
>>>>>>>>
>>>>>>>
>>>>>>> pm-runtime has refcounting in it. When one of the nodes turns on,
>>>>>>> the pm-runtime will call your driver to say there is a user when
>>>>>>> this first use turns up.
>>>>>>>
>>>>>>> If all the sub-phys turn off and drop their refcount then the driver
>>>>>>> is called to say there are no more users and you can go to sleep.
>>>>>>
>>>>>>
>>>>>> After a chat w/Martin on IRC, It turns out runtime PM wont help here.
>>>>>>
>>>>>> The reason is because there are physically two PHY devices[1].  Those 2
>>>>>> devices will be treated independely by runtime PM, and have separate
>>>>>> use-counting, which means doing what I proposed would cause a reset to
>>>>>> happen when either device was probed.
>>>>>>
>>>>>> So, I think it's OK as it is.
>>>>>
>>>>>
>>>>> Surely you can do pm_runtime_get/put on the phy's parent platform
>>>>> device and do it that way?
>>>> could you please be more specific with that (do you mean pdev->dev.parent)?
>>>> so we would use pm_runtime_{get_sync,put} with the parent, while we
>>>> would still define the runtime_resume in our driver.
>>>
>>> You'd also need to do get/put on the children, but yes, that's what Ben
>>> is suggesting.
>>>
>>> However, the problem with all of the solutions proposed (runtime PM ones
>>> included) is that we're forcing a board-specific design issue (2 devices
>>> sharing a reset line) into a driver that should not have any
>>> board-specific assumptions in it.
>>>
>>> For example, if this driver is used on another platform where different
>>> PHYs have different reset lines, then one of them (the unlucky one who
>>> is not probed first) will never get reset.  So any form of per-device
>>> ref-counting is not a portable solution.
>> indeed, so in simple words we would need something like
>> reset_control_do_once(rstc, RESET/ASSERT/DEASSERT) which would
>> remember internally if any action has already been executed: if not it
>> does a _reset, _assert or _deassert and otherwise it does nothing.
> for now I've implemented something less hacky: I made the reset
> optional and only specified it for phy0.

That's slightly better, but could misbehave if devices are probed/loaded
in different order?  But, that shouldn't be a blocker for the driver.

> During Jerome's tests the reset was not needed, while on my board it's
> required to bring both PHYs up.
> Additionally the USB PHY reference driver does not have any reset
> logic for newer SoCs (GXL), so making the reset optional doesn't sound
> that bad to me.

Agreed.

Kevin

  parent reply	other threads:[~2016-09-12 17:32 UTC|newest]

Thread overview: 289+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-04 21:31 [PATCH 0/7] usb/phy: Add Amlogic Meson8b and GXBB USB support Martin Blumenstingl
2016-09-04 21:31 ` Martin Blumenstingl
2016-09-04 21:31 ` Martin Blumenstingl
2016-09-04 21:31 ` Martin Blumenstingl
2016-09-04 21:31 ` [PATCH 1/7] clk: gxbb: expose USB clocks Martin Blumenstingl
2016-09-04 21:31   ` Martin Blumenstingl
2016-09-04 21:31   ` Martin Blumenstingl
2016-09-07  0:33   ` Stephen Boyd
2016-09-07  0:33     ` Stephen Boyd
2016-09-07  0:33     ` Stephen Boyd
2016-09-07 21:32     ` Martin Blumenstingl
2016-09-07 21:32       ` Martin Blumenstingl
2016-09-07 21:32       ` Martin Blumenstingl
     [not found]       ` <CAFBinCBwcVkXi9wVt1FGaEFdK+fsxz-r12ao89HwqozqLGtd7A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-07 22:14         ` Stephen Boyd
2016-09-07 22:14           ` Stephen Boyd
2016-09-07 22:14           ` Stephen Boyd
2016-09-07 22:14           ` Stephen Boyd
     [not found]           ` <20160907221403.GA13062-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-09-08  2:24             ` Kevin Hilman
2016-09-08  2:24               ` Kevin Hilman
2016-09-08  2:24               ` Kevin Hilman
2016-09-08  2:24               ` Kevin Hilman
     [not found]   ` <20160904213152.25837-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-07 21:28     ` Stephen Boyd
2016-09-07 21:28       ` Stephen Boyd
2016-09-07 21:28       ` Stephen Boyd
2016-09-07 21:28       ` Stephen Boyd
2016-09-08 19:24       ` Kevin Hilman
2016-09-08 19:24         ` Kevin Hilman
2016-09-08 19:24         ` Kevin Hilman
2016-09-08 19:24         ` Kevin Hilman
2016-09-04 21:31 ` [PATCH 2/7] usb: dwc2: add support for Meson8b and GXBB SoCs Martin Blumenstingl
2016-09-04 21:31   ` Martin Blumenstingl
2016-09-04 21:31   ` Martin Blumenstingl
     [not found]   ` <20160904213152.25837-3-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-07 21:04     ` John Youn
2016-09-07 21:04       ` John Youn
2016-09-07 21:04       ` John Youn
2016-09-07 21:04       ` John Youn
2016-09-08 13:00       ` Neil Armstrong
     [not found] ` <20160904213152.25837-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-04 21:31   ` [PATCH 3/7] Documentation: dt-bindings: Add documentation for the Meson USB2 PHYs Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31   ` [PATCH 4/7] phy: meson: add USB2 PHY support for Meson8b and GXBB Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-08 19:35     ` Kevin Hilman
2016-09-08 19:35       ` Kevin Hilman
2016-09-08 19:35       ` Kevin Hilman
2016-09-08 19:35       ` Kevin Hilman
     [not found]       ` <m260q6jibf.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-09-08 19:40         ` Ben Dooks
2016-09-08 19:40           ` Ben Dooks
2016-09-08 19:40           ` Ben Dooks
2016-09-08 19:40           ` Ben Dooks
2016-09-08 19:52         ` Martin Blumenstingl
2016-09-08 19:52           ` Martin Blumenstingl
2016-09-08 19:52           ` Martin Blumenstingl
2016-09-08 19:52           ` Martin Blumenstingl
     [not found]           ` <CAFBinCA4Yvw5pbOFmJ8SqyOASADavyEPmHywSdOiUazcqe_Zmg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-08 20:20             ` Ben Dooks
2016-09-08 20:20               ` Ben Dooks
2016-09-08 20:20               ` Ben Dooks
2016-09-08 20:20               ` Ben Dooks
2016-09-08 20:42               ` Kevin Hilman
2016-09-08 20:42                 ` Kevin Hilman
2016-09-08 20:42                 ` Kevin Hilman
2016-09-08 20:42                 ` Kevin Hilman
2016-09-08 20:53                 ` Ben Dooks
2016-09-08 20:53                   ` Ben Dooks
2016-09-08 20:53                   ` Ben Dooks
     [not found]                   ` <ffdd0188-72bc-4575-f997-e8547f4c31d2-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2016-09-08 21:48                     ` Martin Blumenstingl
2016-09-08 21:48                       ` Martin Blumenstingl
2016-09-08 21:48                       ` Martin Blumenstingl
2016-09-08 21:48                       ` Martin Blumenstingl
2016-09-09 15:33                       ` Kevin Hilman
2016-09-09 15:33                         ` Kevin Hilman
2016-09-09 15:33                         ` Kevin Hilman
2016-09-09 15:33                         ` Kevin Hilman
     [not found]                         ` <m2sht9gkau.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-09-09 16:14                           ` Martin Blumenstingl
2016-09-09 16:14                             ` Martin Blumenstingl
2016-09-09 16:14                             ` Martin Blumenstingl
2016-09-09 16:14                             ` Martin Blumenstingl
     [not found]                             ` <CAFBinCCDDwydB+RP0CZKoAW5Suxotn224ZFVWvt2OGW3gNJR1g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-09 17:04                               ` Kevin Hilman
2016-09-09 17:04                                 ` Kevin Hilman
2016-09-09 17:04                                 ` Kevin Hilman
2016-09-09 17:04                                 ` Kevin Hilman
2016-09-09 17:21                             ` Ben Dooks
2016-09-09 17:21                               ` Ben Dooks
2016-09-09 17:21                               ` Ben Dooks
     [not found]                               ` <b9730890-d98c-2c3a-8af1-96b8c394c30f-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2016-09-09 20:37                                 ` Martin Blumenstingl
2016-09-09 20:37                                   ` Martin Blumenstingl
2016-09-09 20:37                                   ` Martin Blumenstingl
2016-09-09 20:37                                   ` Martin Blumenstingl
2016-09-16  8:19                             ` Kishon Vijay Abraham I
2016-09-16  8:19                               ` Kishon Vijay Abraham I
2016-09-16  8:19                               ` Kishon Vijay Abraham I
2016-09-16  8:19                               ` Kishon Vijay Abraham I
2016-09-16 13:47                               ` Arnd Bergmann
2016-09-16 13:47                                 ` Arnd Bergmann
2016-09-16 13:47                                 ` Arnd Bergmann
     [not found]                               ` <57DBAB2F.3040905-l0cyMroinI0@public.gmane.org>
2016-09-18 19:56                                 ` Martin Blumenstingl
2016-09-18 19:56                                   ` Martin Blumenstingl
2016-09-18 19:56                                   ` Martin Blumenstingl
2016-09-18 19:56                                   ` Martin Blumenstingl
     [not found]                                   ` <CAFBinCC5fhbtkNdc6MJs7veD+xVGC6Qb-jgX_pwvraP1x2JrhQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-19  4:59                                     ` Kishon Vijay Abraham I
2016-09-19  4:59                                       ` Kishon Vijay Abraham I
2016-09-19  4:59                                       ` Kishon Vijay Abraham I
2016-09-19  4:59                                       ` Kishon Vijay Abraham I
     [not found]                                       ` <57DF70AF.4050002-l0cyMroinI0@public.gmane.org>
2016-09-19  7:37                                         ` Arnd Bergmann
2016-09-19  7:37                                           ` Arnd Bergmann
2016-09-19  7:37                                           ` Arnd Bergmann
2016-09-19  7:37                                           ` Arnd Bergmann
2016-09-09 20:36                           ` Martin Blumenstingl
2016-09-09 20:36                             ` Martin Blumenstingl
2016-09-09 20:36                             ` Martin Blumenstingl
2016-09-09 20:36                             ` Martin Blumenstingl
2016-09-11 13:44                             ` Martin Blumenstingl
2016-09-11 13:44                               ` Martin Blumenstingl
2016-09-11 13:44                               ` Martin Blumenstingl
     [not found]                               ` <CAFBinCDnMd0rtrvTMX-D_WNXHpVD8F=8Xn35jcK5jTUCre9ebA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-12 17:32                                 ` Kevin Hilman [this message]
2016-09-12 17:32                                   ` Kevin Hilman
2016-09-12 17:32                                   ` Kevin Hilman
2016-09-12 17:32                                   ` Kevin Hilman
     [not found]                             ` <CAFBinCDohOoFP_3GC+=tt6S7sPS308ao-yf+oGhdfwo-N-JnAA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-13 15:28                               ` Philipp Zabel
2016-09-13 15:28                                 ` Philipp Zabel
2016-09-13 15:28                                 ` Philipp Zabel
2016-09-13 15:28                                 ` Philipp Zabel
     [not found]                                 ` <1473780508.10237.22.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-09-13 18:38                                   ` Martin Blumenstingl
2016-09-13 18:38                                     ` Martin Blumenstingl
2016-09-13 18:38                                     ` Martin Blumenstingl
2016-09-13 18:38                                     ` Martin Blumenstingl
     [not found]                                     ` <CAFBinCC+izGS72TZuiiBu=DjtSmoZXRZ6r76M6rC8W7UTpSD6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-14  0:59                                       ` Kevin Hilman
2016-09-14  0:59                                         ` Kevin Hilman
2016-09-14  0:59                                         ` Kevin Hilman
2016-09-14  0:59                                         ` Kevin Hilman
     [not found]                                         ` <7hzinbmh40.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-09-14  8:36                                           ` Philipp Zabel
2016-09-14  8:36                                             ` Philipp Zabel
2016-09-14  8:36                                             ` Philipp Zabel
2016-09-14  8:36                                             ` Philipp Zabel
2016-09-14  8:37                                           ` Philipp Zabel
2016-09-14  8:37                                             ` Philipp Zabel
2016-09-14  8:37                                             ` Philipp Zabel
2016-09-14  8:37                                             ` Philipp Zabel
2016-09-14 21:09                                             ` Martin Blumenstingl
2016-09-14 21:09                                               ` Martin Blumenstingl
2016-09-14 21:09                                               ` Martin Blumenstingl
2016-09-14  8:37                                     ` Philipp Zabel
2016-09-14  8:37                                       ` Philipp Zabel
2016-09-14  8:37                                       ` Philipp Zabel
2016-09-14  8:37                                       ` Philipp Zabel
     [not found]                                       ` <1473842236.6816.0.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-09-14 21:23                                         ` Martin Blumenstingl
2016-09-14 21:23                                           ` Martin Blumenstingl
2016-09-14 21:23                                           ` Martin Blumenstingl
2016-09-14 21:23                                           ` Martin Blumenstingl
     [not found]                                           ` <CAFBinCDuj_nHtQ9xs0LMmqZT7Yr9SUw24_H2nAwULT7e9kRXag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-15 10:30                                             ` Philipp Zabel
2016-09-15 10:30                                               ` Philipp Zabel
2016-09-15 10:30                                               ` Philipp Zabel
2016-09-15 10:30                                               ` Philipp Zabel
2016-09-04 21:31   ` [PATCH 5/7] ARM64: meson-gxbb: add USB Nodes Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-05  0:23     ` Andreas Färber
2016-09-05  0:23       ` Andreas Färber
2016-09-05  0:23       ` Andreas Färber
2016-09-05  8:00       ` Neil Armstrong
2016-09-04 21:31   ` [PATCH 6/7] ARM64: meson-gxbb-p20x: Enable " Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31   ` [PATCH 7/7] ARM64: meson-gxbb-vega-s95: " Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-04 21:31     ` Martin Blumenstingl
2016-09-11 13:41   ` [PATCH v2 0/6] usb/phy: Add Amlogic Meson8b and GXBB USB support Martin Blumenstingl
2016-09-11 13:41     ` Martin Blumenstingl
2016-09-11 13:41     ` Martin Blumenstingl
2016-09-11 13:41     ` Martin Blumenstingl
     [not found]     ` <20160911134111.31141-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-11 13:41       ` [PATCH v2 1/6] usb: dwc2: add support for Meson8b and GXBB SoCs Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-14 16:11         ` Kevin Hilman
2016-09-14 16:11           ` Kevin Hilman
2016-09-14 16:11           ` Kevin Hilman
2016-09-14 16:11           ` Kevin Hilman
2016-09-14 18:12           ` John Youn
2016-09-14 18:12             ` John Youn
2016-09-14 18:12             ` John Youn
2016-09-14 18:12             ` John Youn
     [not found]             ` <0d587b46-4c6e-c2ec-a62e-5d0c5a5bd902-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
2016-09-14 18:17               ` Kevin Hilman
2016-09-14 18:17                 ` Kevin Hilman
2016-09-14 18:17                 ` Kevin Hilman
2016-09-14 18:17                 ` Kevin Hilman
     [not found]                 ` <CAOi56cW+zJ8_Gf6xKMyKNk7YB1+MpWHrtmv=+Xxs0PZy9rAXqQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-14 18:26                   ` John Youn
2016-09-14 18:26                     ` John Youn
2016-09-14 18:26                     ` John Youn
2016-09-14 18:26                     ` John Youn
2016-09-14 18:36                     ` Kevin Hilman
2016-09-14 18:36                       ` Kevin Hilman
2016-09-14 18:36                       ` Kevin Hilman
2016-09-14 18:36                       ` Kevin Hilman
     [not found]         ` <20160911134111.31141-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-20 14:27           ` Rob Herring
2016-09-20 14:27             ` Rob Herring
2016-09-20 14:27             ` Rob Herring
2016-09-20 14:27             ` Rob Herring
2016-09-11 13:41       ` [PATCH v2 2/6] Documentation: dt-bindings: Add documentation for the Meson USB2 PHYs Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-20 14:29         ` Rob Herring
2016-09-20 14:29           ` Rob Herring
2016-09-20 14:29           ` Rob Herring
2016-09-21 18:38           ` Kevin Hilman
2016-09-21 18:38             ` Kevin Hilman
2016-09-21 18:38             ` Kevin Hilman
2016-09-21 18:38             ` Kevin Hilman
2016-09-11 13:41       ` [PATCH v2 4/6] ARM64: meson-gxbb: add USB Nodes Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
     [not found]         ` <20160911134111.31141-5-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-15 22:10           ` Kevin Hilman
2016-09-15 22:10             ` Kevin Hilman
2016-09-15 22:10             ` Kevin Hilman
2016-09-15 22:10             ` Kevin Hilman
2016-09-11 13:41       ` [PATCH v2 5/6] ARM64: meson-gxbb-p20x: Enable " Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-11 13:41         ` Martin Blumenstingl
2016-09-14 18:05         ` Kevin Hilman
2016-09-14 18:05           ` Kevin Hilman
2016-09-14 18:05           ` Kevin Hilman
2016-09-14 18:05           ` Kevin Hilman
     [not found]           ` <7h37l2mk6a.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-09-15 22:09             ` Kevin Hilman
2016-09-15 22:09               ` Kevin Hilman
2016-09-15 22:09               ` Kevin Hilman
2016-09-15 22:09               ` Kevin Hilman
2016-09-11 13:41     ` [PATCH v2 3/6] phy: meson: add USB2 PHY support for Meson8b and GXBB Martin Blumenstingl
2016-09-11 13:41       ` Martin Blumenstingl
2016-09-11 13:41       ` Martin Blumenstingl
2016-09-14 16:06       ` Kevin Hilman
2016-09-14 16:06         ` Kevin Hilman
2016-09-14 16:06         ` Kevin Hilman
2016-09-14 16:06         ` Kevin Hilman
     [not found]         ` <m2a8faxy72.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-09-17  4:17           ` Kishon Vijay Abraham I
2016-09-17  4:17             ` Kishon Vijay Abraham I
2016-09-17  4:17             ` Kishon Vijay Abraham I
2016-09-17  4:17             ` Kishon Vijay Abraham I
     [not found]             ` <57DCC3CF.9090409-l0cyMroinI0@public.gmane.org>
2016-09-19 16:42               ` Kevin Hilman
2016-09-19 16:42                 ` Kevin Hilman
2016-09-19 16:42                 ` Kevin Hilman
2016-09-19 16:42                 ` Kevin Hilman
2016-09-20  5:01                 ` Kishon Vijay Abraham I
2016-09-20  5:01                   ` Kishon Vijay Abraham I
2016-09-20  5:01                   ` Kishon Vijay Abraham I
2016-09-20  5:01                   ` Kishon Vijay Abraham I
     [not found]       ` <20160911134111.31141-4-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-14 21:30         ` Martin Blumenstingl
2016-09-14 21:30           ` Martin Blumenstingl
2016-09-14 21:30           ` Martin Blumenstingl
2016-09-14 21:30           ` Martin Blumenstingl
2016-09-11 13:41     ` [PATCH v2 6/6] ARM64: meson-gxbb-vega-s95: Enable USB Nodes Martin Blumenstingl
2016-09-11 13:41       ` Martin Blumenstingl
2016-09-11 13:41       ` Martin Blumenstingl
     [not found]       ` <20160911134111.31141-7-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-15 22:10         ` Kevin Hilman
2016-09-15 22:10           ` Kevin Hilman
2016-09-15 22:10           ` Kevin Hilman
2016-09-15 22:10           ` Kevin Hilman
2016-10-01 12:18   ` [PATCH v3 0/3] usb/phy: Add Amlogic Meson8b and GXBB USB support Martin Blumenstingl
2016-10-01 12:18     ` Martin Blumenstingl
2016-10-01 12:18     ` Martin Blumenstingl
     [not found]     ` <20161001121900.1168-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-10-01 12:18       ` [PATCH v3 1/3] Documentation: dt-bindings: update the meson-usb2-phy example Martin Blumenstingl
2016-10-01 12:18         ` Martin Blumenstingl
2016-10-01 12:18         ` Martin Blumenstingl
2016-10-09  1:28         ` Rob Herring
2016-10-09  1:28           ` Rob Herring
2016-10-09  1:28           ` Rob Herring
2016-10-01 12:18       ` [PATCH v3 2/3] Documentation: dt-bindings: rename meson-usb2-phy to meson8b-usb2-phy Martin Blumenstingl
2016-10-01 12:18         ` Martin Blumenstingl
2016-10-01 12:18         ` Martin Blumenstingl
2016-10-09  1:28         ` Rob Herring
2016-10-09  1:28           ` Rob Herring
2016-10-09  1:28           ` Rob Herring
2016-10-01 12:19       ` [PATCH v3 3/3] phy: meson: add USB2 PHY support for Meson8b and GXBB Martin Blumenstingl
2016-10-01 12:19         ` Martin Blumenstingl
2016-10-01 12:19         ` Martin Blumenstingl
2016-10-13 20:27     ` [PATCH v3 0/3] usb/phy: Add Amlogic Meson8b and GXBB USB support Martin Blumenstingl
2016-10-13 20:27       ` Martin Blumenstingl
2016-10-13 20:27       ` Martin Blumenstingl
2016-10-19 10:52       ` Kishon Vijay Abraham I
2016-10-19 10:52         ` Kishon Vijay Abraham I
2016-10-19 10:52         ` Kishon Vijay Abraham I

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7hpoo9qb0j.fsf@baylibre.com \
    --to=khilman-rdvid1duhrbwk0htik3j/w@public.gmane.org \
    --cc=ben.dooks-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org \
    --cc=carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=jbrunet-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=johnyoun-HKixBCOQz3hWk0Htik3J/w@public.gmane.org \
    --cc=kishon-l0cyMroinI0@public.gmane.org \
    --cc=linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org \
    --cc=mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.