Thread (13 messages) 13 messages, 3 authors, 2005-01-17

Re: [RFC] Patch to Abstract Ethernet PHY support (using driver model)

From: Eugene Surovegin <hidden>
Date: 2005-01-06 07:02:48
Also in: netdev

On Thu, Dec 23, 2004 at 03:00:13PM -0600, Andy Fleming wrote:
quoted
Adds a Phy Abstraction Layer which allows ethernet controllers to 
manage their PHYs without knowing the details of how the particular 
PHY device operates.  This code steals heavily from BenH's  sungem 
driver, and got some stuff out of Jason McMullan's patch.
Some random notes from quick look at the code:

1) IMO if we can extract some info from the PHY using _standard_ 
registers we should use them, even if the PHY provides some custom 
ones. 

I suspect that _all_ XXX_read_status functions for different PHYs in 
your patch can be easily handled by generic IEEE 802.3 compliant code 
(you need to update genphy_read_status to properly handle GigE of 
course).

2) genphy can be changed to handle GigE speeds as well.

3) I think it's better for the genphy case to _detect_ PHY features 
instead of hard coding PHY_BASIC_FEATURES. In this case you can easily 
handle 10/100 and 10/100/1000 PHYs by genphy code.

4) Pause negotiation/advertising is completely missing.

5) PHY interrupt sharing looks broken. Although you request_irq using 
SA_SHIRQ flag, in the handler itself you don't detect whether this 
interrupt is for this PHY or not, and return IRQ_HANDLED. This will 
result in first registered PHY hijacking IRQs from other PHYs (or 
devices) sharing the same IRQ line.

--
Eugene
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help