Thread (1 message) 1 message, 1 author, 2016-07-07

Re: [PATCH v2 3/5] drivers: net: phy: Add MDIO driver

From: Iyappan Subramanian <hidden>
Date: 2016-07-07 22:58:57
Also in: linux-arm-kernel, linux-devicetree

Hi Russell,

On Thu, Jul 7, 2016 at 7:14 AM, Russell King - ARM Linux
[off-list ref] wrote:
On Thu, Jul 07, 2016 at 04:03:02PM +0200, Andrew Lunn wrote:
quoted
quoted
Wed, Jul 06, 2016 at 04:44:44PM -0700, Iyappan Subramanian wrote:
Hi Andrew,

On Tue, Jul 5, 2016 at 6:49 AM, Andrew Lunn [off-list ref] wrote:
quoted
On Mon, Jun 06, 2016 at 10:12:35AM -0700, Iyappan Subramanian wrote:
quoted
Hi Andrew,

Thanks for the review.

On Tue, May 31, 2016 at 6:11 PM, Andrew Lunn [off-list ref] wrote:
quoted
On Tue, May 31, 2016 at 05:10:38PM -0700, Iyappan Subramanian wrote:
quoted
+static int xgene_mdio_reset(struct xgene_mdio_pdata *pdata)
+{
+     int ret;
+
+     if (pdata->mdio_id == XGENE_MDIO_RGMII) {
+             if (pdata->dev->of_node) {
+                     clk_prepare_enable(pdata->clk);
+                     clk_disable_unprepare(pdata->clk);
+                     clk_prepare_enable(pdata->clk);
Hi Iyappan

Is that a workaround for a hardware problem? If so, i would suggest
adding a comment, to stop people submitting a patch simplifying it.
Hardware expects this clock sequence.  I'll add comment as you suggested.
What exactly does the hardware require? Is this a workaround for a bug
in the clock generator? Or a workaround for a bug in the MDIO device?
Hardware requires a clock pulse.  There is no bug.
And how are you guaranteeing a pulse? You enable/disable/enable
without any sleeps, so it could all happen within a single clock
cycle?
It's still really not good, because it does this:

- prepare + enable
- disable + unprepare
- prepare + enable

So every time the reset function is called, the prepare and enable
counts against the clock get incremented.  That's a bug.  This needs
a better solution.
I'll fix this by adding disable + unprepare on the port shutdown and
resubmit the patches.
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help