Commit dbd061fc authored by Richard Cochran's avatar Richard Cochran Committed by Ben Hutchings

net: dp83640: fix broken calibration routine.

[ Upstream commit 397a253a ]

Currently, the calibration function that corrects the initial offsets
among multiple devices only works the first time.  If the function is
called more than once, the calibration fails and bogus offsets will be
programmed into the devices.

In a well hidden spot, the device documentation tells that trigger indexes
0 and 1 are special in allowing the TRIG_IF_LATE flag to actually work.

This patch fixes the issue by using one of the special triggers during the
recalibration method.
Signed-off-by: default avatarRichard Cochran <richardcochran@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent dfbbd2ee
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#define PSF_TX 0x1000 #define PSF_TX 0x1000
#define EXT_EVENT 1 #define EXT_EVENT 1
#define CAL_EVENT 7 #define CAL_EVENT 7
#define CAL_TRIGGER 7 #define CAL_TRIGGER 1
#define PER_TRIGGER 6 #define PER_TRIGGER 6
/* phyter seems to miss the mark by 16 ns */ /* phyter seems to miss the mark by 16 ns */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment