Re: [RFC net-next 4/5] net: phy: Add support for IEEE standard test modes
From: Florian Fainelli
Date: Tue May 01 2018 - 16:51:28 EST
On 05/01/2018 01:07 PM, Woojung.Huh@xxxxxxxxxxxxx wrote:
> Hi Florian,
>
>> Not sure I completely understand your suggestion, do you mean that I
>> should break down the body of that function above such that there are
>> per-speed lower level functions? Something like the pseudo-code below:
>>
>> genphy_set_test() {
>> switch (mode) {
>> case PHY_STD_TEST_MODE_100BASET2_1:
>> ..
>> case PHY_STD_TEST_MODE_100BASET2_3:
>> return genphy_set_100baset2();
>>
>> case PHY_STD_TEST_MODE_1000BASET_1:
>> ..
>> case PHY_STD_TEST_MODE_1000BASET_4:
>> return genphy_set_1000baset();
>>
>> case PHY_STD_TEST_MODE_8021BWQCQ_1:
>> return genphy_set_100baset1();
>>
>> }
> Yes, I should write pseudo code. Sorry about confusion.
> User can override this function or expand to other modes.
Well, the way the code is structure is that if you call that function
with a test mode value that is not part of the standard set, it returns
-EOPNOTSUPP, so if your particular PHY driver wants to "overlay"
standard and non-standard modes, it can by using that hint.
This should work even if we have more standard test modes in the future
because the test modes are dynamically fetched by user-space using the
ETH_GSTRINGS ioctl().
Does that cover what you had in mind?
--
Florian