[PATCH 16/27] UBUNTU: SAUCE: phylib: Minimum hack to get the generic 10G PHY driver to work with 10G "fixed-link"s
Emil Medve
bcollins at ubuntu.com
Mon Jun 11 23:02:22 UTC 2012
This patch is being maintained and will eventually be merged upstream by
Freescale directly. The powerpc-e500mc flavour uses this.
Signed-off-by: Emil Medve <Emilian.Medve at Freescale.com>
Signed-off-by: Ben Collins <bcollins at ubuntu.com>
---
drivers/net/phy/fixed.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c
index 633680d..65e106b 100644
--- a/drivers/net/phy/fixed.c
+++ b/drivers/net/phy/fixed.c
@@ -5,6 +5,7 @@
* Anton Vorontsov <avorontsov at ru.mvista.com>
*
* Copyright (c) 2006-2007 MontaVista Software, Inc.
+ * Copyright 2009 Freescale Semiconductor, Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -17,6 +18,7 @@
#include <linux/platform_device.h>
#include <linux/list.h>
#include <linux/mii.h>
+#include <linux/mdio.h>
#include <linux/phy.h>
#include <linux/phy_fixed.h>
#include <linux/err.h>
@@ -55,6 +57,9 @@ static int fixed_phy_update_regs(struct fixed_phy *fp)
bmcr |= BMCR_FULLDPLX;
switch (fp->status.speed) {
+ case 10000:
+ fp->regs[MDIO_STAT2] = MDIO_STAT2_DEVPRST_VAL;
+ break;
case 1000:
bmsr |= BMSR_ESTATEN;
bmcr |= BMCR_SPEED1000;
@@ -75,6 +80,9 @@ static int fixed_phy_update_regs(struct fixed_phy *fp)
}
} else {
switch (fp->status.speed) {
+ case 10000:
+ fp->regs[MDIO_STAT2] = MDIO_STAT2_DEVPRST_VAL;
+ break;
case 1000:
bmsr |= BMSR_ESTATEN;
bmcr |= BMCR_SPEED1000;
--
1.7.9.5
More information about the kernel-team
mailing list