Hello,
I'm currently in the process of updating the DP83867 driver to incorporate Time Domain Reflectometry (TDR) functionality. However, I've encountered an issue during testing. Regardless of how many times I run the test using 'ethtool --cable-test eno1', the results retrieved from the registers remain consistent, even after trying different cables.
Here's a snippet of the code I'm working with:
ret = phy_read(phydev, DP83867_TDR_PEAKS_LOC_8); if(ret < 0) return ret; printk("DP83867_TDR_PEAKS_LOC_8: %d", ret); matrix[0][0] = (ret & DP83867_TDR_PEAKS_LOC_8_D_0_MASK) >> DP83867_TDR_PEAKS_LOC_8_D_0_SHIFT; ret = phy_read(phydev, DP83867_TDR_PEAKS_LOC_9); if (ret < 0) return ret; printk("DP83867_TDR_PEAKS_LOC_9: %d", ret); matrix[1][0] = ret & DP83867_TDR_PEAKS_LOC_9_D_1_MASK; matrix[2][0] = (ret & DP83867_TDR_PEAKS_LOC_9_D_2_MASK) >> DP83867_TDR_PEAKS_LOC_9_D_2_SHIFT; ret = phy_read(phydev, DP83867_TDR_PEAKS_LOC_10); if (ret < 0) return ret;
Any insights or suggestions on resolving this issue would be greatly appreciated. Thank you in advance for your help.
kind regards,
Mart