Patchwork e1000: add support for Marvell Alaska M88E1118R PHY

login
register
mail settings
Submitter Florian Fainelli
Date Jan. 19, 2011, 9:09 a.m.
Message ID <201101191009.44707.ffainelli@freebox.fr>
Download mbox | patch
Permalink /patch/79436/
State Awaiting Upstream
Delegated to: David Miller
Headers show

Comments

Florian Fainelli - Jan. 19, 2011, 9:09 a.m.
From: Florian Fainelli <ffainelli@freebox.fr>

This patch adds support for Marvell Alask M88E188R PHY chips. Support for
other M88* PHYs is already there, so there is nothing more to add than its
PHY id.

Signed-off-by: Florian Fainelli <ffainelli@freebox.fr>
CC: Dirk Brandewie <dirk.j.brandewie@intel.com>
CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
Jeff Kirsher - Jan. 20, 2011, 6:51 a.m.
On Wed, Jan 19, 2011 at 01:09, Florian Fainelli <ffainelli@freebox.fr> wrote:
> From: Florian Fainelli <ffainelli@freebox.fr>
>
> This patch adds support for Marvell Alask M88E188R PHY chips. Support for
> other M88* PHYs is already there, so there is nothing more to add than its
> PHY id.
>
> Signed-off-by: Florian Fainelli <ffainelli@freebox.fr>
> CC: Dirk Brandewie <dirk.j.brandewie@intel.com>
> CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> ---

The patch itself looks fine.  I am concerned about validation.

Dirk - is there a chance that the ce4100 will use this PHY?  If so,
can you cover the validation?

For now I will add this to my net-next tree while I await word from Dirk.
Dirk Brandewie - Jan. 20, 2011, 6:49 p.m.
On Wed, 2011-01-19 at 22:51 -0800, Jeff Kirsher wrote:
> On Wed, Jan 19, 2011 at 01:09, Florian Fainelli <ffainelli@freebox.fr> wrote:
> > From: Florian Fainelli <ffainelli@freebox.fr>
> >
> > This patch adds support for Marvell Alask M88E188R PHY chips. Support for
> > other M88* PHYs is already there, so there is nothing more to add than its
> > PHY id.
> >
> > Signed-off-by: Florian Fainelli <ffainelli@freebox.fr>
> > CC: Dirk Brandewie <dirk.j.brandewie@intel.com>
> > CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > ---
> 
> The patch itself looks fine.  I am concerned about validation.
> 
> Dirk - is there a chance that the ce4100 will use this PHY?  If so,
> can you cover the validation?

Florian is working on a CE4100 based platform.  It looks like they used
a different PHY from the Flacon Falls reference platform. I can't
directly test this patch since I don't have their hardware.  I will be
testing .38-rc1 next week on falcon falls.

I think the best we can do without the hardware is to compare the data
sheet for the new PHY with the PHYs already supported and make sure they
are compatible.  If the datasheets match up for the features the driver
is using this seems pretty low risk IMHO.

--Dirk
> 
> For now I will add this to my net-next tree while I await word from Dirk.
> 


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Florian Fainelli - Jan. 21, 2011, 4:27 p.m.
Hello Dirk, Jeff,

On Thursday 20 January 2011 19:49:19 Dirk Brandewie wrote:
> On Wed, 2011-01-19 at 22:51 -0800, Jeff Kirsher wrote:
> > On Wed, Jan 19, 2011 at 01:09, Florian Fainelli <ffainelli@freebox.fr> 
wrote:
> > > From: Florian Fainelli <ffainelli@freebox.fr>
> > > 
> > > This patch adds support for Marvell Alask M88E188R PHY chips. Support
> > > for other M88* PHYs is already there, so there is nothing more to add
> > > than its PHY id.
> > > 
> > > Signed-off-by: Florian Fainelli <ffainelli@freebox.fr>
> > > CC: Dirk Brandewie <dirk.j.brandewie@intel.com>
> > > CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > > ---
> > 
> > The patch itself looks fine.  I am concerned about validation.
> > 
> > Dirk - is there a chance that the ce4100 will use this PHY?  If so,
> > can you cover the validation?
> 
> Florian is working on a CE4100 based platform.  It looks like they used
> a different PHY from the Flacon Falls reference platform. I can't
> directly test this patch since I don't have their hardware.  I will be
> testing .38-rc1 next week on falcon falls.

Indeed, we use this PHY on our hardware.

> 
> I think the best we can do without the hardware is to compare the data
> sheet for the new PHY with the PHYs already supported and make sure they
> are compatible.  If the datasheets match up for the features the driver
> is using this seems pretty low risk IMHO.

As far as I could check, all M88E111* should behave the same for the setup 
done in e1000.
--
Florian
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
index aed223b..7501d97 100644
--- a/drivers/net/e1000/e1000_hw.c
+++ b/drivers/net/e1000/e1000_hw.c
@@ -124,6 +124,7 @@  static s32 e1000_set_phy_type(struct e1000_hw *hw)
 	case M88E1000_I_PHY_ID:
 	case M88E1011_I_PHY_ID:
 	case M88E1111_I_PHY_ID:
+	case M88E1118_E_PHY_ID:
 		hw->phy_type = e1000_phy_m88;
 		break;
 	case IGP01E1000_I_PHY_ID:
@@ -3222,7 +3223,8 @@  static s32 e1000_detect_gig_phy(struct e1000_hw *hw)
 		break;
 	case e1000_ce4100:
 		if ((hw->phy_id == RTL8211B_PHY_ID) ||
-		    (hw->phy_id == RTL8201N_PHY_ID))
+		    (hw->phy_id == RTL8201N_PHY_ID) ||
+		    (hw->phy_id == M88E1118_E_PHY_ID))
 			match = true;
 		break;
 	case e1000_82541:
diff --git a/drivers/net/e1000/e1000_hw.h b/drivers/net/e1000/e1000_hw.h
index 196eeda..c70b23d 100644
--- a/drivers/net/e1000/e1000_hw.h
+++ b/drivers/net/e1000/e1000_hw.h
@@ -2917,6 +2917,7 @@  struct e1000_host_command_info {
 #define M88E1000_14_PHY_ID M88E1000_E_PHY_ID
 #define M88E1011_I_REV_4   0x04
 #define M88E1111_I_PHY_ID  0x01410CC0
+#define M88E1118_E_PHY_ID  0x01410E40
 #define L1LXT971A_PHY_ID   0x001378E0
 
 #define RTL8211B_PHY_ID    0x001CC910