Am 2020-04-29 20:58, schrieb Florian Fainelli:
On 4/29/20 11:57 AM, Andrew Lunn wrote:
On Wed, Apr 29, 2020 at 06:16:05PM +0200, Michael Walle wrote:
Hi,
+enum {
+ ETHTOOL_A_CABLE_PAIR_0,
+ ETHTOOL_A_CABLE_PAIR_1,
+ ETHTOOL_A_CABLE_PAIR_2,
+ ETHTOOL_A_CABLE_PAIR_3,
+};
Do we really need this enum, couldn't we simply use a number
(possibly
with a sanity check of maximum value)?
They are not strictly required. But it helps with consistence. Are
the
pairs numbered 0, 1, 2, 3, or 1, 2, 3, 4?
OK, I'm not strictly opposed to it, it just felt a bit weird.
Speaking of the pairs. What is PAIR_0 and what is PAIR_3? Maybe
it is specified somewhere in a standard, but IMHO an example for
a normal TP cable would help to prevent wild growth amongst the
PHY drivers and would help to provide consistent reporting towards
the user space.
Hi Michael
Good question
Section 25.4.3 gives the pin out for 100BaseT. There is no pair
numbering, just transmit+, transmit- and receive+, receive- signals.
1000BaseT calls the signals BI_DA+, BI_DA-, BI_DB+, BI_DB-, BI_DC+,
BI_DC-, BI_DDA+, BI_DD-. Comparing the pinout 100BaseT would use
BI_DA+, BI_DA-, BI_DB+, BI_DB. But 1000BaseT does not really have
transmit and receive pairs due to Auto MDI-X.
BroadReach calls the one pair it has BI_DA+/BI_DA-.
Maybe it would be better to have:
enum {
ETHTOOL_A_CABLE_PAIR_A,
ETHTOOL_A_CABLE_PAIR_B,
ETHTOOL_A_CABLE_PAIR_C,
ETHTOOL_A_CABLE_PAIR_D,
};
Yes, that would be clearer IMHO. Broadcom PHYs tend to refer to pairs
A,
B, C and D in their datasheets.
Qualcomm Atheros calls them MDI[0], MDI[1], etc.. maybe mention
the corresponding pin on an RJ45 connector for reference?
-michael