phylib + mii + <phy>_parse_status
Hi,
I have done some experiments with phylib and Xilinx ethernet drivers and I found that mii code show different values for speed and duplex. I think that the main problem is that there are called miiphy_speed and miiphy_duplex functions instead of phy parsing functions.
I think that it will be the best to extend
struct phy_driver for
int (*parse_status)(struct phy_device *phydev);
and then reread phydev->speed or phydev->duplex instead of using generic code which does wrong things.
Then will be good to synchronize FULL/HALF and DUPLEX_FULL/DUPLEX_HALF.
miiphy.h
#define HALF 22
#define FULL 44
include/linux/ethtool.h
#define DUPLEX_HALF 0x00
#define DUPLEX_FULL 0x01
And of course speeds:miiphy.h
#define _1000BASET 1000 #define _100BASET 100 #define _10BASET 10
include/linux/ethtool.h
#define SPEED_10 10 #define SPEED_100 100 #define SPEED_1000 1000 #define SPEED_2500 2500 #define SPEED_10000 10000
Have someone looked at it? Any comments?
Thanks,
Michal
Signature · 4 lines
Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian
Quoted 17 lines · On Thursday, August 25, 2011 03:56:50 Michal Simek wrote:
Then will be good to synchronize FULL/HALF and DUPLEX_FULL/DUPLEX_HALF.
miiphy.h
#define HALF 22
#define FULL 44
include/linux/ethtool.h
#defineDUPLEX_HALF0x00
#defineDUPLEX_FULL0x01And of course speeds:
miiphy.h#define _1000BASET 1000 #define _100BASET 100 #define _10BASET 10
Quoted 8 lines
include/linux/ethtool.h#define SPEED_10 10 #define SPEED_100 100 #define SPEED_1000 1000 #define SPEED_2500 2500 #define SPEED_10000 10000Have someone looked at it? Any comments?
ive glanced at unification of these defines in the past and couldnt see any reason as to why it couldnt be done ... it just touched a bunch of drivers i had no way of testing, and didnt feel like embarking on another tree wide cleanup at that time. i can only do so many before i get bored ;).
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110825/9db0b3bf/attachment.pgp