All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <dwg@au1.ibm.com>
To: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>,
	Alexandre Bounine <Alexandre.Bounine@tundra.com>
Subject: Re: Fix problems with Holly's DT representation of ethernet PHYs
Date: Mon, 28 May 2007 09:36:37 +1000	[thread overview]
Message-ID: <20070527233637.GC23768@localhost.localdomain> (raw)
In-Reply-To: <1180101831.3360.38.camel@zod.rchland.ibm.com>

On Fri, May 25, 2007 at 09:03:51AM -0500, Josh Boyer wrote:
> On Fri, 2007-05-25 at 14:38 +1000, David Gibson wrote:
> > 
> > Waah!  Third time lucky?
> 
> Not quite. :)
> 
> > 	- Second, the PHYs give only "bcm54xx" as a compatible
> > property.  This is unfortunate, because there are many bcm54xx PHY
> > models, and they have differences which can matter.  We add a more
> > precise compatible string, giving the precise PHY model (bcm5461A in
> > this case).
> 
> You don't actually do this.  Instead, you specify a
> txc-rxc-delay-disable property.

Oops, forgot to update the patch description.

> > -			PHY1: ethernet-phy@6000 {
> > -				device_type = "ethernet-phy";
> > -				compatible = "bcm54xx";
> > -				reg = <6000 50>;
> > -				phy-id = <1>;
> > +			PHY1: ethernet-phy@1 {
> > +				reg = <1>;
> > +				txc-rxc-delay-disable;
> >  			};
> 
> I would have rather we left the compatible = "bmc5461A" as well.  Though
> perhaps a comment would suffice instead.

Hrm, I was tending to go with Kumar's point that it's kind of simpler
and safer to probe the PHY type directly.

> > Index: working-2.6/arch/powerpc/sysdev/tsi108_dev.c
> > ===================================================================
> > --- working-2.6.orig/arch/powerpc/sysdev/tsi108_dev.c	2007-05-25 14:34:00.000000000 +1000
> > +++ working-2.6/arch/powerpc/sysdev/tsi108_dev.c	2007-05-25 14:38:32.000000000 +1000
> 
> > +
> >  		tsi_eth_data.regs = r[0].start;
> >  		tsi_eth_data.phyregs = res.start;
> >  		tsi_eth_data.phy = *phy_id;
> >  		tsi_eth_data.irq_num = irq_of_parse_and_map(np, 0);
> > -		if (of_device_is_compatible(phy, "bcm54xx"))
> > +
> > +		if (of_get_property(phy, "txc-rxc-delay-disable", NULL))
> >  			tsi_eth_data.phy_type = TSI108_PHY_BCM54XX;
> >  		of_node_put(phy);
> 
> At the very least this needs a comment explaining what exactly is being
> done here.  Right now, it's looking for some magical property and
> setting the PHY type to a Broadcom PHY...  very confusing to someone
> that hasn't followed the email thread.

Yeah, good point.  And more specifically I should put a FIXME comment
in, saying that the ethernet driver itself should be changed to
implement this workaround in a different way, rather than based on
this phy_type field, since the workaround isn't really related to the
PHY type.  I was assuming that cleanup would happen as part of the
port to phylib.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

  reply	other threads:[~2007-05-27 23:36 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-24  4:16 Fix problems with Holly's DT representation of ethernet PHYs David Gibson
2007-05-24  4:22 ` Kumar Gala
2007-05-24  5:59   ` David Gibson
2007-05-24  9:13     ` Segher Boessenkool
2007-05-24 13:44   ` Josh Boyer
2007-05-25  4:23     ` David Gibson
2007-05-25  4:37       ` David Gibson
2007-05-25  4:38         ` David Gibson
2007-05-25 14:03           ` Josh Boyer
2007-05-27 23:36             ` David Gibson [this message]
2007-05-25 14:11           ` Segher Boessenkool
2007-05-27 23:30             ` David Gibson
2007-05-28  1:38               ` Benjamin Herrenschmidt
2007-05-28 11:07                 ` Segher Boessenkool
2007-05-28 11:15                   ` Benjamin Herrenschmidt
2007-05-28 11:06               ` Segher Boessenkool
2007-05-29  4:47                 ` David Gibson
2007-05-24  9:11 ` Segher Boessenkool
2007-05-24 13:45 ` Josh Boyer
2007-05-25  2:04   ` David Gibson
  -- strict thread matches above, loose matches on Subject: below --
2007-05-29  6:05 David Gibson
2007-05-29  6:43 ` Segher Boessenkool
2007-05-29 14:19   ` Josh Boyer
2007-05-29 14:49     ` Segher Boessenkool
2007-05-29 19:29       ` Josh Boyer
2007-05-30 11:17         ` Benjamin Herrenschmidt
2007-05-30 11:32           ` David Gibson
2007-05-30 11:36         ` Segher Boessenkool
2007-05-30 13:48           ` Josh Boyer
2007-05-30 15:28             ` Segher Boessenkool
2007-05-31  5:54         ` Zang Roy-r61911
2007-05-30  1:26   ` David Gibson

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=20070527233637.GC23768@localhost.localdomain \
    --to=dwg@au1.ibm.com \
    --cc=Alexandre.Bounine@tundra.com \
    --cc=jwboyer@linux.vnet.ibm.com \
    --cc=linuxppc-dev@ozlabs.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.